/* Legacy/deprecated Learn/Journey world styling remains for the current app runtime.
   New learning design source of truth lives in development/ and uses Unit -> Sequence -> Concept -> Activity. */
.appShell{height:100dvh;display:grid;grid-template-rows:var(--header-h) minmax(0,1fr) var(--nav-h);background:transparent}.appHeader{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 max(18px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.72);background:rgba(248,251,255,.72);backdrop-filter:blur(22px);box-shadow:0 1px 0 rgba(31,41,51,.06);z-index:10}.brandLockup{display:flex;align-items:center;gap:12px;min-width:0}.brandMark{position:relative;width:58px;height:42px;flex:0 0 auto}.miniTile{position:absolute;display:grid;place-items:center;border:3px solid #000;border-radius:0;box-shadow:0 3px 0 rgba(0,0,0,.22), inset 0 2px 0 rgba(255,255,255,.18);font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-weight:700;line-height:1}.miniTile--x2{width:31px;height:31px;left:0;top:0;background:#4f80d4;color:#fff;font-size:14px}.miniTile--x{width:34px;height:18px;right:0;bottom:0;background:#3e9c4e;color:#fff;font-size:16px}.miniTile--one{width:18px;height:18px;left:22px;bottom:0;background:#f3ef4a;color:#000;font-size:14px}.brandTitle{font-weight:950;letter-spacing:-.03em}.brandSub{font-size:12px;color:var(--muted);margin-top:2px}.headerActions{display:flex;align-items:center;gap:8px}.appBack{display:none}.appShell[data-screen="board"] .appBack{display:inline-grid}.appMain{min-height:0;overflow:hidden}.screen--home{overflow:auto;padding:24px max(22px,env(safe-area-inset-left)) calc(32px + var(--nav-h))}.heroPanel{display:grid;grid-template-columns:minmax(0,1.1fr) 360px;gap:24px;align-items:stretch;max-width:1180px;margin:0 auto}.heroText{padding:38px;border-radius:var(--radius-xl);background:rgba(255,255,255,.68);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.86);backdrop-filter:blur(18px)}.heroText h1{font-size:clamp(34px,5vw,64px);line-height:.96;letter-spacing:-.06em;margin:0 0 18px}.heroCopy{font-size:18px;line-height:1.55;color:#56616e;max-width:660px}.heroActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.phonePreview{border-radius:40px;background:#1f2933;padding:14px;box-shadow:0 26px 70px rgba(31,41,51,.22);min-height:420px;position:relative}.previewNotch{width:96px;height:20px;border-radius:0 0 16px 16px;background:#111827;position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:2}.previewCard{height:100%;border-radius:30px;background:linear-gradient(180deg,#f8fbff,#eaf1f7);padding:52px 20px 20px;display:flex;flex-direction:column;gap:16px}.previewEquation{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-size:32px;font-weight:800;text-align:center}.previewBoard{flex:1;border-radius:26px;background:#f2f2f2;border:1px solid rgba(0,0,0,.18);display:flex;align-content:flex-start;justify-content:center;gap:10px;flex-wrap:wrap;padding:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.previewHint{padding:14px 16px;border-radius:20px;background:#e6f4ed;font-weight:800;font-size:14px}.sectionHeader{max-width:1180px;margin:28px auto 16px;display:flex;align-items:end;justify-content:space-between;gap:16px}.sectionHeader h2{margin:0;font-size:clamp(22px,3vw,34px);letter-spacing:-.04em}.sectionHeader--compact{margin-top:0}.modeGrid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.modeCard{min-height:190px;border:1px solid rgba(255,255,255,.86);border-radius:28px;background:rgba(255,255,255,.72);box-shadow:var(--soft-shadow);padding:20px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.modeCard::after{content:"";position:absolute;inset:auto -30px -60px auto;width:150px;height:150px;border-radius:50%;background:rgba(156,201,189,.24)}.modeIcon{width:52px;height:52px;border-radius:20px;background:rgba(156,201,189,.24);display:grid;place-items:center;font-size:23px}.modeCard h3{font-size:22px;margin:16px 0 8px;letter-spacing:-.035em}.modeCard p{color:#626d79;line-height:1.42;margin:0}.modeMeta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.chip{font-size:11px;font-weight:900;border:1px solid var(--line);padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.62)}.journeyPanel{max-width:1180px;margin:24px auto 0;padding:22px;border-radius:30px;background:rgba(255,255,255,.64);box-shadow:var(--soft-shadow);border:1px solid rgba(255,255,255,.86)}.journeySteps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.journeyStep{background:rgba(255,255,255,.66);border:1px solid var(--line);border-radius:22px;padding:18px}.journeyStep span{width:32px;height:32px;border-radius:12px;background:#1f2933;color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:12px}.journeyStep strong{display:block;margin-bottom:4px}.journeyStep p{margin:0;color:var(--muted);font-size:14px;line-height:1.35}.bottomNav{height:var(--nav-h);padding:8px max(14px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));display:none;grid-template-columns:repeat(4,1fr);gap:8px;background:rgba(248,251,255,.82);backdrop-filter:blur(20px);border-top:1px solid rgba(31,41,51,.08);z-index:20}.navItem{border:0;background:transparent;border-radius:18px;color:#667085;font-size:11px;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.navItem span{font-size:18px}.navItem.is-active{background:rgba(156,201,189,.22);color:#1f2933}.overlayRoot{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.overlayRoot[hidden]{display:none}.overlayBackdrop{position:absolute;inset:0;background:rgba(31,41,51,.34);backdrop-filter:blur(12px)}.overlayPanel{position:relative;width:min(620px,calc(100vw - 28px));max-height:min(720px,calc(100dvh - 28px));overflow:auto;border-radius:32px;background:rgba(248,251,255,.96);box-shadow:0 30px 90px rgba(31,41,51,.26);border:1px solid rgba(255,255,255,.86)}.overlayHeader{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line);background:rgba(248,251,255,.86);backdrop-filter:blur(18px);z-index:1}.overlayHeader h2{margin:0}.overlayMeta{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--muted);margin-bottom:4px}.overlayStack{padding:22px;display:grid;gap:14px}.overlayCard,.overlaySection{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.68);padding:18px}.overlayActions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:980px){.heroPanel{grid-template-columns:1fr}.phonePreview{display:none}.modeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.journeySteps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.bottomNav{display:grid}.appShell{grid-template-rows:var(--header-h) minmax(0,1fr) var(--nav-h)}.brandSub{display:none}.brandMark{width:48px;transform:scale(.88);transform-origin:left center}.screen--home{padding:16px 14px calc(22px + var(--nav-h))}.heroText{padding:24px;border-radius:28px}.heroCopy{font-size:15px}.modeGrid{grid-template-columns:1fr}.modeCard{min-height:154px}.journeySteps{grid-template-columns:1fr}.sectionHeader{align-items:start;flex-direction:column}.headerActions .pillBtn{display:none}}

/* v2.1.83 - TILES icon header mark. */
.brandMark{
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:12px !important;
  transform:none !important;
}

/* v3.0.0 build 210 - single-pass TILES polish. */
.welcomePrimaryBtn{
  border-radius:26px !important;
  box-shadow:0 16px 36px rgba(0,96,240,.26), inset 0 1px 0 rgba(255,255,255,.26) !important;
}
.welcomeSecondaryBtn{
  background:rgba(8,119,248,.08) !important;
  color:#0b62d8 !important;
  border:1px solid rgba(8,119,248,.14) !important;
}
.welcomeLoginPanel p,
.welcomeActions > p,
.v3Page p,
.homeQuickActions small,
.quickStartCard small,
.profileStatCard small,
.learnLessonCard small,
.quizChallengeCard small{
  font-weight:500 !important;
}
.screen--home{
  padding-top:0 !important;
}
.v3HomePage{
  width:min(1160px,100%) !important;
}
.homeDashboardHero{
  border-radius:0 0 42px 42px !important;
  min-height:clamp(430px,48vw,560px) !important;
  margin-inline:auto !important;
}
.homeGoalPanel{
  width:min(780px,100%) !important;
}
.homeGoalPanel article{
  min-height:122px !important;
  gap:18px !important;
}
.homeGoalPanel strong{
  font-size:16px !important;
  font-weight:850 !important;
}
.homeGoalPanel p{
  font-size:clamp(34px,4.5vw,52px) !important;
  white-space:nowrap;
}
.homeGoalPanel small{
  display:none !important;
}
.homeStreakPill strong{
  white-space:nowrap;
}
.dailyGoalRing{
  width:72px !important;
  height:72px !important;
}
.dailyGoalRing::after{
  inset:11px !important;
}
.homeQuickActions small{
  display:none !important;
}
.homeQuickActions{
  margin-top:-34px !important;
}
.homeQuickActions button{
  min-height:104px !important;
  padding:12px 8px !important;
  gap:7px !important;
}
.homeQuickActions .quickActionIcon{
  width:34px !important;
  height:34px !important;
}
.homeQuickActions .quickActionIcon svg{
  width:28px !important;
  height:28px !important;
}
.quickStartGrid{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
  gap:10px !important;
}
.quickStartCard{
  min-height:82px !important;
  padding:13px 42px 13px 14px !important;
  border-radius:19px !important;
  gap:4px !important;
}
.quickStartCard span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.20);
  font-size:16px !important;
}
.quickStartCard::after{
  right:14px !important;
  font-size:20px !important;
}
.quickStartCard small{
  font-size:12px !important;
  line-height:1.2 !important;
}
.learnTopicToggle{
  width:100%;
  border:0;
  background:transparent;
  color:var(--tiles-ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  text-align:left;
  padding:2px;
}
.learnTopicToggle span{
  display:grid;
  gap:4px;
}
.learnTopicToggle h2,
.learnTopicToggle p{
  margin:0;
}
.learnTopicToggle b{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(8,119,248,.10);
  color:#0b62d8;
  font-size:22px;
  line-height:1;
}
.learnTopicBlock.is-expanded .learnTopicToggle{
  margin-bottom:12px;
}
.learnLessonList[hidden]{
  display:none !important;
}
.profileHero{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:clamp(20px,3vw,30px);
  border-radius:32px;
  background:linear-gradient(145deg,#087cff,#0065eb);
  color:#fff;
  box-shadow:0 20px 46px rgba(0,94,232,.20);
}
.profileAvatar{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.38);
  font-size:36px;
  font-weight:950;
}
.profileHeroText{
  display:grid;
  gap:4px;
}
.profileHeroText .eyebrow,
.profileHeroText p{
  color:rgba(255,255,255,.82) !important;
}
.profileHeroText h1,
.profileHeroText p{
  margin:0;
}
.profileSettingsWrap{
  position:relative;
}
.profileSettingsBtn{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.32) !important;
}
.profileSettingsMenu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(360px,calc(100vw - 34px));
  max-height:min(620px,calc(100dvh - 140px));
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border-radius:24px;
  background:#fff;
  color:var(--tiles-ink);
  border:1px solid rgba(18,26,47,.10);
  box-shadow:0 24px 60px rgba(18,26,47,.22);
  z-index:80;
}
.profileSettingsMenu[hidden]{
  display:none !important;
}
.profileSettingsMenu button{
  min-height:92px;
  display:grid;
  align-content:start;
  gap:4px;
  border:1px solid rgba(18,26,47,.08);
  border-radius:18px;
  background:#f8fbff;
  color:var(--tiles-ink);
  padding:12px;
  text-align:left;
}
.profileSettingsMenu button span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(8,119,248,.11);
  color:#0b62d8;
  font-weight:950;
}
.profileSettingsMenu button small{
  color:var(--tiles-muted);
  font-weight:500;
}
.profileInfoPanel{
  border:1px solid var(--tiles-line);
  border-radius:28px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--tiles-soft-shadow);
  overflow:hidden;
}
.profileInfoPanel[hidden]{
  display:none !important;
}
.profileInfoPanel > header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid var(--tiles-line);
}
.profileInfoPanel h2{
  margin:0;
}
.profileInfoContent{
  max-height:min(68dvh,680px);
  overflow:auto;
  padding:18px;
}
.profileInfoDoc{
  display:grid;
  gap:12px;
  color:#2f3a49;
}
.profileInfoDoc h3{
  margin:14px 0 2px;
  color:#121a2f;
}
.profileInfoDoc p,
.profileInfoDoc li{
  margin:0;
  line-height:1.55;
  font-weight:500;
}
.profileInfoDoc ul{
  margin:0;
  padding-left:1.2rem;
}
.profileInfoIntro{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:22px;
  background:#f3f8ff;
}
.profileInfoIntro img{
  width:64px;
  height:64px;
  border-radius:18px;
}
.profileTermsDoc{
  max-width:840px;
}
.profileStatsGrid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
}
.profileStatCard{
  min-height:118px !important;
}
.activityDayGrid{
  grid-template-columns:repeat(7,minmax(16px,1fr)) !important;
  max-width:520px;
}
.activityDayCell{
  border-radius:7px !important;
}
.quizProgressPath{
  --quiz-path:0%;
  position:relative;
  display:grid;
  grid-template-columns:repeat(11,1fr);
  align-items:center;
  gap:0;
  margin:0 0 12px;
  padding:0 3px;
}
.quizProgressPath::before,
.quizProgressPathLine{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:50%;
  height:3px;
  border-radius:999px;
  background:rgba(18,26,47,.12);
  transform:translateY(-50%);
}
.quizProgressPathLine{
  right:auto;
  width:calc((100% - 20px) * var(--quiz-path) / 100);
  background:#0877f8;
  z-index:1;
}
.quizProgressNode{
  position:relative;
  z-index:2;
  justify-self:center;
  width:13px;
  height:13px;
  border-radius:999px;
  background:#fff;
  border:2px solid rgba(18,26,47,.16);
}
.quizProgressNode.is-complete,
.quizProgressNode.is-active{
  border-color:#0877f8;
  background:#0877f8;
}
.quizProgressNode.is-active{
  box-shadow:0 0 0 5px rgba(8,119,248,.12);
}
.quizOptionGrid--two{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.quizOptionGrid--compact2{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.quizOption{
  color:#111827 !important;
}
.quizOptionMath{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-size:1.18em;
  font-weight:800;
}
@media (max-width:760px){
  .screen--home{
    padding-inline:0 !important;
  }
  .v3HomePage{
    width:100% !important;
  }
  .homeDashboardHero{
    border-radius:0 0 34px 34px !important;
    padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right)) !important;
    min-height:430px !important;
  }
  .homeQuickActions,
  .v3Section,
  .homeDownloadCard,
  .homeSecondaryLinks,
  .homeFooter{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .homeGoalPanel article{
    min-height:94px !important;
    padding:14px 12px !important;
    gap:10px !important;
  }
  .homeGoalPanel p{
    font-size:24px !important;
  }
  .dailyGoalRing{
    width:50px !important;
    height:50px !important;
  }
  .dailyGoalRing::after{
    inset:8px !important;
  }
  .homeQuickActions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  .homeQuickActions button{
    min-height:86px !important;
  }
  .homeQuickActions strong{
    font-size:.78rem !important;
    line-height:1.05 !important;
  }
  .quickStartGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .profileHero{
    grid-template-columns:auto minmax(0,1fr) auto;
    border-radius:28px;
  }
  .profileAvatar{
    width:56px;
    height:56px;
    border-radius:20px;
    font-size:28px;
  }
  .profileSettingsMenu{
    position:fixed;
    left:14px;
    right:14px;
    top:auto;
    bottom:calc(var(--nav-h) + 14px);
    width:auto;
    max-height:min(520px,calc(100dvh - 170px));
  }
  .quizOptionGrid--two,
  .quizOptionGrid--compact2{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Board refinement: compact global actions and extensible settings panel. */
.appShell[data-screen="board"] .appHeader{
  gap:12px !important;
}
.appShell[data-screen="board"] .brandLockup{
  margin-right:auto !important;
}
.appShell[data-screen="board"] .headerActions{
  order:3 !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin-left:auto !important;
}
.appShell[data-screen="board"] .headerActions #installBtn{
  display:none !important;
}
.appShell[data-screen="board"] .boardHeaderActionBtn,
.appShell[data-screen="board"] .headerHomeBtn{
  appearance:none !important;
  display:inline-grid !important;
  place-items:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(18,26,47,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.86) !important;
  color:#172033 !important;
  box-shadow:0 7px 18px rgba(18,26,47,.08) !important;
  cursor:pointer !important;
}
.appShell[data-screen="board"] .boardHeaderActionBtn:hover{
  background:#fff !important;
  transform:translateY(-1px);
}
.appShell[data-screen="board"] .boardHeaderActionBtn--danger:hover{
  border-color:rgba(190,18,60,.22) !important;
  background:#fff1f1 !important;
  color:#be123c !important;
}
.appShell[data-screen="board"] .boardHeaderActionBtn:disabled{
  opacity:.38 !important;
  pointer-events:none !important;
}
.appShell[data-screen="board"] .boardHeaderActionBtn:focus-visible,
.appShell[data-screen="board"] .headerHomeBtn:focus-visible{
  outline:3px solid rgba(8,119,248,.28) !important;
  outline-offset:2px !important;
}
.appShell[data-screen="board"] .boardHeaderActionBtn svg,
.appShell[data-screen="board"] .boardHeaderActionBtn img,
.appShell[data-screen="board"] .headerHomeBtn img{
  display:block !important;
  width:21px !important;
  height:21px !important;
  object-fit:contain !important;
}
.appShell[data-screen="board"] .boardHeaderActionBtn svg{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.appShell[data-screen="board"] .headerHomeBtn{
  border-color:rgba(255,255,255,.42) !important;
  background:linear-gradient(145deg,#087cff,#0068f0) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(0,104,240,.18) !important;
}
.appShell[data-screen="board"] .headerHomeBtn img{
  filter:brightness(0) invert(1) !important;
}

.boardSettingsRoot{
  position:fixed;
  inset:0;
  z-index:130;
  display:grid;
  place-items:center;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
}
.boardSettingsRoot[hidden]{
  display:none !important;
}
.boardSettingsBackdrop{
  position:absolute;
  inset:0;
  background:rgba(31,41,51,.34);
  backdrop-filter:blur(10px);
}
.boardSettingsPanel{
  position:relative;
  width:min(580px,calc(100vw - 28px));
  max-height:min(620px,calc(100dvh - 28px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.84);
  border-radius:26px;
  background:rgba(248,251,255,.97);
  box-shadow:0 28px 80px rgba(31,41,51,.24);
}
.boardSettingsPanel:focus{
  outline:none;
}
.boardSettingsPanel > header{
  position:sticky;
  top:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid rgba(31,41,51,.10);
  background:rgba(248,251,255,.92);
  backdrop-filter:blur(16px);
}
.boardSettingsPanel h2,
.boardSettingsPanel h3,
.boardSettingsPanel p{
  margin:0;
}
.boardSettingsPanel h2{
  font-size:22px;
}
.boardSettingsContent{
  display:grid;
  gap:12px;
  min-height:0;
  padding:18px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.boardSettingsContent > section{
  padding:16px;
  border:1px solid rgba(31,41,51,.10);
  border-radius:18px;
  background:rgba(255,255,255,.66);
}
.boardSettingsContent h3{
  margin-bottom:6px;
  font-size:15px;
}
.boardSettingsContent p{
  color:#667085;
  font-size:13px;
  line-height:1.45;
}
.boardSettingsContent dl{
  display:grid;
  gap:8px;
  margin:16px 0 0;
}
.boardSettingsContent dl > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:8px;
  border-top:1px solid rgba(31,41,51,.08);
}
.boardSettingsContent dt{
  color:#667085;
  font-size:12px;
  font-weight:750;
}
.boardSettingsContent dd{
  margin:0;
  color:#172033;
  font-size:13px;
  font-weight:850;
}
.boardSettingsFuture{
  border-style:dashed !important;
}

@media (max-width:760px){
  .appShell[data-screen="board"] .appHeader{
    gap:6px !important;
    padding-inline:8px !important;
  }
  .appShell[data-screen="board"] .brandLockup{
    height:40px !important;
    padding:6px 10px !important;
  }
  .appShell[data-screen="board"] .brandHeaderLogo{
    height:24px !important;
    max-width:108px !important;
  }
  .appShell[data-screen="board"] .headerActions{
    gap:4px !important;
  }
  .appShell[data-screen="board"] .boardHeaderActionBtn,
  .appShell[data-screen="board"] .headerHomeBtn{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }
  .appShell[data-screen="board"] .boardHeaderActionBtn svg,
  .appShell[data-screen="board"] .boardHeaderActionBtn img,
  .appShell[data-screen="board"] .headerHomeBtn img{
    width:19px !important;
    height:19px !important;
  }
  .boardSettingsRoot{
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  }
  .boardSettingsPanel{
    width:100%;
    max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));
    border-radius:20px;
  }
  .boardSettingsPanel > header{
    flex:0 0 auto;
    padding:14px 16px;
  }
  .boardSettingsContent{
    padding:12px;
  }
  .boardSettingsContent > section{
    padding:14px;
  }
  .boardSettingsCopyright{
    flex-direction:column;
    justify-content:center;
    gap:7px;
    text-align:center;
    white-space:normal;
  }
  .boardSettingsCopyright img{
    height:28px;
  }
  .boardSettingsLegalLinks{
    justify-content:center;
  }
}

@media (max-width:390px){
  .appShell[data-screen="board"] .brandLockup{
    padding-inline:8px !important;
  }
  .appShell[data-screen="board"] .brandHeaderLogo{
    max-width:92px !important;
  }
  .appShell[data-screen="board"] .boardHeaderActionBtn,
  .appShell[data-screen="board"] .headerHomeBtn{
    width:35px !important;
    height:35px !important;
    min-width:35px !important;
  }
}

/* Header controls stay icon-only; these styled tooltips avoid duplicate native labels. */
.appShell[data-screen="board"] [data-header-tooltip]{
  position:relative !important;
}
.appShell[data-screen="board"] [data-header-tooltip]::after{
  position:absolute;
  top:calc(100% + 9px);
  left:50%;
  z-index:150;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:#172033;
  box-shadow:0 8px 22px rgba(18,26,47,.18);
  color:#fff;
  content:attr(data-header-tooltip);
  font:750 11px/1.2 var(--font-body,system-ui,sans-serif);
  letter-spacing:.01em;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-4px);
  transition:opacity 120ms ease,transform 120ms ease;
  white-space:nowrap;
}
.appShell[data-screen="board"] [data-header-tooltip]:hover::after,
.appShell[data-screen="board"] [data-header-tooltip]:focus-visible::after{
  opacity:1;
  transform:translate(-50%,0);
}
.boardSettingsCopyright{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:16px !important;
  padding-top:12px;
  border-top:1px solid rgba(31,41,51,.08);
  color:#475467 !important;
  font-size:clamp(9px,2.4vw,12px) !important;
  font-weight:700;
  white-space:nowrap;
}
.boardSettingsCopyright img{
  flex:0 0 auto;
  display:block;
  width:auto;
  height:24px;
  object-fit:contain;
}
.boardSettingsCopyright span{
  min-width:0;
}
.boardSettingsLegalLinks{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:10px;
}
.boardSettingsLegalLinks a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#0068f0;
  font-size:12px;
  font-weight:800;
  text-underline-offset:3px;
}
.boardSettingsLegalLinks a img{
  display:block;
  width:16px;
  height:16px;
  flex:0 0 16px;
}
.boardSettingsLegalLinks a:focus-visible{
  border-radius:4px;
  outline:3px solid rgba(8,119,248,.24);
  outline-offset:2px;
}
@media (max-width:1060px){
  .boardSettingsCopyright{
    flex-direction:column;
    justify-content:center;
    gap:7px;
    text-align:center;
    white-space:normal;
  }
  .boardSettingsCopyright img{
    height:28px;
  }
  .boardSettingsLegalLinks{
    justify-content:center;
  }
}

/* The standalone query reuses the canonical board without exposing app-only screens. */
html[data-standalone-board="true"],
html[data-standalone-board="true"] body{
  height:100%;
  overflow:hidden;
}
html[data-standalone-board="true"] .welcomeScreen,
html[data-standalone-board="true"] .desktopTopNav,
html[data-standalone-board="true"] .bottomNav{
  display:none !important;
}

/* v3.1.1 build 239 - quiz pages keep their own clean surface; world images belong to Learn/Practice only. */
.screen--quiz-home{
  background:#f7f9fc !important;
}
.screen--quiz-home::before,
.screen--quiz-home::after{
  content:none !important;
  display:none !important;
  background-image:none !important;
}
.brandIcon{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
@media (max-width:760px){
  .brandMark{
    width:40px !important;
    height:40px !important;
  }
}

/* v2.1.95 - supplied TILES header, calmer home page and balanced install visuals. */
.brandHeaderLogo{
  display:block;
  width:min(360px,42vw);
  max-width:100%;
  height:42px;
  object-fit:contain;
  object-position:left center;
}
.brandLockup{
  min-width:0;
}
.homeHeader{
  position:relative;
  justify-content:center !important;
}
.homeHeaderLogo{
  width:min(440px,68vw) !important;
  height:auto !important;
  max-height:82px;
  object-fit:contain;
}
.homeHeaderActions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}
.homeHero span{
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}
.homePrimaryActions{
  width:min(980px,100%) !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(18px,2.4vw,26px) !important;
  margin-top:clamp(32px,5vw,58px) !important;
}
.homeActionCard{
  min-height:250px !important;
}
.homeActionCard--quiz,
.homeActionCard--transform{
  grid-column:auto !important;
}
.homeActionCard--transform::after{
  background:#f1c84b;
}
.homeFeatureSummary,
.homeDownloadCard{
  margin-top:clamp(28px,5vw,54px) !important;
}
.homeFeatureSummary{
  text-align:left;
}
.homeDownloadCard img{
  border-radius:16px;
  box-shadow:0 10px 22px rgba(31,41,51,.14);
}
.homeFooter{
  flex-direction:column;
  gap:6px !important;
  opacity:.88;
}
.homeFooterLogo{
  display:block;
  width:auto;
  height:26px;
  object-fit:contain;
  opacity:.72;
  margin-bottom:4px;
}
.homeFooter span + span::before{
  content:"" !important;
  margin:0 !important;
}
.installHelpHero img{
  border-radius:18px;
  box-shadow:0 10px 24px rgba(31,41,51,.14);
}
.onboardingInstallVisual{
  width:min(360px,78vw) !important;
  height:250px !important;
  grid-template-columns:1fr !important;
  gap:10px;
}
.installAppTile{
  border-radius:24px;
  overflow:hidden;
}
.installAppTile img{
  width:92px !important;
  height:92px !important;
  border-radius:22px;
}
.installDownloadCue{
  position:static !important;
  justify-self:center;
  width:auto !important;
  min-height:42px;
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border-radius:999px !important;
  background:#1f2933;
  color:#fff;
  font:900 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  box-shadow:0 14px 28px rgba(31,41,51,.16);
}
.installDownloadCue span{
  font-size:20px;
  line-height:1;
}
@media (prefers-reduced-motion:no-preference){
  .homeHero,
  .homePrimaryActions,
  .homeFeatureSummary,
  .homeDownloadCard,
  .homeSecondaryLinks,
  .homeFooter{
    animation:homeSectionReveal .64s cubic-bezier(.2,.8,.2,1) both;
  }
  .homePrimaryActions{animation-delay:.05s;}
  .homeFeatureSummary{animation-delay:.10s;}
  .homeDownloadCard{animation-delay:.15s;}
  .homeSecondaryLinks{animation-delay:.20s;}
  .homeFooter{animation-delay:.24s;}
}
@keyframes homeSectionReveal{
  from{opacity:0;transform:translateY(18px) scale(.975);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@media (max-width:900px){
  .homePrimaryActions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .homeActionCard--quiz,
  .homeActionCard--transform{
    grid-column:auto !important;
  }
}
@media (max-width:760px){
  .brandHeaderLogo{
    width:min(238px,62vw);
    height:34px;
  }
  .homeHeader{
    min-height:64px !important;
    justify-content:center !important;
  }
  .homeHeaderLogo{
    width:min(315px,72vw) !important;
    max-height:66px;
  }
  .homeHeaderActions{
    position:static;
    transform:none;
    width:100%;
    justify-content:center;
    margin-top:10px;
  }
  .homeHeader{
    flex-direction:column;
    gap:8px;
  }
  .homeHero{
    text-align:center !important;
    margin-left:auto;
    margin-right:auto;
  }
  .homeHero .eyebrow{
    justify-content:center !important;
  }
  .homeHero p{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .homePrimaryActions{
    grid-template-columns:1fr !important;
    justify-items:center;
  }
  .homeActionCard{
    width:min(420px,100%);
    text-align:center;
    justify-items:center;
  }
  .homeFeatureSummary,
  .homeDownloadCard{
    width:min(440px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center;
    justify-items:center;
  }
  .homeFeatureSummary{
    align-items:center !important;
  }
  .homeFeatureChips{
    justify-content:center !important;
  }
  .homeDownloadCard{
    grid-template-columns:1fr !important;
  }
  .homeDownloadCard img{
    justify-self:center;
  }
}

@media (max-width:1060px){
  .bottomNav{display:grid}
  .appShell{grid-template-rows:var(--header-h) minmax(0,1fr) var(--nav-h)}
}

/* v2.1.96 - v3 stage-one welcome screen and primary destinations. */
.welcomeScreen{
  position:fixed;
  inset:0;
  z-index:260;
  min-height:100dvh;
  display:grid;
  grid-template-rows:minmax(390px,54vh) 1fr;
  overflow:auto;
  background:#fff;
  color:#101828;
  transition:opacity .28s ease, visibility .28s ease;
}
.welcomeScreen.is-dismissed{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.welcomeHero{
  position:relative;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:clamp(18px,3.5vh,34px);
  padding:clamp(52px,8vh,96px) 24px 128px;
  overflow:hidden;
  text-align:center;
  background:linear-gradient(145deg,#0982ff 0%,#0064f1 56%,#0059de 100%);
}
.welcomeLogo{
  width:min(450px,72vw);
  height:auto;
  max-height:118px;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.16));
}
.welcomeCopy{
  display:grid;
  gap:14px;
  justify-items:center;
  color:#fff;
}
.welcomeCopy h1{
  margin:0;
  max-width:720px;
  font-size:clamp(34px,6vw,68px);
  line-height:1.02;
  letter-spacing:-.05em;
  font-weight:950;
}
.welcomeCopy p{
  margin:0;
  max-width:560px;
  color:rgba(255,255,255,.86);
  font-size:clamp(18px,2.4vw,28px);
  line-height:1.35;
  font-weight:650;
}
.welcomeWave{
  position:absolute;
  left:0;
  right:0;
  top:calc(54vh - 96px);
  z-index:261;
  height:132px;
  pointer-events:none;
}
.welcomeWave svg{
  display:block;
  width:100%;
  height:100%;
}
.welcomeWave path{
  fill:#fff;
}
.welcomeTiles{
  position:relative;
  z-index:262;
  width:min(760px,92vw);
  min-height:260px;
  margin:clamp(-68px,-4vw,-34px) auto 0;
  pointer-events:none;
}
.welcomeTile{
  position:absolute;
  display:grid;
  place-items:center;
  border:0;
  border-radius:16px;
  box-shadow:0 12px 22px rgba(31,41,51,.18), inset 0 3px 0 rgba(255,255,255,.22);
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-weight:900;
  user-select:none;
}
.welcomeTile--x2{
  left:7%;
  top:0;
  width:178px;
  height:178px;
  background:#1478ec;
  color:#fff;
  font-size:58px;
  transform:rotate(-5deg);
}
.welcomeTile--x{
  left:46%;
  top:6px;
  width:76px;
  height:208px;
  background:#35ac43;
  color:#fff;
  font-size:54px;
  transform:rotate(-4deg);
}
.welcomeTile--negX{
  right:10%;
  top:64px;
  width:112px;
  height:96px;
  background:#e93a35;
  color:#fff;
  font-size:38px;
  transform:rotate(10deg);
}
.welcomeTile--one,
.welcomeTile--oneB,
.welcomeTile--negOne{
  top:202px;
  width:78px;
  height:78px;
  font-size:40px;
}
.welcomeTile--one{
  left:18%;
  background:#ffd315;
  color:#1f2933;
  transform:rotate(-6deg);
}
.welcomeTile--oneB{
  left:34%;
  background:#ffd315;
  color:#1f2933;
  transform:rotate(2deg);
}
.welcomeTile--negOne{
  right:16%;
  background:#e93a35;
  color:#fff;
  transform:rotate(1deg);
}
.welcomeDot{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.welcomeDot--blue{
  left:8%;
  bottom:48px;
  width:18px;
  height:18px;
  background:#1478ec;
}
.welcomeDot--green{
  right:11%;
  bottom:105px;
  width:18px;
  height:18px;
  background:#55c95b;
}
.welcomeDot--ring{
  left:10%;
  bottom:8px;
  width:18px;
  height:18px;
  border:4px solid #1478ec;
}
.welcomeActions{
  position:relative;
  z-index:263;
  display:grid;
  justify-items:center;
  gap:18px;
  width:min(660px,calc(100vw - 48px));
  margin:clamp(18px,3vh,36px) auto 50px;
}
.welcomePrimaryBtn{
  width:100%;
  min-height:68px;
  border:0;
  border-radius:24px;
  background:linear-gradient(180deg,#0879ff,#0062f0);
  color:#fff;
  box-shadow:0 16px 34px rgba(0,96,240,.28);
  font-size:clamp(19px,2.4vw,25px);
  font-weight:900;
  letter-spacing:-.02em;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
}
.welcomePrimaryBtn span{
  font-size:1.3em;
}
.welcomePrimaryBtn:hover,
.welcomePrimaryBtn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 20px 42px rgba(0,96,240,.34);
}
.welcomeActions p{
  margin:0;
  color:#5d6674;
  font-weight:800;
}
.desktopTopNav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
}
.topNavItem{
  border:1px solid transparent;
  border-radius:999px;
  min-height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:transparent;
  color:#5e6875;
  font-weight:900;
  font-size:13px;
}
.topNavItem span{
  font-size:16px;
}
.topNavItem:hover,
.topNavItem:focus-visible{
  background:rgba(255,255,255,.72);
  border-color:rgba(31,41,51,.10);
}
.topNavItem.is-active{
  background:#1f2933;
  color:#fff;
  box-shadow:0 10px 22px rgba(31,41,51,.12);
}
.bottomNav{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:4px !important;
  padding-left:max(8px,env(safe-area-inset-left)) !important;
  padding-right:max(8px,env(safe-area-inset-right)) !important;
}
.navItem{
  min-width:0;
  border-radius:16px !important;
  font-size:10.5px !important;
}
.navItem span{
  font-size:18px !important;
}
.screen--learn,
.screen--profile{
  overflow:auto;
  padding:clamp(22px,4vw,46px) max(22px,env(safe-area-inset-left)) calc(40px + var(--nav-h));
}
.destinationPage{
  width:min(980px,100%);
  margin:0 auto;
  display:grid;
  gap:22px;
  text-align:center;
}
.destinationPage h1{
  margin:0;
  font-size:clamp(34px,5vw,58px);
  line-height:1;
  letter-spacing:-.055em;
}
.destinationPage > p{
  max-width:680px;
  margin:0 auto;
  color:#626d79;
  font-size:clamp(16px,2vw,19px);
  line-height:1.5;
}
.destinationGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:12px;
}
.destinationCard{
  min-height:210px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:28px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--soft-shadow);
  padding:22px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:12px;
  text-align:center;
  color:#1f2933;
}
.destinationCard span{
  width:54px;
  height:54px;
  border-radius:20px;
  background:rgba(79,128,212,.12);
  display:grid;
  place-items:center;
  font-size:26px;
  font-weight:950;
}
.destinationCard strong{
  font-size:21px;
}
.destinationCard small{
  color:#626d79;
  font-weight:750;
  line-height:1.35;
}
.destinationCard:hover,
.destinationCard:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(79,128,212,.28);
  box-shadow:0 18px 38px rgba(31,41,51,.12);
}
.profileSummaryGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:10px;
}
.profileSummaryGrid article{
  border:1px solid rgba(255,255,255,.86);
  border-radius:24px;
  background:rgba(255,255,255,.70);
  box-shadow:var(--soft-shadow);
  padding:18px;
  display:grid;
  gap:6px;
}
.profileSummaryGrid span{
  color:#667085;
  font-size:14px;
  font-weight:750;
}
@media (min-width:1061px){
  .appHeader{
    padding-inline:clamp(18px,3vw,34px);
  }
}
@media (max-width:1060px){
  .desktopTopNav{
    display:none;
  }
  .welcomeScreen{
    grid-template-rows:minmax(380px,52vh) 1fr;
  }
  .destinationGrid,
  .profileSummaryGrid{
    grid-template-columns:1fr;
    max-width:520px;
    justify-self:center;
    width:100%;
  }
}
@media (max-width:760px){
  .welcomeHero{
    padding-top:max(46px,calc(24px + env(safe-area-inset-top)));
    padding-bottom:108px;
  }
  .welcomeLogo{
    width:min(330px,74vw);
    max-height:88px;
  }
  .welcomeCopy h1{
    font-size:40px;
  }
  .welcomeCopy p{
    font-size:20px;
    max-width:320px;
  }
  .welcomeWave{
    top:calc(52vh - 78px);
    height:108px;
  }
  .welcomeTiles{
    min-height:250px;
    width:min(390px,92vw);
    margin-top:-48px;
  }
  .welcomeTile{
    border-radius:12px;
  }
  .welcomeTile--x2{
    left:2%;
    width:138px;
    height:138px;
    font-size:44px;
  }
  .welcomeTile--x{
    left:49%;
    width:58px;
    height:162px;
    font-size:42px;
  }
  .welcomeTile--negX{
    right:0;
    top:76px;
    width:88px;
    height:74px;
    font-size:30px;
  }
  .welcomeTile--one,
  .welcomeTile--oneB,
  .welcomeTile--negOne{
    top:170px;
    width:64px;
    height:64px;
    font-size:32px;
  }
  .welcomeTile--one{left:5%;}
  .welcomeTile--oneB{left:31%;}
  .welcomeTile--negOne{right:6%;}
  .welcomeActions{
    width:min(340px,calc(100vw - 48px));
    margin-top:16px;
  }
  .welcomePrimaryBtn{
    min-height:60px;
    border-radius:20px;
  }
}

/* v2.1.42 - no reserved bottom nav row on desktop. */
@media (min-width:1061px){
  .appShell{grid-template-rows:var(--header-h) minmax(0,1fr) 0 !important;}
  .bottomNav{display:none !important;height:0 !important;padding:0 !important;border:0 !important;overflow:hidden !important;}
  .screen--home{padding-bottom:32px !important;}
}

/* v2.1.61 - installed iPhone safe-area fit. */
@supports (padding: max(0px)){
  @media (max-width:1060px){
    .appShell{
      height:100vh;
      height:100dvh;
      min-height:-webkit-fill-available;
      padding-top:env(safe-area-inset-top);
      grid-template-rows:var(--header-h) minmax(0,1fr) var(--nav-h) !important;
    }
    .appHeader{
      padding-left:max(12px,env(safe-area-inset-left));
      padding-right:max(12px,env(safe-area-inset-right));
    }
    .bottomNav{
      padding-left:max(10px,env(safe-area-inset-left));
      padding-right:max(10px,env(safe-area-inset-right));
      padding-bottom:max(8px,env(safe-area-inset-bottom));
    }
  }
}

/* v2.1.65 - keep the phone nav size, only lift the button faces slightly. */
@media (max-width:760px){
  .bottomNav{
    align-items:center;
  }
  .navItem{
    transform:translateY(-3px);
  }
}

/* v2.1.68 - compact Modes is a real page, not an overlay. */
.screen--compact-modes{
  display:none;
  min-height:0;
  overflow:auto;
  padding:18px max(16px,env(safe-area-inset-left)) calc(24px + var(--nav-h));
}
.screen--compact-modes.is-active{
  display:block;
}
.compactModesPage{
  max-width:860px;
  margin:0 auto;
  display:grid;
  gap:16px;
}
.compactModesHeader{
  padding:20px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:26px;
  background:rgba(255,255,255,.70);
  box-shadow:var(--soft-shadow);
}
.compactModesHeader h1{
  margin:2px 0 6px;
  font-size:clamp(30px,8vw,46px);
  line-height:1;
  letter-spacing:-.045em;
}
.compactModesHeader p:last-child{
  margin:0;
  color:#626d79;
  font-weight:750;
}
.compactModeGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.compactModeCard{
  appearance:none;
  min-height:148px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:24px;
  background:rgba(255,255,255,.74);
  box-shadow:var(--soft-shadow);
  padding:16px;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  color:#1f2933;
}
.compactModeIcon{
  width:52px;
  height:52px;
  border-radius:18px;
  background:rgba(156,201,189,.28);
  display:grid;
  place-items:center;
  font-size:28px;
  font-weight:950;
}
.compactModeCard h3{
  margin:0;
  font-size:18px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.compactModeCard p{
  margin:0;
  color:#626d79;
  font-size:12px;
  line-height:1.3;
}
@media (min-width:761px) and (max-width:1060px){
  .compactModeGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .compactModeCard{
    min-height:166px;
  }
}

/* v2.1.69 - compact information pages replace modal overlays. */
.screen--compact-overlay{
  display:none;
  min-height:0;
  overflow:auto;
  padding:14px max(14px,env(safe-area-inset-left)) calc(24px + var(--nav-h));
}
.screen--compact-overlay.is-active{
  display:block;
}
.compactOverlayPage{
  max-width:920px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.compactOverlayHeader{
  position:sticky;
  top:0;
  z-index:4;
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:26px;
  background:rgba(248,251,255,.92);
  box-shadow:var(--soft-shadow);
  backdrop-filter:blur(18px);
}
.compactOverlayTopLine{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.compactOverlayTopLine .iconBtn{
  flex:0 0 auto;
}
.compactOverlayButtonRow{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.compactOverlayProductBadge{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  min-width:0;
  padding:6px 10px;
  border:1px solid rgba(31,41,51,.10);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#4b5563;
  font:850 12px/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.compactOverlayProductBadge img{
  width:24px;
  height:26px;
  object-fit:contain;
  flex:0 0 auto;
}
.compactOverlayProductBadge span{
  min-width:0;
  white-space:normal;
  overflow-wrap:normal;
}
.compactOverlayTitleBlock h1{
  margin:0;
  font-size:clamp(30px,7vw,44px);
  line-height:1;
  letter-spacing:-.045em;
}
.compactOverlayTabs{
  min-width:0;
  justify-content:flex-start;
  flex-wrap:nowrap;
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:none;
}
.compactOverlayTabs::-webkit-scrollbar{
  display:none;
}
.compactOverlayContent{
  display:grid;
  gap:12px;
  overflow:visible !important;
  padding:0 0 18px !important;
}
.compactOverlayContent .overlayScrollEndSpacer{
  height:8px;
  min-height:8px;
}
.screen--compact-overlay[data-page="about"] .aboutBrickColumns,
.screen--compact-overlay[data-page="licence"] .licenceBrickColumns{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
.screen--compact-overlay[data-page="about"] .aboutBrickColumn,
.screen--compact-overlay[data-page="licence"] .licenceBrickColumn{
  display:grid;
  gap:12px;
}
@media (min-width:761px) and (max-width:1060px){
  .screen--compact-overlay[data-page="about"] .aboutBrickColumns{
    grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  }
  .screen--compact-overlay[data-page="licence"] .licenceBrickColumns{
    grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  }
  .screen--compact-overlay[data-page="about"] .aboutBrickColumns .overlayFooterNote,
  .screen--compact-overlay[data-page="about"] .aboutBrickColumns .overlayScrollEndSpacer,
  .screen--compact-overlay[data-page="about"] .aboutBrickColumns .compactProductFooter,
  .screen--compact-overlay[data-page="licence"] .licenceBrickColumns .overlayScrollEndSpacer,
  .screen--compact-overlay[data-page="licence"] .licenceBrickColumns .compactProductFooter{
    grid-column:1 / -1;
  }
}
@media (max-width:430px){
  .compactOverlayHeader{
    border-radius:22px;
    padding:12px;
  }
  .compactOverlayButtonRow{
    align-items:flex-start;
    flex-direction:column;
  }
  .compactOverlayTabs{
    width:100%;
  }
  .compactOverlayProductBadge{
    width:100%;
    border-radius:18px;
    align-items:center;
  }
  .compactOverlayProductBadge span{
    font-size:11px;
  }
}

/* v2.1.78 - first-run app tour containment and refined compact product footer. */
.compactProductFooter{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:min(220px,100%);
  justify-self:center;
  margin:0 auto 14px;
  padding:10px 12px 8px;
  text-align:center;
  color:#4b5563;
}
.compactProductFooter .productCopyrightLine{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.compactProductFooter .productCopyrightLine img{
  width:auto;
  height:22px;
  object-fit:contain;
  display:block;
  opacity:.95;
}
.compactProductFooter strong{
  letter-spacing:.01em;
  font:850 11.5px/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.compactProductFooter .productCopyright{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0 4px;
  color:#667085;
  font:700 10.5px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.onboardingRoot{
  position:fixed;
  inset:0;
  z-index:180;
  display:grid;
  place-items:center;
  padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  background:linear-gradient(135deg,rgba(248,251,255,.92),rgba(238,244,255,.86));
  backdrop-filter:blur(18px);
}
.onboardingRoot[hidden]{
  display:none;
}
.onboardingPanel{
  position:relative;
  width:min(960px,100%);
  min-height:min(650px,calc(100dvh - 36px));
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.88);
  border-radius:34px;
  background:rgba(248,251,255,.96);
  box-shadow:0 32px 90px rgba(31,41,51,.22);
}
.onboardingSkip{
  position:absolute;
  right:18px;
  top:18px;
  z-index:3;
  appearance:none;
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(31,41,51,.12);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#4b5563;
  font:850 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-shadow:0 8px 18px rgba(31,41,51,.08);
}
.onboardingSlides{
  position:relative;
  min-height:0;
}
.onboardingSlide{
  display:none;
  min-height:100%;
  padding:64px clamp(24px,6vw,76px) 30px;
  align-content:center;
  justify-items:center;
  gap:16px;
  text-align:center;
}
.onboardingSlide.is-active{
  display:grid;
}
.onboardingSlide h1{
  width:min(680px,100%);
  margin:0;
  color:#111827;
  font-size:clamp(34px,6vw,66px);
  line-height:.98;
}
.onboardingSlide p:not(.eyebrow){
  width:min(590px,100%);
  margin:0;
  color:#5b6572;
  font-size:clamp(16px,2vw,20px);
  line-height:1.48;
  font-weight:720;
}
.onboardingTileScene{
  position:relative;
  width:min(360px,78vw);
  height:260px;
  margin-bottom:8px;
}
.tourTile,
.tourMockTile{
  display:grid;
  place-items:center;
  border:3px solid #111;
  border-radius:9px;
  box-shadow:0 12px 22px rgba(31,41,51,.14), inset 0 2px 0 rgba(255,255,255,.24);
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-weight:700;
  line-height:1;
}
.tourTile{
  position:absolute;
}
.tourTile--x2{
  left:52px;
  top:18px;
  width:154px;
  height:154px;
  background:#4f80d4;
  color:#fff;
  font-size:46px;
  transform:rotate(-8deg);
}
.tourTile--x{
  right:58px;
  top:44px;
  width:46px;
  height:154px;
  background:#3e9c4e;
  color:#fff;
  font-size:38px;
  transform:rotate(9deg);
}
.tourTile--neg{
  left:96px;
  bottom:22px;
  width:54px;
  height:54px;
  background:#eaa3a3;
  color:#111;
  font-size:28px;
  transform:rotate(-6deg);
}
.tourTile--one{
  right:112px;
  bottom:10px;
  width:50px;
  height:50px;
  background:#f3df52;
  color:#1f2933;
  font-size:28px;
  transform:rotate(10deg);
}
.onboardingJourneyCards{
  width:min(720px,100%);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:10px;
}
.onboardingJourneyCards div{
  min-height:138px;
  display:grid;
  align-content:start;
  gap:7px;
  padding:16px;
  border:1px solid rgba(31,41,51,.10);
  border-radius:22px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--soft-shadow);
  text-align:left;
}
.onboardingJourneyCards div:nth-child(1){
  background:rgba(238,244,255,.76);
  border-color:rgba(79,128,212,.18);
}
.onboardingJourneyCards div:nth-child(2){
  background:rgba(235,249,237,.76);
  border-color:rgba(62,156,78,.18);
}
.onboardingJourneyCards div:nth-child(3){
  background:rgba(232,244,255,.78);
  border-color:rgba(188,151,20,.16);
}
.onboardingJourneyCards div:nth-child(4){
  background:rgba(255,239,239,.76);
  border-color:rgba(204,63,63,.14);
}
.onboardingJourneyCards span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#1f2933;
  color:#fff;
  font:950 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.onboardingJourneyCards strong{
  color:#111827;
  font-size:18px;
}
.onboardingJourneyCards p{
  width:auto !important;
  color:#626d79 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}
.tourBoardMock{
  width:min(660px,100%);
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);
  gap:14px;
  padding:14px;
  margin-bottom:8px;
  border:1px solid rgba(31,41,51,.10);
  border-radius:28px;
  background:rgba(255,255,255,.70);
  box-shadow:var(--soft-shadow);
}
.tourEquationCard{
  container-type:inline-size;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:12px;
  min-width:0;
  min-height:250px;
  padding:18px;
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(248,251,255,.95),rgba(238,244,255,.76));
  border:1px solid rgba(31,41,51,.10);
}
.tourEquationCard .tourEquationWorking{
  width:max-content;
  max-width:100%;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:max-content max-content max-content max-content;
  grid-template-rows:auto auto;
  column-gap:clamp(6px,5cqw,12px);
  row-gap:3px;
  justify-items:center;
  align-items:center;
  justify-content:center;
  margin-inline:auto;
  padding:12px clamp(8px,5cqw,16px) 10px;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 24px rgba(31,41,51,.10);
  color:#111827;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.tourEquationTerm{
  display:block;
  font-size:clamp(22px,18cqw,42px);
  font-weight:700;
  line-height:1;
}
.tourEquationTerm--x{grid-column:1;grid-row:1;}
.tourEquationTerm--one{grid-column:2;grid-row:1;}
.tourEquationTerm--equals{grid-column:3;grid-row:1;}
.tourEquationTerm--five{grid-column:4;grid-row:1;}
.tourEquationMinus{
  display:block;
  color:#b35a5a;
  font:700 clamp(22px,18cqw,42px)/1 "Cambria Math","STIX Two Math","Times New Roman",serif;
  text-align:right;
  justify-self:end;
  min-width:0;
}
.tourEquationMinus--left{grid-column:2;grid-row:2;}
.tourEquationMinus--right{grid-column:4;grid-row:2;}
.tourEquationCard small{
  max-width:170px;
  color:#626d79;
  font:800 13px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tourMockBoard{
  container-type:inline-size;
  position:relative;
  width:min(100%,372px);
  justify-self:center;
  min-width:0;
  min-height:250px;
  overflow:hidden;
  border:1px solid rgba(31,41,51,.12);
  border-radius:22px;
  background:#f3f4f2;
}
.tourMockTile{
  position:absolute;
}
.tourMockTile.is-faded{
  opacity:.42;
  filter:saturate(.88);
}
.tourMockTile--xV{
  width:34px;
  height:136px;
  background:#3e9c4e;
  color:#fff;
  font-size:30px;
}
.tourMockTile--leftX1{
  left:42px;
  top:54px;
}
.tourMockTile--leftX2{
  left:73px;
  top:54px;
}
.tourMockTile--one{
  width:34px;
  height:34px;
  background:#f3df52;
  color:#111;
  font-size:24px;
}
.tourMockTile--negOne{
  width:34px;
  height:34px;
  background:#d63b3b;
  color:#111;
  font-size:22px;
}
.tourMockTile--leftOne{
  left:104px;
  top:54px;
}
.tourMockTile--leftNeg{
  left:104px;
  top:85px;
}
.tourMockDivider{
  position:absolute;
  left:50%;
  top:32px;
  bottom:32px;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  width:2px;
  border-left:3px dashed rgba(31,41,51,.30);
}
.tourMockTile--rightOne1{left:234px;top:66px;}
.tourMockTile--rightOne2{left:265px;top:66px;}
.tourMockTile--rightOne3{left:296px;top:66px;}
.tourMockTile--rightOne4{left:234px;top:97px;}
.tourMockTile--rightOne5{left:265px;top:97px;}
.tourMockTile--rightNeg{
  left:296px;
  top:97px;
}
.onboardingReadyArray{
  --ready-x2:142px;
  --ready-unit:36px;
  display:grid;
  grid-template-columns:var(--ready-x2) var(--ready-unit);
  grid-template-rows:var(--ready-x2) var(--ready-unit);
  gap:8px;
  margin-bottom:12px;
}
.readyTile{
  display:grid;
  place-items:center;
  box-sizing:border-box;
  border:3px solid #111;
  border-radius:9px;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-weight:700;
  line-height:1;
  box-shadow:0 12px 22px rgba(31,41,51,.12), inset 0 2px 0 rgba(255,255,255,.22);
}
.readyTile--x2{
  grid-column:1;
  grid-row:1;
  width:var(--ready-x2);
  height:var(--ready-x2);
  background:#4f80d4;
  color:#fff;
  font-size:44px;
}
.readyTile--xV{
  grid-column:2;
  grid-row:1;
  width:var(--ready-unit);
  height:var(--ready-x2);
  background:#3e9c4e;
  color:#fff;
  font-size:31px;
}
.readyTile--xH{
  grid-column:1;
  grid-row:2;
  width:var(--ready-x2);
  height:var(--ready-unit);
  background:#3e9c4e;
  color:#fff;
  font-size:31px;
}
.readyTile--one{
  grid-column:2;
  grid-row:2;
  width:var(--ready-unit);
  height:var(--ready-unit);
  background:#f3df52;
  color:#111;
  font-size:27px;
}
.onboardingControls{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 154px;
  align-items:center;
  gap:12px;
  padding:18px clamp(18px,4vw,38px) calc(18px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(31,41,51,.08);
  background:rgba(255,255,255,.70);
}
.onboardingArrow,
.onboardingNext{
  appearance:none;
  border:1px solid rgba(31,41,51,.12);
  box-shadow:0 8px 18px rgba(31,41,51,.08);
}
.onboardingArrow{
  width:42px;
  height:42px;
  border-radius:15px;
  background:#fff;
  color:#1f2933;
  font:950 28px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.onboardingArrow:disabled{
  opacity:.34;
  box-shadow:none;
}
.onboardingNext{
  min-height:44px;
  width:100%;
  padding:0 22px;
  border-radius:999px;
  background:#1f2933;
  color:#fff;
  font:900 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  white-space:nowrap;
}
.onboardingDots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.onboardingDots button{
  appearance:none;
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(31,41,51,.18);
}
.onboardingDots button.is-active{
  width:25px;
  background:#6f6fe8;
}
.tourLinkBtn{
  appearance:none;
  min-height:32px;
  margin-top:10px;
  padding:0 13px;
  border:1px solid rgba(31,41,51,.14);
  border-radius:999px;
  background:rgba(31,41,51,.88);
  color:#fff;
  font:850 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-shadow:0 7px 16px rgba(31,41,51,.10);
}
.tourLinkBtn:hover{
  background:#1f2933;
}
@media (max-width:760px){
  .onboardingRoot{
    padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  }
  .onboardingPanel{
    min-height:calc(100dvh - 24px);
    border-radius:28px;
  }
  .onboardingSlide{
    padding:58px 22px 22px;
    gap:13px;
  }
  .onboardingSlide h1{
    font-size:clamp(30px,10vw,44px);
  }
  .onboardingSlide p:not(.eyebrow){
    font-size:15px;
  }
  .onboardingTileScene{
    height:226px;
    transform:scale(.86);
    margin:-12px 0 -8px;
  }
  .onboardingJourneyCards{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .onboardingJourneyCards div{
    min-height:110px;
    padding:12px;
    border-radius:18px;
  }
  .tourBoardMock{
    grid-template-columns:1fr;
    gap:10px;
  }
  .tourEquationCard{
    min-height:118px;
    padding:14px;
  }
  .tourMockBoard{
    width:min(100%,292px);
    min-height:176px;
  }
  .tourMockTile--xV{
    width:clamp(26px,10cqw,30px);
    height:clamp(104px,41cqw,120px);
    font-size:clamp(22px,8.5cqw,25px);
  }
  .tourMockTile--leftX1{
    left:5.5%;
    top:35px;
  }
  .tourMockTile--leftX2{
    left:14.8%;
    top:35px;
  }
  .tourMockTile--one{
    width:clamp(26px,10cqw,30px);
    height:clamp(26px,10cqw,30px);
    font-size:clamp(18px,7.2cqw,21px);
  }
  .tourMockTile--negOne{
    width:clamp(26px,10cqw,30px);
    height:clamp(26px,10cqw,30px);
    font-size:clamp(16px,6.5cqw,19px);
  }
  .tourMockTile--leftOne{
    left:24.1%;
    top:35px;
  }
  .tourMockTile--leftNeg{
    left:24.1%;
    top:calc(35px + clamp(23px,9cqw,27px));
  }
  .tourMockDivider{
    left:50%;
    top:28px;
    bottom:24px;
  }
  .tourMockTile--rightOne1{left:65.8%;top:50px;}
  .tourMockTile--rightOne2{left:75%;top:50px;}
  .tourMockTile--rightOne3{left:84.2%;top:50px;}
  .tourMockTile--rightOne4{left:65.8%;top:calc(50px + clamp(23px,9cqw,27px));}
  .tourMockTile--rightOne5{left:75%;top:calc(50px + clamp(23px,9cqw,27px));}
  .tourMockTile--rightNeg{
    left:84.2%;
    top:calc(50px + clamp(23px,9cqw,27px));
  }
  .onboardingReadyArray{
    --ready-x2:118px;
    --ready-unit:31px;
    margin:-2px 0 2px;
  }
  .onboardingControls{
    grid-template-columns:40px 1fr;
    gap:10px;
  }
  .onboardingDots{
    grid-column:1 / -1;
    grid-row:1;
  }
  .onboardingArrow{
    grid-column:1;
    grid-row:2;
    width:40px;
    height:40px;
  }
  .onboardingNext{
    grid-column:2;
    grid-row:2;
    width:100%;
    padding:0 14px;
  }
}


/* v2.1.78 - compact Help keeps touch controls first and product mark last. */
.screen--compact-overlay[data-page="help"] .helpDocPage{
  display:flex;
  flex-direction:column;
}
.screen--compact-overlay[data-page="help"] .helpShortcutsCard{
  order:1;
}
.screen--compact-overlay[data-page="help"] .helpMainCards{
  order:2;
}
.screen--compact-overlay[data-page="help"] .helpDocPage > .compactProductFooter{
  order:3;
  margin-top:4px;
  margin-bottom:18px;
}


/* v2.1.78 - compact onboarding page 3 height fit patch. */
@media (max-width:760px){
  .onboardingPanel{
    height:calc(100dvh - 24px);
    min-height:0;
    max-height:calc(100dvh - 24px);
  }
  .onboardingSlide--how{
    align-content:center;
    gap:10px;
    padding:52px 18px 14px;
    overflow:hidden;
  }
  .onboardingSlide--how .tourBoardMock{
    width:min(100%,330px);
    gap:8px;
    padding:10px;
    margin-bottom:0;
    border-radius:24px;
  }
  .onboardingSlide--how .tourEquationCard{
    min-height:100px;
    padding:10px;
    gap:7px;
    border-radius:17px;
  }
  .onboardingSlide--how .tourEquationCard .tourEquationWorking{
    padding:9px clamp(7px,4cqw,12px) 8px;
    border-radius:15px;
  }
  .onboardingSlide--how .tourEquationCard small{
    font-size:12px;
    line-height:1.2;
  }
  .onboardingSlide--how .tourMockBoard{
    width:min(100%,272px);
    min-height:148px;
    border-radius:18px;
  }
  .onboardingSlide--how .tourMockTile--xV{
    width:clamp(23px,9cqw,27px);
    height:clamp(88px,35cqw,104px);
    font-size:clamp(20px,7.4cqw,23px);
  }
  .onboardingSlide--how .tourMockTile--one,
  .onboardingSlide--how .tourMockTile--negOne{
    width:clamp(23px,9cqw,27px);
    height:clamp(23px,9cqw,27px);
  }
  .onboardingSlide--how .tourMockTile--one{font-size:clamp(16px,6.4cqw,19px);}
  .onboardingSlide--how .tourMockTile--negOne{font-size:clamp(14px,5.8cqw,17px);}
  .onboardingSlide--how .tourMockTile--leftX1{left:7%;top:24px;}
  .onboardingSlide--how .tourMockTile--leftX2{left:16.3%;top:24px;}
  .onboardingSlide--how .tourMockTile--leftOne{left:25.6%;top:24px;}
  .onboardingSlide--how .tourMockTile--leftNeg{left:25.6%;top:calc(24px + clamp(21px,8.2cqw,25px));}
  .onboardingSlide--how .tourMockDivider{top:20px;bottom:18px;}
  .onboardingSlide--how .tourMockTile--rightOne1{left:64%;top:38px;}
  .onboardingSlide--how .tourMockTile--rightOne2{left:73.3%;top:38px;}
  .onboardingSlide--how .tourMockTile--rightOne3{left:82.6%;top:38px;}
  .onboardingSlide--how .tourMockTile--rightOne4{left:64%;top:calc(38px + clamp(21px,8.2cqw,25px));}
  .onboardingSlide--how .tourMockTile--rightOne5{left:73.3%;top:calc(38px + clamp(21px,8.2cqw,25px));}
  .onboardingSlide--how .tourMockTile--rightNeg{left:82.6%;top:calc(38px + clamp(21px,8.2cqw,25px));}
}

@media (max-width:760px) and (max-height:700px){
  .onboardingRoot{
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  }
  .onboardingPanel{
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:24px;
  }
  .onboardingSlide--how{
    gap:7px;
    padding:42px 14px 10px;
  }
  .onboardingSlide--how .tourBoardMock{
    width:min(100%,310px);
    gap:6px;
    padding:8px;
    border-radius:20px;
  }
  .onboardingSlide--how .tourEquationCard{
    min-height:82px;
    padding:8px;
    gap:5px;
  }
  .onboardingSlide--how .tourEquationTerm,
  .onboardingSlide--how .tourEquationMinus{
    font-size:clamp(20px,14cqw,33px);
  }
  .onboardingSlide--how .tourEquationCard small{
    font-size:11px;
  }
  .onboardingSlide--how .tourMockBoard{
    width:min(100%,248px);
    min-height:124px;
  }
  .onboardingSlide--how .tourMockTile--xV{
    width:clamp(20px,8.2cqw,24px);
    height:clamp(76px,30cqw,90px);
    font-size:clamp(18px,6.7cqw,21px);
  }
  .onboardingSlide--how .tourMockTile--one,
  .onboardingSlide--how .tourMockTile--negOne{
    width:clamp(20px,8.2cqw,24px);
    height:clamp(20px,8.2cqw,24px);
  }
  .onboardingSlide--how .tourMockTile--one{font-size:clamp(15px,5.8cqw,17px);}
  .onboardingSlide--how .tourMockTile--negOne{font-size:clamp(13px,5.2cqw,15px);}
  .onboardingSlide--how .tourMockTile--leftX1{left:7.5%;top:20px;}
  .onboardingSlide--how .tourMockTile--leftX2{left:16.7%;top:20px;}
  .onboardingSlide--how .tourMockTile--leftOne{left:25.9%;top:20px;}
  .onboardingSlide--how .tourMockTile--leftNeg{left:25.9%;top:calc(20px + clamp(18px,7.2cqw,22px));}
  .onboardingSlide--how .tourMockDivider{top:17px;bottom:15px;}
  .onboardingSlide--how .tourMockTile--rightOne1{left:63.8%;top:31px;}
  .onboardingSlide--how .tourMockTile--rightOne2{left:73%;top:31px;}
  .onboardingSlide--how .tourMockTile--rightOne3{left:82.2%;top:31px;}
  .onboardingSlide--how .tourMockTile--rightOne4{left:63.8%;top:calc(31px + clamp(18px,7.2cqw,22px));}
  .onboardingSlide--how .tourMockTile--rightOne5{left:73%;top:calc(31px + clamp(18px,7.2cqw,22px));}
  .onboardingSlide--how .tourMockTile--rightNeg{left:82.2%;top:calc(31px + clamp(18px,7.2cqw,22px));}
  .onboardingSlide--how h1{
    font-size:clamp(25px,8vw,34px);
  }
  .onboardingSlide--how p:not(.eyebrow){
    font-size:13px;
    line-height:1.28;
  }
  .onboardingControls{
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    gap:7px;
  }
  .onboardingArrow{
    width:36px;
    height:36px;
    border-radius:13px;
  }
  .onboardingNext{
    min-height:38px;
    font-size:13px;
  }
}

@media (max-width:380px) and (max-height:620px){
  .onboardingSlide--how{
    padding-top:36px;
  }
  .onboardingSlide--how .tourBoardMock{
    width:min(100%,286px);
  }
  .onboardingSlide--how .tourEquationCard{
    min-height:74px;
  }
  .onboardingSlide--how .tourMockBoard{
    width:min(100%,228px);
    min-height:112px;
  }
  .onboardingSlide--how h1{
    font-size:24px;
  }
  .onboardingSlide--how p:not(.eyebrow){
    font-size:12.5px;
    line-height:1.22;
  }
}

/* v2.1.78 - lock onboarding page 3 model preview to stacked layout. */
.onboardingSlide--how .tourBoardMock{
  grid-template-columns:1fr !important;
  grid-auto-flow:row;
  align-items:stretch;
  justify-items:center;
}
.onboardingSlide--how .tourEquationCard,
.onboardingSlide--how .tourMockBoard{
  grid-column:1 / -1;
}
.onboardingSlide--how .tourEquationCard{
  width:100%;
}
.onboardingSlide--how .tourMockBoard{
  width:min(100%,372px);
}
@media (min-width:761px){
  .onboardingSlide--how .tourBoardMock{
    width:min(520px,100%);
  }
  .onboardingSlide--how .tourEquationCard{
    min-height:132px;
  }
  .onboardingSlide--how .tourMockBoard{
    min-height:190px;
  }
}
@media (max-width:760px){
  .onboardingSlide--how .tourMockBoard{
    width:min(100%,272px);
  }
}
@media (max-width:760px) and (max-height:700px){
  .onboardingSlide--how .tourMockBoard{
    width:min(100%,248px);
  }
}


/* v2.1.78 - restore snapped shared edges on onboarding page 3 tile mock. */
.onboardingSlide--how .tourMockBoard{
  --tour-unit:34px;
  --tour-x-height:136px;
  --tour-overlap:3px;
  --tour-left-start:42px;
  --tour-left-top:54px;
  --tour-right-start:234px;
  --tour-right-top:66px;
}
.onboardingSlide--how .tourMockTile--xV{
  width:var(--tour-unit);
  height:var(--tour-x-height);
}
.onboardingSlide--how .tourMockTile--one,
.onboardingSlide--how .tourMockTile--negOne{
  width:var(--tour-unit);
  height:var(--tour-unit);
}
.onboardingSlide--how .tourMockTile--leftX1{
  left:var(--tour-left-start);
  top:var(--tour-left-top);
}
.onboardingSlide--how .tourMockTile--leftX2{
  left:calc(var(--tour-left-start) + var(--tour-unit) - var(--tour-overlap));
  top:var(--tour-left-top);
}
.onboardingSlide--how .tourMockTile--leftOne{
  left:calc(var(--tour-left-start) + (2 * (var(--tour-unit) - var(--tour-overlap))));
  top:var(--tour-left-top);
}
.onboardingSlide--how .tourMockTile--leftNeg{
  left:calc(var(--tour-left-start) + (2 * (var(--tour-unit) - var(--tour-overlap))));
  top:calc(var(--tour-left-top) + var(--tour-unit) - var(--tour-overlap));
}
.onboardingSlide--how .tourMockTile--rightOne1{
  left:var(--tour-right-start);
  top:var(--tour-right-top);
}
.onboardingSlide--how .tourMockTile--rightOne2{
  left:calc(var(--tour-right-start) + var(--tour-unit) - var(--tour-overlap));
  top:var(--tour-right-top);
}
.onboardingSlide--how .tourMockTile--rightOne3{
  left:calc(var(--tour-right-start) + (2 * (var(--tour-unit) - var(--tour-overlap))));
  top:var(--tour-right-top);
}
.onboardingSlide--how .tourMockTile--rightOne4{
  left:var(--tour-right-start);
  top:calc(var(--tour-right-top) + var(--tour-unit) - var(--tour-overlap));
}
.onboardingSlide--how .tourMockTile--rightOne5{
  left:calc(var(--tour-right-start) + var(--tour-unit) - var(--tour-overlap));
  top:calc(var(--tour-right-top) + var(--tour-unit) - var(--tour-overlap));
}
.onboardingSlide--how .tourMockTile--rightNeg{
  left:calc(var(--tour-right-start) + (2 * (var(--tour-unit) - var(--tour-overlap))));
  top:calc(var(--tour-right-top) + var(--tour-unit) - var(--tour-overlap));
}
@media (max-width:760px){
  .onboardingSlide--how .tourMockBoard{
    --tour-unit:clamp(23px,9cqw,27px);
    --tour-x-height:clamp(88px,35cqw,104px);
    --tour-left-start:7%;
    --tour-left-top:24px;
    --tour-right-start:64%;
    --tour-right-top:38px;
  }
}
@media (max-width:760px) and (max-height:700px){
  .onboardingSlide--how .tourMockBoard{
    --tour-unit:clamp(20px,8.2cqw,24px);
    --tour-x-height:clamp(76px,30cqw,90px);
    --tour-left-start:7.5%;
    --tour-left-top:20px;
    --tour-right-start:63.8%;
    --tour-right-top:31px;
  }
}


/* v2.1.78 - reference snapped spacing for onboarding page 3 tile mock.
   Uses the original reference spacing: tiles are one border-width closer
   than their visual width, so neighbouring borders read as a single shared edge. */
.onboardingSlide--how .tourMockBoard{
  --tour-unit:34px;
  --tour-x-height:136px;
  --tour-shared-edge:3px;
  --tour-step:31px;
  --tour-left-start:42px;
  --tour-left-top:54px;
  --tour-right-start:234px;
  --tour-right-top:66px;
}
.onboardingSlide--how .tourMockTile--xV{
  width:var(--tour-unit) !important;
  height:var(--tour-x-height) !important;
}
.onboardingSlide--how .tourMockTile--one,
.onboardingSlide--how .tourMockTile--negOne{
  width:var(--tour-unit) !important;
  height:var(--tour-unit) !important;
}
.onboardingSlide--how .tourMockTile--leftX1{
  left:var(--tour-left-start) !important;
  top:var(--tour-left-top) !important;
}
.onboardingSlide--how .tourMockTile--leftX2{
  left:calc(var(--tour-left-start) + var(--tour-step)) !important;
  top:var(--tour-left-top) !important;
}
.onboardingSlide--how .tourMockTile--leftOne{
  left:calc(var(--tour-left-start) + var(--tour-step) + var(--tour-step)) !important;
  top:var(--tour-left-top) !important;
}
.onboardingSlide--how .tourMockTile--leftNeg{
  left:calc(var(--tour-left-start) + var(--tour-step) + var(--tour-step)) !important;
  top:calc(var(--tour-left-top) + var(--tour-step)) !important;
}
.onboardingSlide--how .tourMockTile--rightOne1{
  left:var(--tour-right-start) !important;
  top:var(--tour-right-top) !important;
}
.onboardingSlide--how .tourMockTile--rightOne2{
  left:calc(var(--tour-right-start) + var(--tour-step)) !important;
  top:var(--tour-right-top) !important;
}
.onboardingSlide--how .tourMockTile--rightOne3{
  left:calc(var(--tour-right-start) + var(--tour-step) + var(--tour-step)) !important;
  top:var(--tour-right-top) !important;
}
.onboardingSlide--how .tourMockTile--rightOne4{
  left:var(--tour-right-start) !important;
  top:calc(var(--tour-right-top) + var(--tour-step)) !important;
}
.onboardingSlide--how .tourMockTile--rightOne5{
  left:calc(var(--tour-right-start) + var(--tour-step)) !important;
  top:calc(var(--tour-right-top) + var(--tour-step)) !important;
}
.onboardingSlide--how .tourMockTile--rightNeg{
  left:calc(var(--tour-right-start) + var(--tour-step) + var(--tour-step)) !important;
  top:calc(var(--tour-right-top) + var(--tour-step)) !important;
}
@media (max-width:760px){
  .onboardingSlide--how .tourMockBoard{
    --tour-unit:clamp(23px,9cqw,27px);
    --tour-x-height:clamp(88px,35cqw,104px);
    --tour-shared-edge:3px;
    --tour-step:calc(var(--tour-unit) - var(--tour-shared-edge));
    --tour-left-start:calc(50% - (var(--tour-step) + var(--tour-step) + var(--tour-step) + var(--tour-shared-edge) + 44px));
    --tour-left-top:24px;
    --tour-right-start:calc(50% + 32px);
    --tour-right-top:38px;
  }
}
@media (max-width:760px) and (max-height:700px){
  .onboardingSlide--how .tourMockBoard{
    --tour-unit:clamp(20px,8.2cqw,24px);
    --tour-x-height:clamp(76px,30cqw,90px);
    --tour-shared-edge:3px;
    --tour-step:calc(var(--tour-unit) - var(--tour-shared-edge));
    --tour-left-start:calc(50% - (var(--tour-step) + var(--tour-step) + var(--tour-step) + var(--tour-shared-edge) + 40px));
    --tour-left-top:20px;
    --tour-right-start:calc(50% + 28px);
    --tour-right-top:31px;
  }
}

/* v2.1.78 - final page 3 onboarding snapped-tile correction.
   This deliberately mirrors the old reference build's simple shared-edge spacing.
   Adjacent tiles are placed slightly closer than their border-box width, so their
   3px black borders visually merge into one shared snapped edge. */
.onboardingSlide--how .tourMockTile{
  border-width:3px !important;
}
.onboardingSlide--how .tourMockTile--xV{
  width:34px !important;
  height:136px !important;
}
.onboardingSlide--how .tourMockTile--one,
.onboardingSlide--how .tourMockTile--negOne{
  width:34px !important;
  height:34px !important;
}
.onboardingSlide--how .tourMockTile--leftX1{left:42px !important;top:54px !important;}
.onboardingSlide--how .tourMockTile--leftX2{left:73px !important;top:54px !important;}
.onboardingSlide--how .tourMockTile--leftOne{left:104px !important;top:54px !important;}
.onboardingSlide--how .tourMockTile--leftNeg{left:104px !important;top:85px !important;}
.onboardingSlide--how .tourMockTile--rightOne1{left:234px !important;top:66px !important;}
.onboardingSlide--how .tourMockTile--rightOne2{left:265px !important;top:66px !important;}
.onboardingSlide--how .tourMockTile--rightOne3{left:296px !important;top:66px !important;}
.onboardingSlide--how .tourMockTile--rightOne4{left:234px !important;top:97px !important;}
.onboardingSlide--how .tourMockTile--rightOne5{left:265px !important;top:97px !important;}
.onboardingSlide--how .tourMockTile--rightNeg{left:296px !important;top:97px !important;}

@media (max-width:760px){
  .onboardingSlide--how .tourMockTile--xV{
    width:clamp(26px,10cqw,30px) !important;
    height:clamp(104px,41cqw,120px) !important;
  }
  .onboardingSlide--how .tourMockTile--one,
  .onboardingSlide--how .tourMockTile--negOne{
    width:clamp(26px,10cqw,30px) !important;
    height:clamp(26px,10cqw,30px) !important;
  }
  .onboardingSlide--how .tourMockTile--leftX1{left:5.5% !important;top:35px !important;}
  .onboardingSlide--how .tourMockTile--leftX2{left:14.8% !important;top:35px !important;}
  .onboardingSlide--how .tourMockTile--leftOne{left:24.1% !important;top:35px !important;}
  .onboardingSlide--how .tourMockTile--leftNeg{left:24.1% !important;top:calc(35px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne1{left:65.8% !important;top:50px !important;}
  .onboardingSlide--how .tourMockTile--rightOne2{left:75% !important;top:50px !important;}
  .onboardingSlide--how .tourMockTile--rightOne3{left:84.2% !important;top:50px !important;}
  .onboardingSlide--how .tourMockTile--rightOne4{left:65.8% !important;top:calc(50px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne5{left:75% !important;top:calc(50px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightNeg{left:84.2% !important;top:calc(50px + clamp(23px,9cqw,27px)) !important;}
}

/* v2.1.78 - page 3 onboarding polish: centre snapped tiles higher and ease heading size. */
.onboardingSlide--how h1{
  font-size:clamp(28px,4.7vw,48px) !important;
  line-height:1 !important;
  white-space:nowrap;
}
.onboardingSlide--how .tourMockBoard{
  display:block;
}
.onboardingSlide--how .tourMockTile--leftX1{top:46px !important;}
.onboardingSlide--how .tourMockTile--leftX2{top:46px !important;}
.onboardingSlide--how .tourMockTile--leftOne{top:46px !important;}
.onboardingSlide--how .tourMockTile--leftNeg{top:77px !important;}
.onboardingSlide--how .tourMockTile--rightOne1{top:58px !important;}
.onboardingSlide--how .tourMockTile--rightOne2{top:58px !important;}
.onboardingSlide--how .tourMockTile--rightOne3{top:58px !important;}
.onboardingSlide--how .tourMockTile--rightOne4{top:89px !important;}
.onboardingSlide--how .tourMockTile--rightOne5{top:89px !important;}
.onboardingSlide--how .tourMockTile--rightNeg{top:89px !important;}
@media (max-width:760px){
  .onboardingSlide--how h1{
    font-size:clamp(24px,6.8vw,30px) !important;
  }
  .onboardingSlide--how .tourMockTile--leftX1{top:28px !important;}
  .onboardingSlide--how .tourMockTile--leftX2{top:28px !important;}
  .onboardingSlide--how .tourMockTile--leftOne{top:28px !important;}
  .onboardingSlide--how .tourMockTile--leftNeg{top:calc(28px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne1{top:43px !important;}
  .onboardingSlide--how .tourMockTile--rightOne2{top:43px !important;}
  .onboardingSlide--how .tourMockTile--rightOne3{top:43px !important;}
  .onboardingSlide--how .tourMockTile--rightOne4{top:calc(43px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne5{top:calc(43px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightNeg{top:calc(43px + clamp(23px,9cqw,27px)) !important;}
}
@media (max-width:760px) and (max-height:700px){
  .onboardingSlide--how h1{
    font-size:clamp(22px,6.4vw,28px) !important;
  }
  .onboardingSlide--how .tourMockTile--leftX1{top:24px !important;}
  .onboardingSlide--how .tourMockTile--leftX2{top:24px !important;}
  .onboardingSlide--how .tourMockTile--leftOne{top:24px !important;}
  .onboardingSlide--how .tourMockTile--leftNeg{top:calc(24px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne1{top:38px !important;}
  .onboardingSlide--how .tourMockTile--rightOne2{top:38px !important;}
  .onboardingSlide--how .tourMockTile--rightOne3{top:38px !important;}
  .onboardingSlide--how .tourMockTile--rightOne4{top:calc(38px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne5{top:calc(38px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightNeg{top:calc(38px + clamp(23px,9cqw,27px)) !important;}
}


/* v2.1.78 - smoother onboarding progress animation. */
.onboardingControls{
  position:relative;
  overflow:hidden;
  --onboarding-progress:0%;
}
.onboardingControls::before,
.onboardingControls::after{
  content:"";
  position:absolute;
  left:clamp(18px,4vw,38px);
  right:clamp(18px,4vw,38px);
  top:0;
  height:3px;
  border-radius:999px;
  pointer-events:none;
}
.onboardingControls::before{
  background:rgba(111,111,232,.13);
}
.onboardingControls::after{
  right:auto;
  width:var(--onboarding-progress);
  background:linear-gradient(90deg,#6f6fe8,#4f80d4);
  box-shadow:0 0 16px rgba(111,111,232,.28);
  transition:width .42s cubic-bezier(.22,.9,.24,1);
}
.onboardingDots{
  position:relative;
  isolation:isolate;
  min-height:18px;
}
.onboardingDots button{
  position:relative;
  z-index:1;
  cursor:pointer;
  transform-origin:center;
  transition:
    width .34s cubic-bezier(.22,.9,.24,1),
    background-color .34s ease,
    transform .34s cubic-bezier(.22,.9,.24,1),
    box-shadow .34s ease,
    opacity .34s ease;
}
.onboardingDots button:not(.is-active){
  opacity:.78;
}
.onboardingDots button.is-active{
  transform:scaleX(1.04);
  box-shadow:0 0 0 4px rgba(111,111,232,.10),0 5px 12px rgba(79,128,212,.18);
}
.onboardingArrow,
.onboardingNext{
  transition:
    transform .22s ease,
    background-color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    opacity .28s ease;
}
.onboardingArrow:not(:disabled):active,
.onboardingNext:active{
  transform:translateY(1px) scale(.99);
}
@media (prefers-reduced-motion:reduce){
  .onboardingControls::after,
  .onboardingDots button,
  .onboardingArrow,
  .onboardingNext{
    transition:none !important;
  }
}

/* v2.1.78 - phone-only full-page onboarding. Desktop and tablet keep overlay sizing. */
@media (max-width:600px){
  .onboardingRoot{
    padding:0 !important;
    place-items:stretch !important;
    background:linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%) !important;
    backdrop-filter:none !important;
  }
  .onboardingPanel{
    width:100dvw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:rgba(248,251,255,.98) !important;
  }
  .onboardingSkip{
    top:calc(12px + env(safe-area-inset-top)) !important;
    right:calc(12px + env(safe-area-inset-right)) !important;
  }
  .onboardingSlide{
    padding:calc(56px + env(safe-area-inset-top)) 20px 18px !important;
  }
  .onboardingControls{
    padding:12px max(14px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right)) !important;
    background:rgba(248,251,255,.94);
    border-top:1px solid rgba(31,41,51,.08);
  }
  .onboardingControls::before,
  .onboardingControls::after{
    left:max(14px,env(safe-area-inset-left)) !important;
    right:max(14px,env(safe-area-inset-right)) !important;
  }
  .onboardingControls::after{
    right:auto !important;
  }
}

@media (max-width:600px) and (max-height:700px){
  .onboardingSlide{
    padding:calc(46px + env(safe-area-inset-top)) 16px 10px !important;
  }
  .onboardingSlide--how{
    gap:7px !important;
  }
  .onboardingControls{
    padding-top:9px !important;
  }
}

/* v2.1.78 - fixed overlay height and page 3 tile vertical-centre polish. */
@media (min-width:601px){
  .onboardingPanel{
    height:min(650px, calc(100dvh - 36px)) !important;
    min-height:0 !important;
    max-height:calc(100dvh - 36px) !important;
  }
}
@media (min-width:601px) and (max-width:760px){
  .onboardingPanel{
    height:min(650px, calc(100dvh - 24px)) !important;
    max-height:calc(100dvh - 24px) !important;
  }
}

/* Page 3: use the green x-tile height as the visual height reference and lift the snapped model slightly. */
.onboardingSlide--how .tourMockTile--leftX1{top:38px !important;}
.onboardingSlide--how .tourMockTile--leftX2{top:38px !important;}
.onboardingSlide--how .tourMockTile--leftOne{top:38px !important;}
.onboardingSlide--how .tourMockTile--leftNeg{top:69px !important;}
.onboardingSlide--how .tourMockTile--rightOne1{top:50px !important;}
.onboardingSlide--how .tourMockTile--rightOne2{top:50px !important;}
.onboardingSlide--how .tourMockTile--rightOne3{top:50px !important;}
.onboardingSlide--how .tourMockTile--rightOne4{top:81px !important;}
.onboardingSlide--how .tourMockTile--rightOne5{top:81px !important;}
.onboardingSlide--how .tourMockTile--rightNeg{top:81px !important;}

@media (max-width:760px){
  .onboardingSlide--how .tourMockTile--leftX1{top:24px !important;}
  .onboardingSlide--how .tourMockTile--leftX2{top:24px !important;}
  .onboardingSlide--how .tourMockTile--leftOne{top:24px !important;}
  .onboardingSlide--how .tourMockTile--leftNeg{top:calc(24px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne1{top:39px !important;}
  .onboardingSlide--how .tourMockTile--rightOne2{top:39px !important;}
  .onboardingSlide--how .tourMockTile--rightOne3{top:39px !important;}
  .onboardingSlide--how .tourMockTile--rightOne4{top:calc(39px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne5{top:calc(39px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightNeg{top:calc(39px + clamp(23px,9cqw,27px)) !important;}
}
@media (max-width:760px) and (max-height:700px){
  .onboardingSlide--how .tourMockTile--leftX1{top:20px !important;}
  .onboardingSlide--how .tourMockTile--leftX2{top:20px !important;}
  .onboardingSlide--how .tourMockTile--leftOne{top:20px !important;}
  .onboardingSlide--how .tourMockTile--leftNeg{top:calc(20px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne1{top:34px !important;}
  .onboardingSlide--how .tourMockTile--rightOne2{top:34px !important;}
  .onboardingSlide--how .tourMockTile--rightOne3{top:34px !important;}
  .onboardingSlide--how .tourMockTile--rightOne4{top:calc(34px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne5{top:calc(34px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightNeg{top:calc(34px + clamp(23px,9cqw,27px)) !important;}
}


/* v2.1.78 - larger constant desktop/tablet onboarding height and page 3 centring polish. */
@media (min-width:601px){
  .onboardingPanel{
    height:min(720px, calc(100dvh - 32px)) !important;
    max-height:calc(100dvh - 32px) !important;
  }
}
@media (min-width:601px) and (max-width:760px){
  .onboardingPanel{
    height:min(720px, calc(100dvh - 24px)) !important;
    max-height:calc(100dvh - 24px) !important;
  }
}

/* Page 3: lift the snapped model a touch further so it sits visually central in its box. */
.onboardingSlide--how .tourMockTile--leftX1,
.onboardingSlide--how .tourMockTile--leftX2,
.onboardingSlide--how .tourMockTile--leftOne{top:34px !important;}
.onboardingSlide--how .tourMockTile--leftNeg{top:65px !important;}
.onboardingSlide--how .tourMockTile--rightOne1,
.onboardingSlide--how .tourMockTile--rightOne2,
.onboardingSlide--how .tourMockTile--rightOne3{top:46px !important;}
.onboardingSlide--how .tourMockTile--rightOne4,
.onboardingSlide--how .tourMockTile--rightOne5,
.onboardingSlide--how .tourMockTile--rightNeg{top:77px !important;}

@media (max-width:760px){
  .onboardingSlide--how .tourMockTile--leftX1,
  .onboardingSlide--how .tourMockTile--leftX2,
  .onboardingSlide--how .tourMockTile--leftOne{top:20px !important;}
  .onboardingSlide--how .tourMockTile--leftNeg{top:calc(20px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne1,
  .onboardingSlide--how .tourMockTile--rightOne2,
  .onboardingSlide--how .tourMockTile--rightOne3{top:35px !important;}
  .onboardingSlide--how .tourMockTile--rightOne4,
  .onboardingSlide--how .tourMockTile--rightOne5,
  .onboardingSlide--how .tourMockTile--rightNeg{top:calc(35px + clamp(23px,9cqw,27px)) !important;}
}
@media (max-width:760px) and (max-height:700px){
  .onboardingSlide--how .tourMockTile--leftX1,
  .onboardingSlide--how .tourMockTile--leftX2,
  .onboardingSlide--how .tourMockTile--leftOne{top:17px !important;}
  .onboardingSlide--how .tourMockTile--leftNeg{top:calc(17px + clamp(23px,9cqw,27px)) !important;}
  .onboardingSlide--how .tourMockTile--rightOne1,
  .onboardingSlide--how .tourMockTile--rightOne2,
  .onboardingSlide--how .tourMockTile--rightOne3{top:31px !important;}
  .onboardingSlide--how .tourMockTile--rightOne4,
  .onboardingSlide--how .tourMockTile--rightOne5,
  .onboardingSlide--how .tourMockTile--rightNeg{top:calc(31px + clamp(23px,9cqw,27px)) !important;}
}

/* Optical glyph alignment for onboarding tiles. */
.tourMockTileLabel,
.readyTileLabel{
  display:block;
  line-height:1;
  position:relative;
}
.tourMockTileLabel--one,
.readyTileLabel--one{
  transform:translate(1px, 1px);
}
.readyTileLabel--xH{
  transform:translateY(-1px);
}


/* v2.1.78 - desktop-only side-by-side layout for onboarding page 3. */
@media (min-width:901px){
  .onboardingSlide--how .tourBoardMock{
    width:min(760px,100%) !important;
    grid-template-columns:minmax(220px,.92fr) minmax(320px,1.08fr) !important;
    grid-auto-flow:column !important;
    align-items:stretch !important;
    justify-items:stretch !important;
    gap:14px !important;
  }
  .onboardingSlide--how .tourEquationCard,
  .onboardingSlide--how .tourMockBoard{
    grid-column:auto !important;
    grid-row:1 !important;
    width:100% !important;
  }
  .onboardingSlide--how .tourEquationCard{
    min-height:190px !important;
    align-self:stretch;
  }
  .onboardingSlide--how .tourMockBoard{
    min-height:190px !important;
    max-width:none !important;
    justify-self:stretch !important;
  }
}

/* v2.1.79 - desktop onboarding alignment polish. */
@media (min-width:761px){
  .onboardingControls{
    position:relative;
    grid-template-columns:42px minmax(0,1fr) 154px;
  }
  .onboardingDots{
    grid-column:1 / -1;
    grid-row:1;
    justify-self:center;
    align-self:center;
  }
  .onboardingArrow{
    grid-column:1;
    grid-row:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0;
  }
  .onboardingNext{
    grid-column:3;
    grid-row:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .onboardingSlide--how .tourMockDivider{
    left:calc(50% - 1px);
    width:0;
    transform:none;
  }
}

.onboardingNext,
.onboardingSkip,
.tourLinkBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.readyTile--xH{
  padding-bottom:4px;
}
/* v2.1.81 - keep the onboarding progress fill visible on phone while matching the faded track width. */
.onboardingControls{
  --onboarding-track-left:clamp(18px,4vw,38px);
  --onboarding-track-right:clamp(18px,4vw,38px);
}
.onboardingControls::before,
.onboardingControls::after{
  left:var(--onboarding-track-left) !important;
  right:var(--onboarding-track-right) !important;
}
.onboardingControls::after{
  right:auto !important;
  width:calc(100% - var(--onboarding-track-left) - var(--onboarding-track-right)) !important;
  max-width:none;
  transform-origin:left center;
  transform:scaleX(var(--onboarding-progress-scale,0));
  transition:transform .42s cubic-bezier(.22,.9,.24,1);
}
@media (max-width:600px){
  .onboardingControls{
    --onboarding-track-left:max(14px,env(safe-area-inset-left));
    --onboarding-track-right:max(14px,env(safe-area-inset-right));
  }
}

/* v2.1.94 - calmer home screen and five-step onboarding install page. */
.appShell[data-screen="home"]{
  grid-template-rows:minmax(0,1fr) var(--nav-h) !important;
}
.appShell[data-screen="home"] .appHeader{
  display:none !important;
}
.screen--home{
  padding:clamp(18px,3vw,34px) max(18px,env(safe-area-inset-left)) calc(34px + var(--nav-h)) !important;
  background:
    radial-gradient(circle at 12% 8%,rgba(79,128,212,.10),transparent 30%),
    radial-gradient(circle at 88% 0%,rgba(62,156,78,.08),transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#f7f8fb 100%);
}
.homeHeader,
.homeHero,
.homePrimaryActions,
.homeFeatureSummary,
.homeDownloadCard,
.homeSecondaryLinks,
.homeFooter{
  width:min(1120px,100%);
  margin-left:auto;
  margin-right:auto;
}
.homeHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:58px;
  margin-bottom:clamp(24px,4vw,44px);
}
.homeHeaderLogo{
  display:block;
  width:clamp(54px,6vw,76px);
  height:clamp(54px,6vw,76px);
  object-fit:contain;
}
.homeHeaderActions{
  display:flex;
  align-items:center;
  gap:8px;
}
.homeTextBtn,
.homeSecondaryLink{
  appearance:none;
  border:1px solid rgba(31,41,51,.10);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#40505f;
  font:850 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(31,41,51,.06);
}
.homeTextBtn{
  min-height:34px;
  padding:0 14px;
}
.homeTextBtn:hover,
.homeSecondaryLink:hover{
  background:#fff;
  border-color:rgba(79,128,212,.30);
  color:#1f2933;
}
.homeHero{
  max-width:760px;
  text-align:center;
  margin-bottom:clamp(20px,3vw,30px);
}
.homeHero .eyebrow{
  justify-content:center;
  margin-bottom:10px;
}
.homeHero h1{
  margin:0;
  color:#111827;
  font-size:clamp(44px,8vw,82px);
  line-height:.92;
  letter-spacing:-.065em;
}
.homeHero p{
  margin:18px auto 0;
  max-width:680px;
  color:#4f5b67;
  font-size:clamp(17px,2.1vw,22px);
  font-weight:760;
  line-height:1.38;
}
.homeHero span{
  display:block;
  margin-top:10px;
  color:#6b7280;
  font-size:clamp(14px,1.7vw,17px);
  font-weight:760;
}
.homePrimaryActions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,20px);
  margin-top:clamp(22px,3vw,34px);
}
.homeActionCard{
  position:relative;
  min-height:260px;
  padding:clamp(20px,2.5vw,28px);
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  align-items:start;
  gap:12px;
  border:1px solid rgba(31,41,51,.08);
  border-radius:28px;
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 42px rgba(31,41,51,.09);
  overflow:hidden;
}
.homeActionCard::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-62px;
  width:160px;
  height:160px;
  border-radius:42px;
  transform:rotate(12deg);
  opacity:.16;
  pointer-events:none;
}
.homeActionCard--free::after{background:#4f80d4;}
.homeActionCard--solve::after{background:#3e9c4e;}
.homeActionCard--quiz::after{background:#6f6fe8;}
.homeActionIcon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(31,41,51,.06);
  color:#1f2933;
  font:950 23px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.homeActionCard h2{
  margin:4px 0 0;
  color:#111827;
  font-size:clamp(23px,2.5vw,30px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.homeActionCard p{
  margin:0;
  color:#586472;
  font-size:15px;
  font-weight:720;
  line-height:1.42;
}
.homeActionCard .primaryBtn{
  width:100%;
  justify-self:stretch;
  min-height:46px;
  border-radius:16px;
}
.homeFeatureSummary{
  margin-top:clamp(18px,3vw,28px);
  padding:clamp(18px,2.5vw,24px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(31,41,51,.07);
  border-radius:26px;
  background:rgba(255,255,255,.58);
}
.homeFeatureSummary h2{
  margin:0;
  color:#1f2933;
  font-size:clamp(20px,2.5vw,28px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.homeFeatureChips{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.homeFeatureChips span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(79,128,212,.16);
  border-radius:999px;
  background:#fff;
  color:#40505f;
  font:850 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.homeDownloadCard{
  margin-top:18px;
  padding:clamp(18px,2.4vw,24px);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  border:1px solid rgba(79,128,212,.13);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(238,244,255,.86),rgba(255,255,255,.76));
  box-shadow:0 14px 30px rgba(31,41,51,.07);
}
.homeDownloadCard img{
  width:54px;
  height:54px;
  object-fit:contain;
}
.homeDownloadCard h2{
  margin:0 0 4px;
  color:#111827;
  font-size:clamp(21px,2.4vw,28px);
  letter-spacing:-.035em;
}
.homeDownloadCard p{
  margin:0;
  color:#586472;
  font-weight:730;
}
.homeDownloadCard .secondaryBtn{
  min-height:42px;
  white-space:nowrap;
}
.homeSecondaryLinks{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
}
.homeSecondaryLink{
  min-height:36px;
  padding:0 15px;
}
.homeFooter{
  margin-top:clamp(28px,5vw,54px);
  padding-bottom:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 12px;
  color:#78818d;
  font:780 12px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.homeFooter span + span::before{
  content:"·";
  margin-right:12px;
  color:#a0a8b2;
}
.installHelpHero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:16px;
}
.installHelpHero img{
  width:64px;
  height:64px;
  object-fit:contain;
}
.onboardingSlide--install{
  align-content:center;
}
.onboardingInstallVisual{
  position:relative;
  width:min(330px,76vw);
  height:250px;
  display:grid;
  place-items:center;
  margin-bottom:4px;
}
.installDeviceMock{
  width:168px;
  height:216px;
  display:grid;
  grid-template-rows:18px 1fr auto;
  justify-items:center;
  gap:10px;
  padding:14px 18px 18px;
  border:1px solid rgba(31,41,51,.12);
  border-radius:32px;
  background:linear-gradient(180deg,#fff,#f3f6fb);
  box-shadow:0 22px 46px rgba(31,41,51,.14);
}
.installDeviceSpeaker{
  width:54px;
  height:5px;
  border-radius:999px;
  background:rgba(31,41,51,.16);
}
.installAppTile{
  align-self:center;
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 28px rgba(31,41,51,.11);
}
.installAppTile img{
  width:76px;
  height:76px;
  object-fit:contain;
}
.installDeviceMock strong{
  color:#1f2933;
  font:900 18px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.installDownloadCue{
  position:absolute;
  right:42px;
  top:34px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#1f2933;
  color:#fff;
  font:950 24px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-shadow:0 14px 28px rgba(31,41,51,.16);
}
.onboardingInstallHint{
  width:min(500px,100%) !important;
  padding:12px 16px;
  border:1px solid rgba(79,128,212,.14);
  border-radius:18px;
  background:rgba(238,244,255,.72);
  color:#4d5967 !important;
  font-size:clamp(13px,1.6vw,15px) !important;
  font-weight:820 !important;
}
@media (min-width:1061px){
  .appShell[data-screen="home"]{
    grid-template-rows:minmax(0,1fr) 0 !important;
  }
}
@media (max-width:900px){
  .homePrimaryActions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .homeActionCard--quiz{
    grid-column:1 / -1;
  }
  .homeFeatureSummary{
    align-items:flex-start;
    flex-direction:column;
  }
  .homeFeatureChips{
    justify-content:flex-start;
  }
}
@media (max-width:760px){
  .screen--home{
    padding:18px max(14px,env(safe-area-inset-left)) calc(24px + var(--nav-h)) !important;
  }
  .homeHeader{
    min-height:48px;
    margin-bottom:22px;
  }
  .homeHeaderLogo{
    width:52px;
    height:52px;
  }
  .homeHero{
    text-align:left;
    margin-bottom:18px;
  }
  .homeHero .eyebrow{
    justify-content:flex-start;
  }
  .homeHero h1{
    font-size:clamp(42px,13vw,58px);
  }
  .homeHero p{
    margin-left:0;
    font-size:16px;
  }
  .homeHero span{
    font-size:13px;
  }
  .homePrimaryActions{
    grid-template-columns:1fr;
    gap:12px;
  }
  .homeActionCard,
  .homeActionCard--quiz{
    grid-column:auto;
    min-height:0;
    padding:18px;
    border-radius:22px;
  }
  .homeActionIcon{
    width:46px;
    height:46px;
    border-radius:16px;
    font-size:20px;
  }
  .homeFeatureSummary,
  .homeDownloadCard{
    border-radius:22px;
  }
  .homeDownloadCard{
    grid-template-columns:auto minmax(0,1fr);
  }
  .homeDownloadCard .secondaryBtn{
    grid-column:1 / -1;
    width:100%;
  }
  .homeFooter{
    margin-top:26px;
    flex-direction:column;
    gap:4px;
  }
  .homeFooter span + span::before{
    content:"";
    margin:0;
  }
  .onboardingInstallVisual{
    height:220px;
  }
  .installDeviceMock{
    width:148px;
    height:194px;
  }
  .installDownloadCue{
    right:28px;
    top:26px;
  }
}

/* v2.1.97 - v3 dashboard, Learn, Quiz, Profile and progress theme. */
/* Legacy/deprecated Learn/Journey world styling remains for the current app runtime.
   New learning design source of truth lives in development/ and uses Unit -> Sequence -> Concept -> Activity. */

:root{
  --tiles-ui-font:"Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --tiles-blue:#0877f8;
  --tiles-blue-deep:#005ee8;
  --tiles-ink:#121a2f;
  --tiles-muted:#6e7787;
  --tiles-card:#ffffff;
  --tiles-line:rgba(18,26,47,.09);
  --tiles-shadow:0 18px 42px rgba(18,26,47,.10);
  --tiles-soft-shadow:0 9px 22px rgba(18,26,47,.08);
}
.v3Page,
.desktopTopNav,
.bottomNav,
.onboardingPanel{
  font-family:var(--tiles-ui-font);
}
.v3Page h1,
.v3Page h2,
.v3SectionHeader h2,
.v3PageHeader h1,
.quickStartCard strong,
.homeQuickActions strong,
.learnLessonCard strong,
.quizChallengeCard strong,
.profileStatCard strong,
.topNavItem,
.navItem,
.onboardingSlide h1,
.onboardingNext,
.onboardingArrow{
  font-family:var(--tiles-ui-font);
  font-weight:900;
}
.screen--learn,
.screen--profile,
.screen--quiz-home{
  overflow:auto;
  padding:clamp(22px,4vw,46px) max(18px,env(safe-area-inset-left)) calc(42px + var(--nav-h));
  background:
    radial-gradient(circle at 12% 3%,rgba(8,119,248,.10),transparent 34%),
    radial-gradient(circle at 92% 2%,rgba(51,181,85,.08),transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#fff 54%,#f7f9fc 100%);
}
.v3Page{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  gap:clamp(18px,3vw,30px);
  color:var(--tiles-ink);
}
.v3PageHeader{
  display:grid;
  gap:8px;
  text-align:center;
  justify-items:center;
  margin:0 auto;
  max-width:720px;
}
.v3PageHeader h1,
.quizLandingHero h1{
  margin:0;
  font-size:clamp(34px,5vw,58px);
  line-height:1;
  letter-spacing:-.055em;
}
.v3PageHeader p:not(.eyebrow),
.quizLandingHero p:not(.eyebrow){
  margin:0;
  color:var(--tiles-muted);
  font-size:clamp(15px,2vw,18px);
  line-height:1.45;
  font-weight:650;
}
.v3Section{
  border:1px solid var(--tiles-line);
  border-radius:30px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--tiles-soft-shadow);
  padding:clamp(16px,2.4vw,24px);
}
.v3SectionHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
}
.v3SectionHeader h2{
  margin:0;
  color:var(--tiles-ink);
  font-size:clamp(22px,3vw,30px);
  letter-spacing:-.035em;
}
.v3SectionHeader span{
  color:var(--tiles-muted);
  font-size:13px;
  font-weight:850;
}
.textLinkBtn{
  border:0;
  background:transparent;
  color:var(--tiles-blue);
  font:900 14px/1 var(--tiles-ui-font);
  min-height:36px;
  padding:0 4px;
}
.textLinkBtn:hover,
.textLinkBtn:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
.v3HomePage{
  width:min(1160px,100%);
  gap:clamp(18px,3vw,28px);
}
.homeDashboardHero{
  position:relative;
  min-height:clamp(430px,58vw,540px);
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:20px;
  overflow:hidden;
  border-radius:0 0 36px 36px;
  padding:clamp(26px,4vw,38px);
  background:linear-gradient(145deg,#087cff 0%,#0068f0 58%,#005adc 100%);
  color:#fff;
  box-shadow:0 20px 48px rgba(0,94,232,.22);
}
.homeDashboardHero::after{
  content:"";
  position:absolute;
  left:-6%;
  right:-6%;
  bottom:-50px;
  height:150px;
  background:#fff;
  border-radius:52% 48% 0 0 / 58% 62% 0 0;
  transform:rotate(-2deg);
  opacity:.96;
}
.homeDashboardTop,
.homeHeroText,
.homeGoalPanel{
  position:relative;
  z-index:1;
}
.homeDashboardTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.homeDashboardLogo{
  width:min(160px,36vw);
  height:46px;
  object-fit:contain;
  object-position:left center;
}
.homeDashboardActions{
  display:flex;
  align-items:center;
  gap:10px;
}
.homeStreakPill{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 15px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  font-weight:900;
}
.homeAvatarBtn{
  width:46px;
  height:46px;
  border:2px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:rgba(255,255,255,.20);
  color:#fff;
  font:900 26px/1 var(--tiles-ui-font);
}
.homeHeroText{
  align-self:center;
  display:grid;
  gap:12px;
  max-width:560px;
}
.homeHeroText p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:clamp(18px,2.4vw,24px);
  font-weight:800;
}
.homeHeroText h1{
  margin:0;
  color:#fff;
  font-size:clamp(42px,6vw,70px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.homeHeroTiles{
  position:absolute;
  z-index:1;
  right:clamp(28px,7vw,92px);
  top:clamp(150px,20vw,220px);
  width:min(360px,38vw);
  height:230px;
  pointer-events:none;
}
.heroTile{
  position:absolute;
  display:grid;
  place-items:center;
  border-radius:14px;
  box-shadow:0 16px 28px rgba(0,45,115,.24), inset 0 2px 0 rgba(255,255,255,.22);
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-weight:900;
}
.heroTile--x2{left:42px;top:4px;width:128px;height:128px;background:#4f80d4;color:#fff;font-size:42px;transform:rotate(7deg);}
.heroTile--x{right:34px;top:22px;width:58px;height:142px;background:#35ac43;color:#fff;font-size:42px;transform:rotate(8deg);}
.heroTile--one{left:22px;bottom:32px;width:54px;height:54px;background:#ffd315;color:#1f2933;font-size:30px;transform:rotate(-6deg);}
.heroTile--negX{right:82px;bottom:26px;width:116px;height:50px;background:#e93a35;color:#fff;font-size:28px;transform:rotate(5deg);}
.homeGoalPanel{
  align-self:end;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  width:min(720px,100%);
  border-radius:24px;
  background:rgba(3,44,128,.52);
  box-shadow:0 18px 38px rgba(0,36,105,.20);
  overflow:hidden;
  backdrop-filter:blur(16px);
}
.homeGoalPanel article{
  min-height:112px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px clamp(18px,3vw,28px);
}
.homeGoalPanel article + article{
  border-left:1px solid rgba(255,255,255,.20);
}
.homeGoalPanel strong{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.82);
  font-size:15px;
}
.homeGoalPanel p{
  margin:0;
  color:#fff;
  font-size:clamp(28px,4vw,42px);
  font-weight:900;
  line-height:1;
}
.homeGoalPanel small{
  color:rgba(255,255,255,.72);
  font-weight:800;
}
.dailyGoalRing{
  --goal-progress:0deg;
  width:62px;
  height:62px;
  flex:0 0 auto;
  border-radius:999px;
  background:conic-gradient(#ffd315 var(--goal-progress),rgba(255,255,255,.24) 0);
  position:relative;
}
.dailyGoalRing::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:999px;
  background:#073786;
}
.homeFireIcon{
  font-size:48px;
  filter:drop-shadow(0 9px 12px rgba(0,0,0,.12));
}
.homeQuickActions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:-38px;
  position:relative;
  z-index:2;
}
.homeQuickActions button{
  min-height:134px;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:8px;
  border:1px solid var(--tiles-line);
  border-radius:22px;
  background:#fff;
  color:var(--tiles-ink);
  box-shadow:var(--tiles-shadow);
}
.homeQuickActions button span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(8,119,248,.11);
  color:var(--tiles-blue);
  font-size:26px;
  font-weight:900;
}
.homeQuickActions small,
.quickStartCard small,
.quizChallengeCard small,
.continueLessonCard small{
  color:var(--tiles-muted);
  font-weight:750;
}
.quickStartGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.quickStartCard{
  min-height:118px;
  display:grid;
  align-content:center;
  justify-items:start;
  gap:8px;
  border:0;
  border-radius:24px;
  padding:18px;
  color:#fff;
  text-align:left;
  box-shadow:var(--tiles-soft-shadow);
  position:relative;
  overflow:hidden;
}
.quickStartCard::after{
  content:"→";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:26px;
  font-weight:900;
  color:rgba(255,255,255,.86);
}
.quickStartCard span{
  font-size:30px;
  font-weight:900;
}
.quickStartCard small{
  color:rgba(255,255,255,.78);
}
.quickStartCard--blue{background:linear-gradient(135deg,#1a8cff,#0068f0);}
.quickStartCard--green{background:linear-gradient(135deg,#27c87c,#1ead60);}
.quickStartCard--purple{background:linear-gradient(135deg,#8b5cf6,#6a50ee);}
.quickStartCard--yellow{background:linear-gradient(135deg,#ffce3b,#f5a90a);color:#1f2933;}
.quickStartCard--yellow small,.quickStartCard--yellow::after{color:rgba(31,41,51,.62);}
.quickStartCard--red{background:linear-gradient(135deg,#ff6375,#e93a35);}
.quickStartCard--teal{background:linear-gradient(135deg,#27c9b2,#0a9e9a);}
.continueList{
  display:grid;
  gap:12px;
}
.continueLessonCard{
  min-height:88px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(120px,180px) auto;
  align-items:center;
  gap:14px;
  border:1px solid var(--tiles-line);
  border-radius:22px;
  background:#fff;
  padding:12px 16px;
  text-align:left;
  box-shadow:0 8px 20px rgba(18,26,47,.06);
}
.continueLessonIcon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#fff;
  font-weight:900;
}
.continueLessonIcon--blue{background:#4f80d4;}
.continueLessonIcon--green{background:#3e9c4e;}
.continueLessonIcon--yellow{background:#f1b91a;color:#1f2933;}
.continueLessonIcon--purple{background:#7c5cf2;}
.continueLessonIcon--teal{background:#22b8aa;}
.continueLessonIcon--red{background:#e93a35;}
.continueLessonProgress,
.lessonProgress{
  display:flex;
  align-items:center;
  gap:8px;
}
.continueLessonProgress i,
.lessonProgress i{
  display:block;
  width:100%;
  min-width:82px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#21c98b var(--progress),rgba(18,26,47,.09) 0);
}
.continueLessonProgress em,
.lessonProgress em{
  color:var(--tiles-muted);
  font-style:normal;
  font-size:12px;
  font-weight:850;
}
.learnTopicList{
  display:grid;
  gap:18px;
}
.learnTopicBlock{
  border:1px solid var(--tiles-line);
  border-radius:30px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--tiles-soft-shadow);
  padding:clamp(16px,2.4vw,22px);
}
.learnTopicBlock header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.learnTopicBlock h2{
  margin:0;
  font-size:clamp(22px,3vw,30px);
  letter-spacing:-.035em;
}
.learnTopicBlock p{
  margin:0;
  color:var(--tiles-muted);
  font-weight:800;
}
.learnLessonList{
  display:grid;
  gap:10px;
}
.learnLessonCard{
  display:grid;
  grid-template-columns:82px minmax(0,1fr) minmax(110px,180px) 110px;
  align-items:center;
  gap:14px;
  min-height:82px;
  border:1px solid var(--tiles-line);
  border-radius:22px;
  background:#fff;
  padding:14px;
  color:var(--tiles-ink);
  text-align:left;
  box-shadow:0 8px 18px rgba(18,26,47,.05);
}
.learnLessonCard:hover:not(:disabled),
.learnLessonCard:focus-visible:not(:disabled),
.quizChallengeCard:hover,
.quizChallengeCard:focus-visible,
.quickStartCard:hover,
.quickStartCard:focus-visible,
.homeQuickActions button:hover,
.homeQuickActions button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(18,26,47,.13);
}
.lessonNumber{
  font-size:12px;
  font-weight:900;
  color:var(--tiles-blue);
}
.lessonMain{
  display:grid;
  gap:4px;
}
.lessonMain small{
  color:var(--tiles-muted);
  font-weight:750;
}
.lessonStatus{
  justify-self:end;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(8,119,248,.10);
  color:#0b62d8;
  font-size:12px;
  font-weight:900;
}
.learnLessonCard.is-locked{
  opacity:.58;
  cursor:not-allowed;
}
.learnLessonCard.is-locked .lessonStatus{
  background:rgba(18,26,47,.08);
  color:#6e7787;
}
.quizLandingHero{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:8px;
  padding:clamp(22px,4vw,42px);
  border-radius:34px;
  background:linear-gradient(145deg,#087cff,#0065eb);
  color:#fff;
  box-shadow:0 20px 46px rgba(0,94,232,.20);
}
.quizLandingHero .eyebrow,
.quizLandingHero p{
  color:rgba(255,255,255,.82) !important;
}
.quizLandingHero h1{
  color:#fff;
}
.quizChallengeGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.quizChallengeGrid--featured{
  grid-template-columns:1fr;
}
.quizChallengeCard{
  min-height:132px;
  display:grid;
  align-content:center;
  gap:8px;
  border:1px solid var(--tiles-line);
  border-radius:24px;
  background:#fff;
  color:var(--tiles-ink);
  padding:18px;
  text-align:left;
  box-shadow:var(--tiles-soft-shadow);
}
.quizChallengeCard > span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(8,119,248,.10);
  color:var(--tiles-blue);
  font-size:24px;
  font-weight:900;
}
.quizChallengeCard--daily{
  min-height:154px;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  background:linear-gradient(135deg,#fff7dd,#fff);
}
.quizChallengeCard--daily small,
.quizChallengeCard--daily strong{
  grid-column:2;
}
.quizChallengeCard--daily > span{
  grid-row:1 / span 2;
  background:#fff;
  color:#f47710;
}
.masteryBanner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(135deg,rgba(18,26,47,.92),rgba(16,64,160,.90));
  color:#fff;
}
.masteryBanner h2,
.masteryBanner p{
  margin:0;
}
.masteryBanner p{
  color:rgba(255,255,255,.76);
  margin-top:4px;
}
.profileStatsGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.profileStatCard{
  min-height:144px;
  display:grid;
  align-content:center;
  gap:8px;
  border:1px solid var(--tiles-line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--tiles-soft-shadow);
  padding:18px;
  text-align:center;
}
.profileStatCard span{
  font-size:28px;
}
.profileStatCard strong{
  font-size:clamp(28px,4vw,42px);
  line-height:1;
}
.profileStatCard small{
  color:var(--tiles-muted);
  font-weight:800;
}
.activityDayGrid{
  display:grid;
  grid-template-columns:repeat(14,1fr);
  gap:7px;
}
.activityDayCell{
  aspect-ratio:1;
  border-radius:8px;
  background:rgba(18,26,47,.08);
}
.activityDayCell.is-active{
  background:linear-gradient(135deg,#28c985,#0877f8);
  box-shadow:0 6px 12px rgba(8,119,248,.16);
}
.profileInfoCard{
  display:grid;
  gap:6px;
}
.profileInfoCard h2,
.profileInfoCard p{
  margin:0;
}
.profileInfoCard p{
  color:var(--tiles-muted);
  font-weight:700;
}
.onboardingPanel{
  border-radius:34px !important;
  background:linear-gradient(180deg,#f8fbff 0%,#fff 100%) !important;
  border:1px solid rgba(255,255,255,.86) !important;
  box-shadow:0 30px 80px rgba(18,26,47,.20) !important;
}
.onboardingSlide h1{
  color:var(--tiles-ink);
  letter-spacing:-.05em;
}
.onboardingSlide p:not(.eyebrow){
  color:var(--tiles-muted) !important;
  font-weight:650 !important;
}
.onboardingNext{
  background:linear-gradient(180deg,#087cff,#0065eb) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(0,94,232,.22) !important;
}
.onboardingArrow{
  background:#fff !important;
  color:var(--tiles-ink) !important;
  box-shadow:var(--tiles-soft-shadow) !important;
}
.onboardingDots button.is-active{
  background:var(--tiles-blue) !important;
}
@media (min-width:1061px){
  .appShell[data-screen="home"]{
    grid-template-rows:minmax(0,1fr) 0 !important;
  }
  .v3HomePage{
    padding-bottom:20px;
  }
}
@media (max-width:1060px){
  .screen--learn,
  .screen--profile,
  .screen--quiz-home{
    padding:20px max(15px,env(safe-area-inset-left)) calc(28px + var(--nav-h));
  }
  .homeDashboardHero{
    border-radius:0 0 34px 34px;
    min-height:520px;
  }
  .homeHeroTiles{
    width:310px;
    max-width:82vw;
    right:24px;
    top:210px;
  }
  .homeQuickActions{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .quickStartGrid,
  .quizChallengeGrid,
  .profileStatsGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .learnLessonCard{
    grid-template-columns:78px minmax(0,1fr);
  }
  .lessonProgress,
  .lessonStatus{
    grid-column:2;
  }
  .lessonStatus{
    justify-self:start;
  }
}
@media (max-width:760px){
  .v3Page{
    gap:18px;
  }
  .v3PageHeader{
    text-align:left;
    justify-items:start;
  }
  .homeDashboardHero{
    min-height:520px;
    padding:26px 22px 22px;
  }
  .homeDashboardLogo{
    width:118px;
    height:38px;
  }
  .homeHeroText{
    margin-top:12px;
  }
  .homeHeroText h1{
    font-size:40px;
  }
  .homeHeroTiles{
    right:10px;
    top:202px;
    transform:scale(.82);
    transform-origin:top right;
  }
  .homeGoalPanel{
    grid-template-columns:1fr;
    border-radius:22px;
  }
  .homeGoalPanel article{
    min-height:88px;
    padding:16px 18px;
  }
  .homeGoalPanel article + article{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.18);
  }
  .dailyGoalRing{
    width:54px;
    height:54px;
  }
  .homeFireIcon{
    font-size:40px;
  }
  .homeQuickActions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:-28px;
  }
  .homeQuickActions button{
    min-height:118px;
    border-radius:20px;
  }
  .quickStartGrid,
  .quizChallengeGrid,
  .profileStatsGrid{
    grid-template-columns:1fr;
  }
  .quickStartCard{
    min-height:96px;
  }
  .continueLessonCard{
    grid-template-columns:auto minmax(0,1fr) auto;
  }
  .continueLessonProgress{
    grid-column:2 / -1;
  }
  .learnTopicBlock,
  .v3Section{
    border-radius:24px;
  }
  .learnTopicBlock header,
  .v3SectionHeader{
    align-items:flex-start;
    flex-direction:column;
  }
  .learnLessonCard{
    grid-template-columns:1fr;
    gap:8px;
  }
  .lessonProgress,
  .lessonStatus{
    grid-column:auto;
  }
  .quizLandingHero{
    text-align:left;
    justify-items:start;
    border-radius:26px;
  }
  .quizChallengeCard--daily{
    grid-template-columns:1fr;
  }
  .quizChallengeCard--daily small,
  .quizChallengeCard--daily strong{
    grid-column:auto;
  }
  .quizChallengeCard--daily > span{
    grid-row:auto;
  }
  .masteryBanner{
    align-items:flex-start;
    flex-direction:column;
  }
  .activityDayGrid{
    grid-template-columns:repeat(7,1fr);
  }
}

/* v2.1.95 final home overrides. Kept at the end so older home rules cannot win. */
.brandHeaderLogo{
  display:block;
  width:min(360px,42vw);
  max-width:100%;
  height:42px;
  object-fit:contain;
  object-position:left center;
}
.homeHeader{
  position:relative;
  justify-content:center !important;
}
.homeHeaderLogo{
  width:min(440px,68vw) !important;
  height:auto !important;
  max-height:82px !important;
  object-fit:contain !important;
}
.homeHeaderActions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}
.homeHero{
  text-align:center !important;
}
.homeHero .eyebrow{
  justify-content:center !important;
}
.homeHero span{
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}
.homePrimaryActions{
  width:min(980px,100%) !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(18px,2.4vw,26px) !important;
  margin-top:clamp(32px,5vw,58px) !important;
}
.homeActionCard{
  min-height:250px !important;
}
.homeActionCard--quiz,
.homeActionCard--transform{
  grid-column:auto !important;
}
.homeActionCard--transform::after{
  background:#f1c84b;
}
.homeFeatureSummary,
.homeDownloadCard{
  margin-top:clamp(28px,5vw,54px) !important;
}
.homeDownloadCard img{
  border-radius:16px;
  box-shadow:0 10px 22px rgba(31,41,51,.14);
}
.homeFooter{
  flex-direction:column;
  gap:6px !important;
  opacity:.88;
}
.homeFooterLogo{
  display:block;
  width:auto;
  height:26px;
  object-fit:contain;
  opacity:.72;
  margin-bottom:4px;
}
.homeFooter span + span::before{
  content:"" !important;
  margin:0 !important;
}
.installHelpHero img{
  border-radius:18px;
  box-shadow:0 10px 24px rgba(31,41,51,.14);
}
.onboardingInstallVisual{
  width:min(360px,78vw) !important;
  height:250px !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.installAppTile{
  overflow:hidden;
}
.installAppTile img{
  width:92px !important;
  height:92px !important;
  border-radius:22px;
}
.installDownloadCue{
  position:static !important;
  justify-self:center;
  width:auto !important;
  min-height:42px;
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border-radius:999px !important;
  background:#1f2933;
  color:#fff;
  font:900 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  box-shadow:0 14px 28px rgba(31,41,51,.16);
}
.installDownloadCue span{
  font-size:20px;
  line-height:1;
}
@media (prefers-reduced-motion:no-preference){
  .homeHero,
  .homePrimaryActions,
  .homeFeatureSummary,
  .homeDownloadCard,
  .homeSecondaryLinks,
  .homeFooter{
    animation:homeSectionReveal .64s cubic-bezier(.2,.8,.2,1) both;
  }
  .homePrimaryActions{animation-delay:.05s;}
  .homeFeatureSummary{animation-delay:.10s;}
  .homeDownloadCard{animation-delay:.15s;}
  .homeSecondaryLinks{animation-delay:.20s;}
  .homeFooter{animation-delay:.24s;}
}
@keyframes homeSectionReveal{
  from{opacity:0;transform:translateY(18px) scale(.975);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@media (max-width:760px){
  .brandHeaderLogo{
    width:min(238px,62vw);
    height:34px;
  }
  .homeHeader{
    min-height:64px !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:8px !important;
  }
  .homeHeaderLogo{
    width:min(315px,72vw) !important;
    max-height:66px !important;
  }
  .homeHeaderActions{
    position:static !important;
    transform:none !important;
    width:100%;
    justify-content:center;
    margin-top:10px;
  }
  .homeHero{
    text-align:center !important;
  }
  .homeHero .eyebrow{
    justify-content:center !important;
  }
  .homeHero p{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .homePrimaryActions{
    grid-template-columns:1fr !important;
    justify-items:center;
  }
  .homeActionCard{
    width:min(420px,100%);
    text-align:center;
    justify-items:center;
  }
  .homeActionCard--transform{
    min-height:0 !important;
    padding:18px;
    border-radius:22px;
  }
  .homeFeatureSummary,
  .homeDownloadCard{
    width:min(440px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center;
    justify-items:center;
  }
  .homeFeatureSummary{
    align-items:center !important;
  }
  .homeFeatureChips{
    justify-content:center !important;
  }
  .homeDownloadCard{
    grid-template-columns:1fr !important;
  }
  .homeDownloadCard img{
    justify-self:center;
  }
  .onboardingInstallVisual{
    height:230px !important;
  }
}

/* v2.1.98 - v3 navigation, font and onboarding polish. */
body,
.appShell,
button,
input,
select,
textarea{
  font-family:var(--tiles-ui-font,"Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
}
.tile .label,
.tileLabel,
.tile__label,
.notationText,
.previewEquation,
.quizEquation,
.quizExpression,
.transformCurrentExpression,
.transformOriginalExpression,
.quizTile,
.quizTile span{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
}
.appHeader{
  position:relative;
  padding-left:max(14px,env(safe-area-inset-left)) !important;
  padding-right:max(18px,env(safe-area-inset-right)) !important;
}
.headerHomeBtn{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:15px;
}
.headerHomeBtn svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.appShell[data-screen="home"] .headerHomeBtn,
.appShell[data-screen="welcome"] .headerHomeBtn{
  display:none;
}
@media (min-width:1061px){
  .desktopTopNav{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    margin:0;
    justify-content:center;
  }
  .topNavItem{
    font-family:var(--tiles-ui-font,"Nunito",system-ui,sans-serif);
    font-weight:900;
  }
}
.navItem{
  font-family:var(--tiles-ui-font,"Nunito",system-ui,sans-serif);
  font-weight:900;
}
.navItem .navSvg{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
}
.navItem .navSvg svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bottomNav{
  grid-template-columns:repeat(5,minmax(50px,70px)) !important;
  justify-content:center !important;
  justify-items:center;
  gap:6px !important;
}
.bottomNav .navItem{
  width:100%;
  max-width:70px;
  border:1px solid transparent;
  border-radius:18px;
}
.bottomNav .navItem.is-active{
  background:rgba(8,119,248,.12) !important;
  border-color:rgba(8,119,248,.34) !important;
  color:#075bd4 !important;
}
.homeHeroTiles,
.welcomeDot{
  display:none !important;
}
.welcomeTile--negX{
  width:76px !important;
  height:208px !important;
  border-radius:16px !important;
  font-size:54px !important;
}
.homeDashboardLogo{
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.16));
}
@media (max-width:1060px){
  .screen--home{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .v3HomePage{
    width:100%;
  }
  .homeDashboardHero{
    width:100%;
    border-radius:0 0 34px 34px !important;
  }
  .homeQuickActions,
  .v3Section,
  .homeDownloadCard,
  .homeSecondaryLinks,
  .homeFooter{
    width:auto;
    margin-left:max(16px,env(safe-area-inset-left)) !important;
    margin-right:max(16px,env(safe-area-inset-right)) !important;
  }
  .welcomeTile--negX{
    width:58px !important;
    height:162px !important;
    border-radius:12px !important;
    font-size:42px !important;
  }
}
.installDownloadCue{
  position:static !important;
  transform:none !important;
  width:min(260px,100%);
  margin:14px auto 0 !important;
  padding:9px 13px !important;
  border-radius:16px !important;
  background:rgba(8,119,248,.08) !important;
  border:1px solid rgba(8,119,248,.16) !important;
  color:#075bd4 !important;
  box-shadow:none !important;
  gap:8px !important;
  text-align:center;
}
.installDownloadCue span{
  width:24px !important;
  height:24px !important;
  font-size:15px !important;
}
.installDownloadCue strong{
  font-size:13px;
  line-height:1.2;
}
.onboardingInstallHint{
  display:block;
  max-width:360px;
  margin:8px auto 0 !important;
  color:#516173;
  font-size:13px;
  line-height:1.45;
}

/* v3.0.0 b200 — final Prompt 4 responsive and navigation corrections. */
:root{
  --tiles-ui-font:"Nunito","Avenir Next","Trebuchet MS",ui-rounded,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}
.appShell,
.appHeader,
.desktopTopNav,
.bottomNav,
.v3Page,
.onboardingPanel,
.overlayPanel{
  font-family:var(--tiles-ui-font) !important;
}
.v3Page h1,.v3Page h2,.v3SectionHeader h2,.topNavItem,.navItem,.quickStartCard strong,.homeQuickActions strong,.onboardingSlide h1,.welcomePrimaryBtn,.welcomeSecondaryBtn,.profileStatCard strong{
  font-family:var(--tiles-ui-font) !important;
  font-weight:900 !important;
}
.tile,.tilePreview,.workingPanel,.notationText,.previewEquation{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif !important;
}
/* Login tile placement and decoration cleanup. */
.welcomeDot,.welcomeDot--blue,.welcomeDot--green,.welcomeDot--ring{display:none !important;}
.welcomeTile--negX{
  left:62% !important;
  right:auto !important;
  top:92px !important;
  width:76px !important;
  height:208px !important;
  border-radius:16px !important;
  font-size:54px !important;
  transform:rotate(6deg) !important;
}
@media (max-width:760px){
  .welcomeTile--negX{
    left:61% !important;
    right:auto !important;
    top:96px !important;
    width:58px !important;
    height:162px !important;
    border-radius:12px !important;
    font-size:42px !important;
  }
}
/* Home hero must begin at the very top like the login hero. */
.screen--home{
  padding-top:0 !important;
}
.v3HomePage{
  margin-top:0 !important;
}
.homeDashboardHero{
  margin-top:0 !important;
}
@media (min-width:1061px){
  .screen--home{padding-top:0 !important;}
}
@media (max-width:1060px){
  .screen--home{
    padding-left:0 !important;
    padding-right:0 !important;
    padding-top:0 !important;
  }
  .homeDashboardHero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    border-radius:0 0 34px 34px !important;
  }
}
/* Desktop navigation: same icon style as mobile, centred in header. */
@media (min-width:1061px){
  .desktopTopNav{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
  }
  .topNavItem{
    min-height:42px !important;
    padding:0 13px !important;
    border-radius:18px !important;
    border:1px solid transparent !important;
    gap:7px !important;
  }
  .topNavItem .navSvg,
  .topNavItem .navSvg svg{
    width:22px !important;
    height:22px !important;
  }
  .topNavItem .navSvg svg{
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }
  .topNavItem.is-active{
    background:rgba(8,119,248,.12) !important;
    border-color:rgba(8,119,248,.34) !important;
    color:#075bd4 !important;
    box-shadow:none !important;
  }
  .brandHeaderLogo{
    object-position:left center !important;
  }
  /* Board workspace: no top Home navigation; central board logo. */
  .appShell[data-screen="board"] .desktopTopNav,
  .appShell[data-screen="board"] .headerHomeBtn{
    display:none !important;
  }
  .appShell[data-screen="board"] .appHeader{
    justify-content:center !important;
  }
  .appShell[data-screen="board"] .brandLockup{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
  }
  .appShell[data-screen="board"] .brandHeaderLogo{
    object-position:center center !important;
  }
  .appShell[data-screen="board"] .headerActions{
    margin-left:auto !important;
  }
}
/* Mobile navigation: compact selected state and consistent icons. */
.bottomNav{
  grid-template-columns:repeat(5,minmax(50px,70px)) !important;
  justify-content:center !important;
  justify-items:center !important;
  gap:6px !important;
}
.bottomNav .navItem{
  width:100% !important;
  max-width:70px !important;
  border:1px solid transparent !important;
  border-radius:18px !important;
  padding:5px 4px !important;
}
.bottomNav .navItem.is-active{
  background:rgba(8,119,248,.12) !important;
  border-color:rgba(8,119,248,.34) !important;
  color:#075bd4 !important;
}
.navSvg svg rect{rx:1.5;}
/* Activity calendar: read left-to-right, top-to-bottom. */
.activityDayGrid{
  grid-template-columns:repeat(7,minmax(18px,1fr)) !important;
  grid-auto-flow:row !important;
  gap:8px !important;
  align-items:center;
}
.activityDayCell{
  border-radius:7px !important;
  background:rgba(18,26,47,.08) !important;
  border:1px solid rgba(18,26,47,.05);
}
.activityDayCell.is-active{
  background:linear-gradient(135deg,#49d483,#0877f8) !important;
  border-color:rgba(8,119,248,.22);
  box-shadow:0 6px 12px rgba(8,119,248,.14) !important;
}
.activityDayCell.is-today{
  outline:2px solid rgba(8,119,248,.36);
  outline-offset:2px;
}
/* Guest login/sign-in area remains optional and visually part of the welcome card. */
.welcomeLoginPanel{
  width:100%;
  max-width:520px;
  border:1px solid rgba(8,119,248,.12);
  border-radius:22px;
  background:rgba(255,255,255,.76);
  padding:14px 16px;
  box-shadow:0 10px 24px rgba(18,26,47,.08);
}
.welcomeSecondaryBtn{
  width:100%;
}

/* v3.0.0 b201 — restore Home wave and correct header/home-button behaviour. */
/* Keep the normal HEADER image left aligned in all app headers. Only the desktop nav is centred. */
.appHeader{
  justify-content:space-between !important;
}
.brandLockup{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  margin:0 !important;
}
.brandHeaderLogo{
  object-position:left center !important;
}

/* The small square Home button should only appear on board pages in phone/tablet mode. */
.headerHomeBtn{
  display:none !important;
}
@media (max-width:1060px){
  .appShell[data-screen="board"] .headerHomeBtn{
    display:inline-grid !important;
  }
}
@media (min-width:1061px){
  .appShell[data-screen="board"] .headerHomeBtn{
    display:none !important;
  }
  .appShell[data-screen="board"] .appHeader{
    justify-content:space-between !important;
  }
  .appShell[data-screen="board"] .brandLockup{
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
  }
  .appShell[data-screen="board"] .brandHeaderLogo{
    object-position:left center !important;
  }
  .appShell[data-screen="board"] .headerActions{
    margin-left:0 !important;
  }
}

/* Restore the clear curved blue-to-white separation on the Home screen. */
.screen--home{
  padding-top:0 !important;
  background:#f8fbff !important;
}
.v3HomePage{
  margin-top:0 !important;
}
.homeDashboardHero{
  position:relative !important;
  overflow:hidden !important;
  margin-top:0 !important;
  background:linear-gradient(145deg,#087cff 0%,#0068f0 58%,#005adc 100%) !important;
  border-radius:0 0 38px 38px !important;
}
.homeDashboardHero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:0 !important;
  left:-12vw !important;
  right:-12vw !important;
  bottom:-94px !important;
  height:205px !important;
  background:#f8fbff !important;
  border-radius:50% 50% 0 0 / 72% 72% 0 0 !important;
  transform:none !important;
  opacity:1 !important;
  pointer-events:none !important;
}
.homeDashboardTop,
.homeHeroText,
.homeGoalPanel{
  position:relative !important;
  z-index:2 !important;
}
@media (max-width:1060px){
  .homeDashboardHero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    border-radius:0 0 36px 36px !important;
  }
  .homeDashboardHero::after{
    left:-22vw !important;
    right:-22vw !important;
    bottom:-86px !important;
    height:190px !important;
    border-radius:50% 50% 0 0 / 68% 68% 0 0 !important;
  }
}


/* v3.0.0 b202 — desktop board navigation and header correction. */
@media (min-width:1061px){
  .appShell[data-screen="board"] .desktopTopNav{
    display:flex !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .appShell[data-screen="board"] .appHeader{
    display:flex !important;
    justify-content:space-between !important;
  }
  .appShell[data-screen="board"] .brandLockup{
    position:static !important;
    transform:none !important;
    left:auto !important;
    top:auto !important;
  }
  .appShell[data-screen="board"] .brandHeaderLogo{
    object-position:left center !important;
  }
  .appShell[data-screen="board"] .headerHomeBtn{
    display:none !important;
  }
}


/* v3.0.0 b203 — phone/tablet dashboard layout and profile icon consistency. */
.homeAvatarBtn{
  display:inline-grid !important;
  place-items:center !important;
  padding:0 !important;
}
.homeAvatarBtn .navSvg,
.homeAvatarBtn .navSvg svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
}
.homeAvatarBtn .navSvg svg{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
@media (max-width:1060px){
  .homeGoalPanel{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .homeGoalPanel article + article{
    border-left:1px solid rgba(255,255,255,.20) !important;
    border-top:0 !important;
  }
  .quickStartGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .quickStartCard{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    align-content:end !important;
    padding:14px !important;
    border-radius:24px !important;
  }
  .quickStartCard::after{
    top:14px !important;
    right:14px !important;
    transform:none !important;
  }
}
@media (max-width:760px){
  .homeGoalPanel{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    border-radius:22px !important;
  }
  .homeGoalPanel article{
    min-height:96px !important;
    padding:14px 12px !important;
    gap:10px !important;
  }
  .homeGoalPanel article + article{
    border-left:1px solid rgba(255,255,255,.20) !important;
    border-top:0 !important;
  }
  .dailyGoalRing{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
  }
  .homeGoalPanel strong{
    font-size:13px !important;
  }
  .homeGoalPanel p{
    font-size:20px !important;
  }
  .homeGoalPanel small{
    font-size:10px !important;
  }
  .homeFireIcon{
    font-size:34px !important;
  }
  .quickStartGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .quickStartCard{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    justify-items:start !important;
    align-content:end !important;
    gap:5px !important;
    padding:13px !important;
    border-radius:22px !important;
  }
  .quickStartCard span{
    font-size:24px !important;
  }
  .quickStartCard strong{
    font-size:14px !important;
    line-height:1.05 !important;
  }
  .quickStartCard small{
    font-size:11px !important;
    line-height:1.1 !important;
  }
}

/* v3.0.0 b204 — tighten Home dashboard spacing and compact mobile goal cards. */
@media (min-width:1061px){
  .homeHeroText{
    max-width:780px !important;
  }
  .homeHeroText h1{
    white-space:nowrap !important;
    font-size:clamp(46px,4.6vw,70px) !important;
  }
}
@media (max-width:1060px){
  .v3HomePage{
    gap:14px !important;
  }
  .homeDashboardHero{
    min-height:430px !important;
    grid-template-rows:auto auto auto !important;
    align-content:start !important;
    gap:10px !important;
    padding-top:18px !important;
    padding-bottom:64px !important;
  }
  .homeDashboardTop{
    margin-bottom:0 !important;
  }
  .homeHeroText{
    align-self:start !important;
    margin-top:0 !important;
    gap:6px !important;
  }
  .homeHeroText p{
    font-size:18px !important;
    line-height:1.1 !important;
  }
  .homeHeroText h1{
    line-height:1.02 !important;
    margin:0 !important;
  }
  .homeGoalPanel{
    align-self:start !important;
    margin-top:4px !important;
  }
  .homeGoalPanel article{
    min-height:82px !important;
    padding:10px 12px !important;
    gap:10px !important;
  }
  .dailyGoalRing{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .homeFireIcon{
    font-size:30px !important;
  }
  .homeQuickActions{
    margin-top:-34px !important;
  }
}
@media (max-width:760px){
  .v3HomePage{
    gap:12px !important;
  }
  .homeDashboardHero{
    min-height:368px !important;
    gap:8px !important;
    padding:14px 18px 54px !important;
  }
  .homeDashboardLogo{
    width:110px !important;
    height:34px !important;
  }
  .homeDashboardActions{
    gap:8px !important;
  }
  .homeStreakPill{
    min-height:34px !important;
    padding:0 11px !important;
  }
  .homeAvatarBtn{
    width:38px !important;
    height:38px !important;
  }
  .homeHeroText{
    margin-top:0 !important;
    gap:4px !important;
  }
  .homeHeroText p{
    font-size:15px !important;
    line-height:1.08 !important;
  }
  .homeHeroText h1{
    font-size:32px !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
  }
  .homeGoalPanel{
    margin-top:2px !important;
    border-radius:18px !important;
  }
  .homeGoalPanel article{
    min-height:68px !important;
    padding:8px 9px !important;
    gap:8px !important;
  }
  .dailyGoalRing{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
  }
  .homeGoalPanel strong{
    font-size:11px !important;
    margin-bottom:2px !important;
  }
  .homeGoalPanel p{
    font-size:16px !important;
  }
  .homeGoalPanel small{
    font-size:8px !important;
    line-height:1 !important;
  }
  .homeFireIcon{
    font-size:26px !important;
  }
  .homeQuickActions{
    margin-top:-30px !important;
    gap:9px !important;
  }
  .homeQuickActions button{
    min-height:92px !important;
    gap:5px !important;
    border-radius:18px !important;
  }
  .homeQuickActions button span{
    width:36px !important;
    height:36px !important;
    border-radius:12px !important;
    font-size:20px !important;
  }
}

/* v3.0.0 b205 — refine mobile/tablet home action cards to match supplied reference. */
.homeQuickActions{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.homeQuickActions button{
  min-height:128px;
  padding:16px 10px 14px;
  gap:9px;
  border:1px solid rgba(22,40,74,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.08), 0 1px 4px rgba(15,23,42,.05);
}
.homeQuickActions .quickActionIcon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:transparent !important;
  border-radius:0 !important;
  font-size:0;
  line-height:1;
}
.homeQuickActions .quickActionIcon svg{
  width:38px;
  height:38px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.homeQuickActions .quickActionIcon--board{color:#2468f2;}
.homeQuickActions .quickActionIcon--solve{color:#35ac43;}
.homeQuickActions .quickActionIcon--learn{color:#efb63a;}
.homeQuickActions .quickActionIcon--quiz{color:#df4a43;}
.homeQuickActions strong{
  font-size:1.02rem;
  line-height:1.1;
  text-align:center;
}
.homeQuickActions small{
  text-align:center;
  font-size:.9rem;
  line-height:1.18;
  color:#6b778c;
}
.homeQuickActions button:hover,
.homeQuickActions button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(15,23,42,.11),0 1px 6px rgba(15,23,42,.06);
}

@media (max-width:1060px){
  .homeQuickActions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
    margin-top:-22px !important;
  }
  .homeQuickActions button{
    min-height:118px !important;
    padding:14px 8px 13px !important;
    gap:7px !important;
    border-radius:20px !important;
  }
  .homeQuickActions .quickActionIcon{
    width:38px !important;
    height:38px !important;
  }
  .homeQuickActions .quickActionIcon svg{
    width:34px !important;
    height:34px !important;
  }
  .homeQuickActions strong{
    font-size:.96rem !important;
  }
  .homeQuickActions small{
    font-size:.8rem !important;
  }
}

@media (max-width:760px){
  .homeQuickActions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:-18px !important;
  }
  .homeQuickActions button{
    min-height:102px !important;
    padding:12px 6px 11px !important;
    gap:6px !important;
    border-radius:18px !important;
  }
  .homeQuickActions .quickActionIcon{
    width:34px !important;
    height:34px !important;
  }
  .homeQuickActions .quickActionIcon svg{
    width:30px !important;
    height:30px !important;
  }
  .homeQuickActions strong{
    font-size:.82rem !important;
    letter-spacing:-.01em !important;
  }
  .homeQuickActions small{
    font-size:.68rem !important;
    line-height:1.14 !important;
  }
}


/* v3.0.0 b206 — rebalance phone/tablet Home hero vertical spacing. */
@media (max-width:1060px){
  .homeDashboardHero{
    gap:14px !important;
    min-height:438px !important;
    padding-top:22px !important;
    padding-bottom:62px !important;
  }
  .homeHeroText{
    margin-top:8px !important;
    gap:8px !important;
  }
  .homeGoalPanel{
    margin-top:10px !important;
  }
  .homeQuickActions{
    margin-top:-30px !important;
  }
}

@media (max-width:760px){
  .homeDashboardHero{
    min-height:382px !important;
    gap:10px !important;
    padding-top:18px !important;
    padding-bottom:52px !important;
  }
  .homeHeroText{
    margin-top:7px !important;
    gap:6px !important;
  }
  .homeGoalPanel{
    margin-top:8px !important;
  }
  .homeQuickActions{
    margin-top:-24px !important;
  }
}


/* v3.0.0 b207 — increase Home hero breathing room and lift action cards further. */
@media (max-width:1060px){
  .homeDashboardHero{
    gap:18px !important;
    min-height:454px !important;
    padding-top:28px !important;
    padding-bottom:58px !important;
  }
  .homeHeroText{
    margin-top:14px !important;
    gap:10px !important;
  }
  .homeGoalPanel{
    margin-top:14px !important;
  }
  .homeQuickActions{
    margin-top:-42px !important;
  }
}

@media (max-width:760px){
  .homeDashboardHero{
    min-height:398px !important;
    gap:14px !important;
    padding-top:24px !important;
    padding-bottom:48px !important;
  }
  .homeHeroText{
    margin-top:13px !important;
    gap:8px !important;
  }
  .homeGoalPanel{
    margin-top:12px !important;
  }
  .homeQuickActions{
    margin-top:-36px !important;
  }
}


/* v3.0.0 b208 — further Home hero spacing and quiz-mode scroll safety. */
@media (max-width:1060px){
  .homeDashboardHero{
    gap:22px !important;
    min-height:470px !important;
    padding-top:34px !important;
    padding-bottom:54px !important;
  }
  .homeHeroText{
    margin-top:20px !important;
    gap:12px !important;
  }
  .homeGoalPanel{
    margin-top:18px !important;
  }
  .homeQuickActions{
    margin-top:-50px !important;
  }
}

@media (max-width:760px){
  .homeDashboardHero{
    min-height:414px !important;
    gap:18px !important;
    padding-top:30px !important;
    padding-bottom:44px !important;
  }
  .homeHeroText{
    margin-top:19px !important;
    gap:10px !important;
  }
  .homeGoalPanel{
    margin-top:16px !important;
  }
  .homeQuickActions{
    margin-top:-44px !important;
  }
}

/* Keep quiz/mini-quiz mode usable when content is taller than the viewport. */
#quizModePanel,
.quizModePanel,
.quizPanel,
.quizWorkspace,
.quizCard,
.quizQuestionCard,
.quizQuestionShell,
.quizOptions,
.quizSummary,
.quizSummaryPanel,
.quizTopicPanel,
.quizModeContent{
  max-height:calc(100dvh - 120px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.screen--quiz,
#quizScreen,
.quizLanding,
.quizPage{
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

body.quiz-mode,
.appShell.quiz-mode,
.boardShell.quiz-mode,
.boardArea.quiz-mode{
  overflow-y:auto;
}

@media (max-width:760px){
  #quizModePanel,
  .quizModePanel,
  .quizPanel,
  .quizWorkspace,
  .quizCard,
  .quizQuestionCard,
  .quizQuestionShell,
  .quizOptions,
  .quizSummary,
  .quizSummaryPanel,
  .quizTopicPanel,
  .quizModeContent{
    max-height:calc(100dvh - 88px);
  }

  .quizActions,
  .quizOptions,
  .quizChoiceGrid,
  .quizStatsGrid{
    max-width:100%;
    overflow-x:hidden;
  }
}

/* v3.0.0 build 210 final cascade overrides. */
.screen--home{padding-top:0 !important;}
.homeDashboardHero{
  border-radius:0 0 42px 42px !important;
  min-height:clamp(430px,48vw,560px) !important;
}
.homeGoalPanel article{min-height:122px !important;}
.homeGoalPanel p{font-size:clamp(34px,4.5vw,52px) !important;white-space:nowrap;}
.homeGoalPanel small,.homeQuickActions small{display:none !important;}
.homeStreakPill strong{white-space:nowrap;}
.dailyGoalRing{width:72px !important;height:72px !important;}
.homeQuickActions{margin-top:-34px !important;}
.homeQuickActions button{min-height:104px !important;padding:12px 8px !important;gap:7px !important;}
.homeQuickActions .quickActionIcon{width:34px !important;height:34px !important;}
.homeQuickActions .quickActionIcon svg{width:28px !important;height:28px !important;}
.quickStartGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;gap:10px !important;}
.quickStartCard{min-height:82px !important;padding:13px 42px 13px 14px !important;border-radius:19px !important;gap:4px !important;}
.quickStartCard span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.20);font-size:16px !important;}
.quickStartCard::after{right:14px !important;font-size:20px !important;}
.quickStartCard small{font-size:12px !important;line-height:1.2 !important;font-weight:500 !important;}
.v3Page p,.homeQuickActions small,.profileStatCard small,.learnLessonCard small,.quizChallengeCard small{font-weight:500 !important;}
.learnTopicToggle{width:100%;border:0;background:transparent;color:var(--tiles-ink);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:2px;}
.learnTopicToggle span{display:grid;gap:4px;}
.learnTopicToggle h2,.learnTopicToggle p{margin:0;}
.learnTopicToggle b{width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:rgba(8,119,248,.10);color:#0b62d8;font-size:22px;line-height:1;}
.learnTopicBlock.is-expanded .learnTopicToggle{margin-bottom:12px;}
.learnLessonList[hidden]{display:none !important;}
.profileHero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(20px,3vw,30px);border-radius:32px;background:linear-gradient(145deg,#087cff,#0065eb);color:#fff;box-shadow:0 20px 46px rgba(0,94,232,.20);}
.profileAvatar{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.38);font-size:36px;font-weight:950;}
.profileHeroText{display:grid;gap:4px;}
.profileHeroText .eyebrow,.profileHeroText p{color:rgba(255,255,255,.82) !important;}
.profileHeroText h1,.profileHeroText p{margin:0;}
.profileSettingsWrap{position:relative;}
.profileSettingsBtn{background:rgba(255,255,255,.18) !important;color:#fff !important;border-color:rgba(255,255,255,.32) !important;}
.profileSettingsMenu{position:absolute;right:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 34px));max-height:min(620px,calc(100dvh - 140px));overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-radius:24px;background:#fff;color:var(--tiles-ink);border:1px solid rgba(18,26,47,.10);box-shadow:0 24px 60px rgba(18,26,47,.22);z-index:80;}
.profileSettingsMenu[hidden]{display:none !important;}
.profileSettingsMenu button{min-height:92px;display:grid;align-content:start;gap:4px;border:1px solid rgba(18,26,47,.08);border-radius:18px;background:#f8fbff;color:var(--tiles-ink);padding:12px;text-align:left;}
.profileSettingsMenu button span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(8,119,248,.11);color:#0b62d8;font-weight:950;}
.profileSettingsMenu button small{color:var(--tiles-muted);font-weight:500;}
.profileInfoPanel{border:1px solid var(--tiles-line);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:var(--tiles-soft-shadow);overflow:hidden;}
.profileInfoPanel[hidden]{display:none !important;}
.profileInfoPanel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--tiles-line);}
.profileInfoPanel h2{margin:0;}
.profileInfoContent{max-height:min(68dvh,680px);overflow:auto;padding:18px;}
.profileInfoDoc{display:grid;gap:12px;color:#2f3a49;}
.profileInfoDoc h3{margin:14px 0 2px;color:#121a2f;}
.profileInfoDoc p,.profileInfoDoc li{margin:0;line-height:1.55;font-weight:500;}
.profileInfoDoc ul{margin:0;padding-left:1.2rem;}
.profileInfoIntro{display:flex;align-items:center;gap:14px;padding:14px;border-radius:22px;background:#f3f8ff;}
.profileInfoIntro img{width:64px;height:64px;border-radius:18px;}
.profileTermsDoc{max-width:840px;}
.profileStatsGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;}
.profileStatCard{min-height:118px !important;}
.activityDayGrid{grid-template-columns:repeat(7,minmax(16px,1fr)) !important;max-width:520px;}
.quizProgressPath{--quiz-path:0%;position:relative;display:grid;grid-template-columns:repeat(11,1fr);align-items:center;gap:0;margin:0 0 12px;padding:0 3px;}
.quizProgressPath::before,.quizProgressPathLine{content:"";position:absolute;left:10px;right:10px;top:50%;height:3px;border-radius:999px;background:rgba(18,26,47,.12);transform:translateY(-50%);}
.quizProgressPathLine{right:auto;width:calc((100% - 20px) * var(--quiz-path) / 100);background:#0877f8;z-index:1;}
.quizProgressNode{position:relative;z-index:2;justify-self:center;width:13px;height:13px;border-radius:999px;background:#fff;border:2px solid rgba(18,26,47,.16);}
.quizProgressNode.is-complete,.quizProgressNode.is-active{border-color:#0877f8;background:#0877f8;}
.quizProgressNode.is-active{box-shadow:0 0 0 5px rgba(8,119,248,.12);}
.quizOptionGrid--two,.quizOptionGrid--compact2{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.quizOption{color:#111827 !important;}
.quizOptionMath{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-size:1.18em;font-weight:800;}
@media (max-width:760px){
  .screen--home{padding-inline:0 !important;}
  .v3HomePage{width:100% !important;}
  .homeDashboardHero{border-radius:0 0 34px 34px !important;padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right)) !important;min-height:430px !important;}
  .homeQuickActions,.v3Section,.homeDownloadCard,.homeSecondaryLinks,.homeFooter{width:calc(100% - 28px) !important;margin-left:auto !important;margin-right:auto !important;}
  .homeGoalPanel article{min-height:94px !important;padding:14px 12px !important;gap:10px !important;}
  .homeGoalPanel p{font-size:24px !important;}
  .dailyGoalRing{width:50px !important;height:50px !important;}
  .homeQuickActions{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .homeQuickActions button{min-height:86px !important;}
  .homeQuickActions strong{font-size:.78rem !important;line-height:1.05 !important;}
  .quickStartGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .profileHero{grid-template-columns:auto minmax(0,1fr) auto;border-radius:28px;}
  .profileAvatar{width:56px;height:56px;border-radius:20px;font-size:28px;}
  .profileSettingsMenu{position:fixed;left:14px;right:14px;top:auto;bottom:calc(var(--nav-h) + 14px);width:auto;max-height:min(520px,calc(100dvh - 170px));}
}

/* v3.0.0 build 211 - zero-pair revert support, hero geometry and typography polish. */
:root{
  --tiles-ui-font:"Nunito","Avenir Next","SF Pro Rounded","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}
body,
button,
input,
select,
textarea,
.appShell,
.welcomeScreen,
.overlayPanel,
.profileSettingsMenu,
.toolbarHelpFlyout{
  font-family:var(--tiles-ui-font);
}
.tile,
.tile span,
.tileLabel,
.tile__label,
.quizOptionMath,
.notationText,
.previewEquation,
.mathText,
.equationText{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
}
.welcomeScreen{
  grid-template-rows:auto 1fr !important;
  background:#fff !important;
}
.welcomeHero{
  min-height:clamp(420px,54dvh,620px) !important;
  padding-bottom:clamp(132px,14dvh,188px) !important;
  overflow:hidden !important;
}
.welcomeHero::after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:clamp(-92px,-8dvh,-54px);
  height:clamp(132px,16dvh,210px);
  border-radius:50% 50% 0 0 / 78% 78% 0 0;
  background:#fff;
  transform:rotate(-1.4deg);
  transform-origin:center bottom;
  z-index:1;
}
.welcomeLogo,
.welcomeCopy{
  position:relative;
  z-index:2;
}
.welcomeWave{
  display:none !important;
}
.welcomeTiles,
.welcomeActions,
.guestLoginCard{
  position:relative;
  z-index:3;
}
.screen--home{
  padding-inline:0 !important;
  padding-top:0 !important;
  background:linear-gradient(180deg,#fff 0%,#f7faff 48%,#f8fbff 100%) !important;
}
.v3HomePage{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  gap:clamp(20px,3vw,34px) !important;
}
.homeDashboardHero{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 0 clamp(34px,5vw,56px) clamp(34px,5vw,56px) !important;
  min-height:clamp(440px,46vw,590px) !important;
  padding-inline:max(clamp(22px,5vw,70px),env(safe-area-inset-left)) max(clamp(22px,5vw,70px),env(safe-area-inset-right)) !important;
}
.homeDashboardTop,
.homeHeroText,
.homeGoalPanel{
  width:min(1160px,100%) !important;
  margin-inline:auto !important;
}
.homeQuickActions,
.v3Section,
.homeDownloadCard,
.homeSecondaryLinks,
.homeFooter{
  width:min(1160px,calc(100% - clamp(28px,6vw,84px))) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.screen--learn{
  background:linear-gradient(180deg,#eaf4ff 0,#f8fbff 230px,#f8fbff 100%) !important;
}
.screen--learn .v3PageHeader{
  width:min(1160px,100%) !important;
  margin-inline:auto !important;
  border:0 !important;
  border-radius:0 0 34px 34px !important;
  background:linear-gradient(145deg,#087cff 0%,#0068f0 58%,#005adc 100%) !important;
  color:#fff !important;
  box-shadow:0 20px 48px rgba(0,94,232,.18) !important;
}
.screen--learn .v3PageHeader .eyebrow,
.screen--learn .v3PageHeader p{
  color:rgba(255,255,255,.82) !important;
  font-weight:500 !important;
}
.screen--board{
  background:
    linear-gradient(180deg,rgba(8,124,255,.12) 0,rgba(8,124,255,.055) 108px,rgba(248,251,255,0) 210px),
    #f8fbff !important;
}
.appShell[data-screen="board"] .appMain{
  background:transparent !important;
}
@media (max-width:760px){
  .welcomeHero{
    min-height:clamp(410px,55dvh,560px) !important;
  }
  .welcomeHero::after{
    bottom:clamp(-82px,-8dvh,-48px);
    height:clamp(128px,16dvh,180px);
  }
  .homeDashboardHero{
    width:100% !important;
    min-height:430px !important;
    padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right)) !important;
  }
  .homeQuickActions,
  .v3Section,
  .homeDownloadCard,
  .homeSecondaryLinks,
  .homeFooter{
    width:calc(100% - 28px) !important;
  }
  .screen--learn{
    padding-top:0 !important;
  }
  .screen--learn .v3PageHeader{
    width:100% !important;
    border-radius:0 0 30px 30px !important;
  }
}

/* v3.0.0 build 212 - structured layout system refinement. */
:root{
  --tiles-radius-tight:8px;
  --tiles-radius-section:12px;
  --tiles-divider:rgba(18,26,47,.10);
  --tiles-panel:#fff;
  --tiles-soft-blue:#eef6ff;
  --tiles-ui-font:"Inter","Nunito","Avenir Next","SF Pro Text","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}
body,
button,
input,
select,
textarea,
.appShell{
  font-family:var(--tiles-ui-font) !important;
  letter-spacing:0 !important;
}
.v3Page,
.overlayStack,
.profileInfoDoc,
.learnTopicList,
.continueList{
  gap:clamp(14px,2vw,22px) !important;
}
.v3Page{
  width:min(1180px,calc(100% - clamp(28px,6vw,88px))) !important;
  margin-inline:auto !important;
}
.screen--home .v3Page{
  width:100% !important;
}
.v3Page h1,
.v3Page h2,
.v3SectionHeader h2,
.profileSettingsHeader strong,
.learnTopicToggle h2,
.quizChallengeHeader h3,
.quizSummaryHero h3{
  font-weight:750 !important;
  letter-spacing:-.02em !important;
}
.v3Page p,
.v3Page small,
.learnLessonCard small,
.profileStatCard small,
.quizChallengeCard small,
.homeDownloadCard p,
.homeSecondaryLink,
.overlayCard p,
.overlaySection p{
  font-weight:400 !important;
}
.v3Section,
.homeDownloadCard,
.homeSecondaryLinks,
.profileInfoCard,
.masteryBanner,
.overlayCard,
.overlaySection,
.profileInfoPanel{
  border-radius:var(--tiles-radius-section) !important;
  border:1px solid var(--tiles-divider) !important;
  box-shadow:none !important;
  background:rgba(255,255,255,.86) !important;
}
.overlayPanel{
  border-radius:14px !important;
  box-shadow:0 20px 50px rgba(18,26,47,.18) !important;
}
.overlayHeader{
  border-bottom:1px solid var(--tiles-divider) !important;
}
.screen--home{
  background:
    radial-gradient(circle at 12% 0,rgba(8,119,248,.14),transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#fff 42%,#fff 100%) !important;
}
.homeDashboardHero{
  width:min(1180px,calc(100% - clamp(28px,6vw,88px))) !important;
  max-width:1180px !important;
  min-height:clamp(330px,34vw,430px) !important;
  margin:clamp(16px,2.5vw,28px) auto 0 !important;
  border-radius:18px !important;
  padding:clamp(22px,3vw,34px) !important;
  box-shadow:none !important;
}
.homeDashboardHero::after{
  height:96px !important;
  bottom:-46px !important;
  opacity:.92 !important;
}
.homeHeroText h1{
  font-size:clamp(34px,5vw,56px) !important;
  line-height:1.02 !important;
  font-weight:760 !important;
}
.homeGoalPanel{
  width:100% !important;
  max-width:760px !important;
  margin-inline:0 !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.homeGoalPanel article{
  min-height:94px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:none !important;
  background:rgba(2,54,133,.38) !important;
}
.homeGoalPanel strong{
  font-weight:650 !important;
}
.homeGoalPanel p{
  font-size:clamp(26px,3.2vw,40px) !important;
  font-weight:760 !important;
}
.dailyGoalRing{
  width:58px !important;
  height:58px !important;
}
.homeQuickActions{
  width:min(1180px,calc(100% - clamp(28px,6vw,88px))) !important;
  margin:clamp(16px,2vw,24px) auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}
.homeQuickActions button{
  min-height:78px !important;
  border-radius:10px !important;
  border:1px solid var(--tiles-divider) !important;
  box-shadow:none !important;
  background:#fff !important;
  color:#121a2f !important;
}
.homeQuickActions .quickActionIcon{
  width:28px !important;
  height:28px !important;
  border-radius:7px !important;
}
.homeQuickActions .quickActionIcon svg{
  width:22px !important;
  height:22px !important;
}
.homeQuickActions small,
.quickStartCard small{
  display:none !important;
}
.continueLearningSection{
  padding:16px !important;
}
.continueList{
  display:grid !important;
  grid-template-columns:1fr !important;
}
.continueLessonCard{
  min-height:74px !important;
  border-radius:10px !important;
  border:1px solid var(--tiles-divider) !important;
  box-shadow:none !important;
  background:#fff !important;
  grid-template-columns:42px minmax(0,1fr) minmax(110px,180px) 20px !important;
  padding:12px 14px !important;
}
.continueLessonIcon{
  border-radius:8px !important;
}
.quickStartGrid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:10px !important;
}
.quickStartCard{
  min-height:66px !important;
  border-radius:10px !important;
  border:1px solid var(--tiles-divider) !important;
  box-shadow:none !important;
  background:#fff !important;
  color:#121a2f !important;
  padding:12px 34px 12px 12px !important;
}
.quickStartCard span{
  width:22px !important;
  height:22px !important;
  border-radius:5px !important;
  background:#eef6ff !important;
  color:#0877f8 !important;
  font-size:13px !important;
}
.quickStartCard::after{
  color:#0877f8 !important;
  opacity:.72 !important;
}
.homeDownloadCard,
.homeSecondaryLinks,
.homeFooter{
  padding:14px 16px !important;
}
.homeFooter{
  background:transparent !important;
  border-color:transparent !important;
}
.screen--learn{
  background:
    radial-gradient(circle at 70% -10%,rgba(8,119,248,.13),transparent 30%),
    linear-gradient(180deg,#f7fbff 0,#fff 240px) !important;
}
.screen--learn .v3PageHeader{
  width:100% !important;
  border-radius:0 !important;
  border-bottom:1px solid var(--tiles-divider) !important;
  background:transparent !important;
  color:#121a2f !important;
  box-shadow:none !important;
  padding:clamp(20px,3vw,34px) 0 !important;
}
.screen--learn .v3PageHeader .eyebrow,
.screen--learn .v3PageHeader p{
  color:#5d6978 !important;
}
.learnTopicList{
  display:block !important;
  border-top:1px solid var(--tiles-divider) !important;
}
.learnTopicBlock{
  border:0 !important;
  border-bottom:1px solid var(--tiles-divider) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
}
.learnTopicToggle{
  min-height:72px !important;
  padding:14px 0 !important;
}
.learnTopicToggle b{
  border-radius:7px !important;
  background:#eef6ff !important;
  color:#0877f8 !important;
}
.learnLessonList{
  padding:0 0 14px !important;
  display:grid !important;
  gap:0 !important;
}
.learnLessonCard{
  min-height:68px !important;
  border:0 !important;
  border-top:1px solid rgba(18,26,47,.07) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  grid-template-columns:88px minmax(0,1fr) minmax(110px,180px) 104px !important;
  padding:12px 0 !important;
}
.lessonNumber{
  font-weight:650 !important;
  color:#0877f8 !important;
}
.lessonStatus{
  border-radius:999px !important;
  background:#f3f7fb !important;
  color:#435064 !important;
}
.profileHero{
  border-radius:0 !important;
  padding:18px 0 22px !important;
  border-bottom:1px solid var(--tiles-divider) !important;
  background:transparent !important;
  color:#121a2f !important;
  box-shadow:none !important;
}
.profileAvatar{
  width:66px !important;
  height:66px !important;
  border-radius:50% !important;
  background:#e9f6ff !important;
  border:1px solid #d3e8ff !important;
  color:#0877f8 !important;
  font-size:0 !important;
}
.profileAvatar svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.profileHeroText .eyebrow,
.profileHeroText p{
  color:#5d6978 !important;
}
.profileSettingsBtn{
  background:transparent !important;
  color:#435064 !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.profileStatsGrid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  gap:0 !important;
  border:1px solid var(--tiles-divider) !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.profileStatCard{
  min-height:92px !important;
  border:0 !important;
  border-right:1px solid var(--tiles-divider) !important;
  border-bottom:1px solid var(--tiles-divider) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
}
.profileStatCard span{
  color:#0877f8 !important;
}
.profileSettingsMenu{
  position:fixed !important;
  top:var(--header-h) !important;
  right:0 !important;
  bottom:0 !important;
  width:min(420px,100vw) !important;
  max-height:none !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-content:start !important;
  gap:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  border:0 !important;
  border-left:1px solid var(--tiles-divider) !important;
  box-shadow:-18px 0 44px rgba(18,26,47,.13) !important;
  background:#fff !important;
  color:#121a2f !important;
  z-index:120 !important;
}
.profileSettingsMenu[hidden]{
  display:none !important;
}
.profileSettingsHeader{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid var(--tiles-divider);
}
.profileSettingsHeader strong{
  font-size:26px;
}
.profileSettingsHeader button{
  width:38px;
  height:38px;
  border:0;
  border-radius:8px;
  background:#f3f7fb;
  color:#435064;
  font-size:24px;
}
.profileSettingsMenu > button{
  min-height:70px !important;
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) !important;
  grid-template-areas:"icon title" "icon copy" !important;
  align-items:center !important;
  gap:1px 12px !important;
  padding:13px 20px !important;
  border:0 !important;
  border-bottom:1px solid var(--tiles-divider) !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#121a2f !important;
}
.profileSettingsMenu > button span{
  grid-area:icon;
  width:30px !important;
  height:30px !important;
  border-radius:7px !important;
  background:#eef6ff !important;
  color:#0877f8 !important;
}
.profileSettingsMenu > button strong{
  grid-area:title;
  font-size:15px;
  font-weight:650;
}
.profileSettingsMenu > button small{
  grid-area:copy;
  font-size:12px;
  font-weight:400 !important;
}
.profileInfoPanel{
  border-radius:0 !important;
}
.activityDayGrid{
  max-width:none !important;
}
.quizProgressPath--bar{
  width:100%;
  margin:0 0 10px !important;
  padding:0 !important;
}
.quizProgressTrack{
  display:block;
  height:7px;
  border-radius:999px;
  background:rgba(18,26,47,.10);
  overflow:hidden;
}
.quizProgressTrack i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#0877f8;
  transition:width .24s ease;
}
.quizProgressPath--bar::before,
.quizProgressPath--bar .quizProgressPathLine,
.quizProgressPath--bar .quizProgressNode{
  display:none !important;
}
.quizChallengeHeader,
.quizSummaryHero{
  gap:6px !important;
}
.quizChallengeHeader h3,
.quizSummaryHero h3{
  line-height:1.12 !important;
}
@media (max-width:760px){
  .v3Page,
  .screen--home .v3Page{
    width:100% !important;
  }
  .homeDashboardHero{
    width:100% !important;
    margin-top:0 !important;
    border-radius:0 0 22px 22px !important;
    min-height:380px !important;
  }
  .homeQuickActions{
    width:calc(100% - 24px) !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .homeQuickActions button{
    min-height:70px !important;
    padding:8px 5px !important;
  }
  .homeQuickActions strong{
    font-size:.72rem !important;
  }
  .homeGoalPanel{
    grid-template-columns:1fr 1fr !important;
  }
  .homeGoalPanel article{
    min-height:82px !important;
    padding:11px !important;
  }
  .dailyGoalRing{
    width:44px !important;
    height:44px !important;
  }
  .continueLessonCard{
    grid-template-columns:38px minmax(0,1fr) 20px !important;
  }
  .continueLessonProgress{
    display:none !important;
  }
  .learnLessonCard{
    grid-template-columns:72px minmax(0,1fr) 76px !important;
  }
  .learnLessonCard .lessonProgress{
    display:none !important;
  }
  .profileHero{
    margin-inline:16px !important;
  }
  .profileStatsGrid,
  .v3Section,
  .profileInfoPanel{
    width:calc(100% - 28px) !important;
    margin-inline:auto !important;
  }
  .profileStatsGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .profileSettingsMenu{
    inset:0 !important;
    width:100% !important;
    border-left:0 !important;
  }
}

/* v3.0.0 build 213 - calmer weights and lighter Home goal panels. */
.v3Page p,
.v3Page small,
.eyebrow,
.homeGreeting,
.homeQuickActions small,
.quickStartCard small,
.continueLessonCard small,
.learnTopicToggle p,
.learnLessonCard small,
.lessonNumber,
.lessonStatus,
.profileStatCard small,
.profileSettingsMenu small,
.profileSettingsMenu > button strong,
.quizChallengeCard small,
.quizProgressText,
.homeSecondaryLink,
.textLinkBtn,
.navItem,
.topNavItem{
  font-weight:400 !important;
}
.v3Page h1,
.v3Page h2,
.homeHeroText h1,
.quizChallengeHeader h3,
.quizSummaryHero h3,
.profileStatCard strong,
.homeGoalPanel p,
.dailyGoalRing,
.primaryBtn,
.welcomePrimaryBtn,
.navItem.is-active,
.topNavItem.is-active{
  font-weight:700 !important;
}
.homeDashboardTop strong,
.quickStartCard strong,
.homeQuickActions strong,
.continueLessonCard strong,
.learnLessonCard strong,
.profileInfoPanel h2,
.profileSettingsHeader strong{
  font-weight:600 !important;
}
.homeGoalPanel article{
  background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.14)) !important;
  border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
  backdrop-filter:blur(12px) !important;
  color:#fff !important;
}
.homeGoalPanel article + article{
  border-left:1px solid rgba(255,255,255,.24) !important;
}
.homeGoalPanel strong{
  font-weight:500 !important;
  color:rgba(255,255,255,.86) !important;
}
.homeGoalPanel p{
  color:#fff !important;
  text-shadow:0 1px 12px rgba(0,56,150,.16);
}
.dailyGoalRing{
  background:
    conic-gradient(#fff var(--goal-progress,0deg),rgba(255,255,255,.28) 0),
    rgba(255,255,255,.14) !important;
}
.dailyGoalRing::after{
  background:rgba(7,104,224,.28) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18) !important;
}
.homeFireIcon{
  background:rgba(255,255,255,.16) !important;
  box-shadow:none !important;
}
@media (max-width:760px){
  .homeGoalPanel article{
    background:rgba(255,255,255,.20) !important;
  }
  .homeGoalPanel strong{
    font-size:12px !important;
  }
  .homeGoalPanel p{
    font-size:22px !important;
  }
}

/* v3.0.0 build 214 - targeted phone board, Home, Learn and quiz polish. */
@media (max-width:1060px){
  .appShell[data-screen="board"]{
    grid-template-rows:minmax(0,1fr) var(--nav-h) !important;
  }
  .appShell[data-screen="board"] .appHeader{
    display:none !important;
  }
  .appShell[data-screen="board"] .appMain,
  .appShell[data-screen="board"] .screen--board{
    min-height:0 !important;
    height:100% !important;
  }
}

.homeHeroText{
  width:min(1180px,100%) !important;
  margin-inline:auto !important;
  text-align:left !important;
  align-items:start !important;
  justify-items:start !important;
}
.homeHeroText p,
.homeHeroText h1{
  text-align:left !important;
  max-width:620px !important;
}
.homeGoalPanel{
  width:min(1180px,100%) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
  grid-template-columns:minmax(0,430px) !important;
  justify-content:start !important;
  gap:0 !important;
}
.homeGoalPanel article:nth-child(2){
  display:none !important;
}
.homeGoalPanel article:first-child{
  min-height:76px !important;
  max-width:430px !important;
  padding:12px 16px !important;
  gap:12px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.23),rgba(255,255,255,.13)) !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 28px rgba(0,86,190,.10) !important;
}
.homeGoalPanel strong{
  font-size:13px !important;
  font-weight:500 !important;
}
.homeGoalPanel p{
  font-size:clamp(22px,2.2vw,32px) !important;
  font-weight:700 !important;
}
.dailyGoalRing{
  width:46px !important;
  height:46px !important;
  font-weight:700 !important;
}
.dailyGoalRing::after{
  inset:8px !important;
}
.quickStartGrid{
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr)) !important;
  gap:10px !important;
}
.quickStartCard{
  min-height:70px !important;
  padding:11px 12px !important;
  border-radius:15px !important;
  gap:5px !important;
  place-items:center !important;
  text-align:center !important;
  color:#223047 !important;
  box-shadow:0 10px 24px rgba(18,26,47,.07) !important;
}
.quickStartCard::after{
  display:none !important;
}
.quickStartCard span{
  width:25px !important;
  height:25px !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.52) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34) !important;
  font-size:14px !important;
}
.quickStartCard strong{
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
}
.quickStartCard small{
  display:none !important;
}
.quickStartCard--blue{
  background:linear-gradient(180deg,#eef6ff,#dfeeff) !important;
  border-color:rgba(8,119,248,.18) !important;
}
.quickStartCard--green{
  background:linear-gradient(180deg,#effbf5,#ddf5e9) !important;
  border-color:rgba(35,166,101,.18) !important;
}
.quickStartCard--purple{
  background:linear-gradient(180deg,#f5f0ff,#eae1ff) !important;
  border-color:rgba(106,80,238,.16) !important;
}
.quickStartCard--yellow{
  background:linear-gradient(180deg,#fff8e2,#fff0b9) !important;
  border-color:rgba(222,161,15,.18) !important;
}
.quickStartCard--red{
  background:linear-gradient(180deg,#fff1f2,#ffe1e3) !important;
  border-color:rgba(232,75,73,.18) !important;
}
.quickStartCard--teal{
  background:linear-gradient(180deg,#ecfbfb,#d9f4f2) !important;
  border-color:rgba(10,158,154,.18) !important;
}
.learnLessonList[hidden]{
  display:none !important;
}
.learnLessonList{
  display:grid !important;
}
.learnLessonCard .lessonProgress{
  display:grid !important;
}
.learnLessonCard strong{
  font-weight:500 !important;
}
.learnTopicToggle p,
.learnLessonCard small,
.lessonStatus{
  font-weight:400 !important;
}
@media (max-width:760px){
  .homeDashboardHero{
    padding-inline:18px !important;
  }
  .homeHeroText,
  .homeGoalPanel{
    width:100% !important;
  }
  .homeGoalPanel{
    grid-template-columns:minmax(0,1fr) !important;
  }
  .homeGoalPanel article:first-child{
    max-width:none !important;
    min-height:68px !important;
  }
  .quickStartGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .quickStartCard{
    min-height:66px !important;
  }
  .learnLessonCard{
    grid-template-columns:58px minmax(0,1fr) !important;
  }
  .learnLessonCard .lessonProgress{
    grid-column:1 / -1 !important;
    display:grid !important;
    margin-top:8px !important;
  }
  .lessonStatus{
    display:none !important;
  }
}

/* v3.0.0 build 216 - Home alignment plus Learn/Profile hero consistency. */
.v3HomePage{
  --tiles-content-width:min(1120px,calc(100vw - 44px));
}
.v3HomePage .homeDashboardTop,
.v3HomePage .homeHeroText,
.v3HomePage .homeGoalPanel,
.v3HomePage .homeQuickActions,
.v3HomePage > .v3Section,
.v3HomePage .continueLessonCard,
.v3HomePage .homeDownloadCard,
.v3HomePage .homeFooter{
  width:var(--tiles-content-width) !important;
  max-width:var(--tiles-content-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.v3HomePage .homeDashboardHero{
  display:grid !important;
  justify-items:center !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.v3HomePage .homeHeroText{
  justify-self:center !important;
  padding-inline:0 !important;
  text-align:left !important;
  justify-items:start !important;
  align-items:start !important;
}
.v3HomePage .homeHeroText p,
.v3HomePage .homeHeroText h1{
  text-align:left !important;
  margin-left:0 !important;
}
.v3HomePage .homeGoalPanel{
  justify-content:start !important;
  margin-top:clamp(18px,3vw,30px) !important;
}
.v3HomePage .homeQuickActions{
  transform:none !important;
}
.v3LearnPage > .v3PageHeader,
.v3ProfilePage > .profileHero{
  position:relative !important;
  overflow:hidden !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 82% 12%,rgba(255,255,255,.26) 0 18%,transparent 19%),
    linear-gradient(145deg,#0b7fff 0%,#006be9 64%,#005dd1 100%) !important;
  border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:0 22px 52px rgba(0,93,220,.20) !important;
  color:#fff !important;
}
.v3LearnPage > .v3PageHeader::after,
.v3ProfilePage > .profileHero::after{
  content:"" !important;
  position:absolute !important;
  inset:auto -8% -42% -8% !important;
  height:64% !important;
  border-radius:50% 50% 0 0 / 42% 42% 0 0 !important;
  background:rgba(255,255,255,.11) !important;
  pointer-events:none !important;
}
.v3LearnPage > .v3PageHeader > *,
.v3ProfilePage > .profileHero > *{
  position:relative !important;
  z-index:1 !important;
}
.v3LearnPage > .v3PageHeader .eyebrow,
.v3LearnPage > .v3PageHeader p,
.v3ProfilePage > .profileHero .eyebrow,
.v3ProfilePage > .profileHero p{
  color:rgba(255,255,255,.84) !important;
  font-weight:400 !important;
}
.v3LearnPage > .v3PageHeader h1,
.v3ProfilePage > .profileHero h1{
  color:#fff !important;
  font-weight:700 !important;
  letter-spacing:-.025em !important;
}
.v3LearnPage .learnTopicBlock,
.v3ProfilePage .profileStatCard,
.v3ProfilePage .profileInfoPanel,
.v3ProfilePage .profileInfoCard,
.v3ProfilePage .v3Section{
  border-radius:24px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(18,26,47,.08) !important;
  box-shadow:0 14px 34px rgba(18,26,47,.07) !important;
}
.v3LearnPage .learnTopicToggle strong,
.v3LearnPage .learnLessonCard strong,
.v3ProfilePage .profileStatCard strong,
.v3ProfilePage .v3SectionHeader h2{
  font-weight:650 !important;
}
.v3LearnPage .learnTopicToggle p,
.v3LearnPage .learnLessonCard small,
.v3ProfilePage .profileStatCard small,
.v3ProfilePage .profileInfoCard p{
  font-weight:400 !important;
}
.v3ProfilePage .profileSettingsBtn{
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.34) !important;
  color:#fff !important;
}
@media (max-width:760px){
  .v3HomePage{
    --tiles-content-width:calc(100% - 32px);
  }
  .v3HomePage .homeDashboardHero{
    padding-inline:0 !important;
  }
  .v3LearnPage > .v3PageHeader,
  .v3ProfilePage > .profileHero{
    border-radius:28px !important;
  }
}

/* v3.0.0 build 217 - Profile/settings polish and lighter Daily Goal. */
.homeGoalPanel{
  grid-template-columns:minmax(0,460px) !important;
}
.homeGoalPanel article:first-child{
  position:relative !important;
  overflow:hidden !important;
  min-height:82px !important;
  max-width:460px !important;
  padding:14px 18px !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62)) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 16px 34px rgba(0,84,184,.13),inset 0 1px 0 rgba(255,255,255,.70) !important;
  backdrop-filter:blur(18px) !important;
  color:#14233b !important;
}
.homeGoalPanel article:first-child::after{
  content:"" !important;
  position:absolute !important;
  inset:auto -24px -30px auto !important;
  width:124px !important;
  height:124px !important;
  border-radius:999px !important;
  background:rgba(8,119,248,.10) !important;
  pointer-events:none !important;
}
.homeGoalPanel article:nth-child(2){
  display:none !important;
}
.homeGoalPanel strong{
  color:#42526a !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.homeGoalPanel p{
  color:#14233b !important;
  font-size:clamp(26px,3vw,38px) !important;
  line-height:1 !important;
  text-shadow:none !important;
}
.homeGoalPanel small{
  color:#667085 !important;
  display:block !important;
  font-weight:400 !important;
}
.dailyGoalRing{
  width:58px !important;
  height:58px !important;
  color:#0877f8 !important;
  background:
    conic-gradient(#0877f8 var(--goal-progress,0deg),rgba(8,119,248,.13) 0),
    rgba(255,255,255,.86) !important;
  box-shadow:0 8px 18px rgba(8,119,248,.16),inset 0 1px 0 rgba(255,255,255,.80) !important;
}
.dailyGoalRing::after{
  inset:9px !important;
  background:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(8,119,248,.08) !important;
}
.v3ProfilePage{
  gap:18px !important;
}
.v3ProfilePage > .profileHero{
  overflow:visible !important;
  border-radius:32px !important;
  box-shadow:0 22px 48px rgba(0,93,220,.16) !important;
}
.v3ProfilePage > .profileHero::after{
  display:none !important;
}
.profileAvatar{
  box-shadow:0 12px 28px rgba(0,57,143,.18) !important;
}
.profileHeroText{
  gap:2px !important;
}
.profileSettingsWrap{
  position:relative !important;
  z-index:5100 !important;
}
.profileSettingsMenu{
  position:fixed !important;
  top:86px !important;
  right:max(20px,calc((100vw - 1120px) / 2 + 20px)) !important;
  left:auto !important;
  bottom:auto !important;
  width:min(380px,calc(100vw - 32px)) !important;
  max-height:min(640px,calc(100dvh - 112px)) !important;
  overflow:auto !important;
  z-index:5200 !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(18,26,47,.10) !important;
  box-shadow:0 28px 70px rgba(18,26,47,.26) !important;
  backdrop-filter:blur(16px) !important;
}
.profileSettingsMenu > button{
  min-height:74px !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.profileSettingsMenu > button:hover,
.profileSettingsMenu > button:focus-visible{
  background:#f2f7ff !important;
  border-color:rgba(8,119,248,.18) !important;
}
.profileSettingsMenu > button strong{
  font-weight:600 !important;
}
.profileSettingsMenu > button small{
  font-weight:400 !important;
}
.profileInfoPanel{
  position:fixed !important;
  inset:0 !important;
  z-index:5300 !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  align-content:start !important;
  padding:clamp(16px,3vw,30px) !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    radial-gradient(circle at 14% 0%,rgba(8,119,248,.12),transparent 32%),
    #f6f8fb !important;
  box-shadow:none !important;
  overflow:auto !important;
}
.profileInfoPanel[hidden]{
  display:none !important;
}
.profileInfoPanel > header,
.profileInfoContent{
  width:min(940px,100%) !important;
  margin-inline:auto !important;
}
.profileInfoPanel > header{
  min-height:64px !important;
  padding:12px 14px 12px 20px !important;
  border:1px solid rgba(18,26,47,.08) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 16px 34px rgba(18,26,47,.08) !important;
}
.profileInfoContent{
  max-height:none !important;
  overflow:visible !important;
  margin-top:14px !important;
  padding:clamp(18px,3vw,28px) !important;
  border:1px solid rgba(18,26,47,.08) !important;
  border-radius:26px !important;
  background:#fff !important;
  box-shadow:0 16px 34px rgba(18,26,47,.07) !important;
}
.v3ProfilePage .profileStatsGrid{
  gap:10px !important;
}
.v3ProfilePage .profileStatCard{
  border-radius:20px !important;
  box-shadow:none !important;
  background:rgba(255,255,255,.86) !important;
}
.v3ProfilePage .v3Section,
.v3ProfilePage .profileInfoCard{
  border-radius:22px !important;
  box-shadow:none !important;
  background:rgba(255,255,255,.86) !important;
}
@media (max-width:760px){
  .homeGoalPanel article:first-child{
    max-width:none !important;
    min-height:76px !important;
    border-radius:22px !important;
  }
  .dailyGoalRing{
    width:52px !important;
    height:52px !important;
  }
  .profileSettingsMenu{
    top:auto !important;
    left:12px !important;
    right:12px !important;
    bottom:calc(var(--nav-h) + 12px) !important;
    width:auto !important;
    max-height:min(520px,calc(100dvh - 150px)) !important;
  }
  .profileInfoPanel{
    padding:12px !important;
  }
  .profileInfoPanel > header{
    border-radius:20px !important;
  }
  .profileInfoContent{
    border-radius:22px !important;
    padding:16px !important;
  }
}

/* v3.0.0 build 218 - Home header goal, Learn/Profile hero and spacing tidy. */
.homeDashboardActions{
  gap:8px !important;
}
.homeGoalPill,
.homeStreakPill{
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important;
  color:#fff !important;
  font-weight:650 !important;
  white-space:nowrap !important;
}
.homeGoalPill strong,
.homeStreakPill strong{
  font-weight:650 !important;
}
.homeGoalPill .dailyGoalRing{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  background:
    conic-gradient(#fff var(--goal-progress,0deg),rgba(255,255,255,.28) 0),
    rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}
.homeGoalPill .dailyGoalRing::after{
  inset:5px !important;
  background:rgba(7,104,224,.34) !important;
  box-shadow:none !important;
}
.homeGoalPanel{
  display:none !important;
}
.continueLessonCard > span:nth-child(2){
  display:grid !important;
  gap:4px !important;
}
.continueLessonCard small{
  display:grid !important;
  gap:1px !important;
  line-height:1.2 !important;
}
.screen--learn{
  padding:clamp(18px,4vw,42px) max(18px,env(safe-area-inset-left)) calc(42px + var(--nav-h)) !important;
  background:linear-gradient(180deg,#f7fbff 0,#fff 230px,#f8fafc 100%) !important;
}
.v3LearnPage{
  gap:clamp(16px,3vw,28px) !important;
}
.screen--learn .v3PageHeader,
.v3LearnPage > .v3PageHeader,
.v3ProfilePage > .profileHero{
  display:grid !important;
  gap:8px !important;
  border-radius:34px !important;
  background:linear-gradient(145deg,#087cff,#0065eb) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 20px 46px rgba(0,94,232,.20) !important;
  padding:clamp(22px,4vw,42px) !important;
}
.screen--learn .v3PageHeader,
.v3LearnPage > .v3PageHeader{
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  justify-items:center !important;
}
.v3ProfilePage > .profileHero{
  overflow:visible !important;
}
.screen--learn .v3PageHeader::after,
.v3LearnPage > .v3PageHeader::after,
.v3ProfilePage > .profileHero::after{
  display:none !important;
}
.screen--learn .v3PageHeader .eyebrow,
.screen--learn .v3PageHeader p,
.v3LearnPage > .v3PageHeader .eyebrow,
.v3LearnPage > .v3PageHeader p,
.v3ProfilePage > .profileHero .eyebrow,
.v3ProfilePage > .profileHero p{
  color:rgba(255,255,255,.82) !important;
  font-weight:400 !important;
}
.screen--learn .v3PageHeader h1,
.v3LearnPage > .v3PageHeader h1,
.v3ProfilePage > .profileHero h1{
  color:#fff !important;
}
.learnTopicList{
  display:grid !important;
  gap:14px !important;
  border-top:0 !important;
  padding:0 !important;
}
.learnTopicBlock{
  border:1px solid rgba(18,26,47,.08) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(18,26,47,.06) !important;
  overflow:hidden !important;
}
.learnTopicToggle{
  padding:16px 18px !important;
}
.learnLessonList{
  padding:0 14px 14px !important;
  gap:10px !important;
}
.quickStartCard > span,
.homeQuickActions .quickActionIcon{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
@media (max-width:760px){
  .homeDashboardActions{
    gap:6px !important;
  }
  .homeGoalPill,
  .homeStreakPill{
    min-height:36px !important;
    padding:0 10px !important;
    font-size:12px !important;
  }
  .homeAvatarBtn{
    width:40px !important;
    height:40px !important;
  }
  .screen--learn{
    padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)) !important;
  }
  .screen--learn .v3PageHeader,
  .v3LearnPage > .v3PageHeader,
  .v3ProfilePage > .profileHero{
    border-radius:26px !important;
  }
}

/* v3.0.0 build 219 - quick-action emphasis and polished welcome sign-in. */
.welcomeLoginPanel{
  display:grid !important;
  gap:10px !important;
  max-width:520px !important;
  border:1px solid rgba(18,26,47,.08) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.92) !important;
  padding:14px !important;
  box-shadow:0 14px 34px rgba(18,26,47,.08) !important;
  backdrop-filter:blur(14px) !important;
}
.welcomeLoginPanel p{
  margin:0 !important;
  color:#344054 !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-align:left !important;
}
.welcomeGoogleBtn{
  min-height:54px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  border:1px solid rgba(18,26,47,.12) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#1f2937 !important;
  padding:0 14px !important;
  box-shadow:0 8px 18px rgba(18,26,47,.06) !important;
  font-weight:600 !important;
  opacity:1 !important;
}
.welcomeGoogleBtn .googleMark{
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-family:Arial,sans-serif !important;
}
.welcomeGoogleBtn em{
  color:#667085 !important;
  font-size:12px !important;
  font-style:normal !important;
  font-weight:500 !important;
}
.homeQuickActions{
  gap:clamp(10px,2vw,18px) !important;
}
.homeQuickActions button{
  min-height:122px !important;
  padding:14px 12px !important;
  gap:8px !important;
}
.homeQuickActions .quickActionIcon{
  width:62px !important;
  height:62px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.homeQuickActions .quickActionIcon svg{
  width:58px !important;
  height:58px !important;
  stroke-width:1.75 !important;
}
.homeQuickActions strong{
  font-size:clamp(18px,1.7vw,24px) !important;
  line-height:1.05 !important;
  font-weight:650 !important;
}
@media (max-width:1060px){
  .homeQuickActions{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .homeQuickActions button{
    min-height:96px !important;
    padding:9px 7px !important;
    gap:5px !important;
    border-radius:18px !important;
  }
  .homeQuickActions .quickActionIcon{
    width:50px !important;
    height:50px !important;
  }
  .homeQuickActions .quickActionIcon svg{
    width:48px !important;
    height:48px !important;
  }
  .homeQuickActions strong{
    font-size:clamp(14px,2.8vw,18px) !important;
    line-height:1.02 !important;
  }
}
@media (max-width:560px){
  .homeQuickActions{
    gap:7px !important;
  }
  .homeQuickActions button{
    min-height:82px !important;
    padding:7px 5px !important;
    border-radius:16px !important;
  }
  .homeQuickActions .quickActionIcon{
    width:42px !important;
    height:42px !important;
  }
  .homeQuickActions .quickActionIcon svg{
    width:40px !important;
    height:40px !important;
  }
  .homeQuickActions strong{
    font-size:13px !important;
  }
}

/* v3.0.0 build 220 - typography, Home sizing and full-page documentation polish. */
:root{
  --tiles-ui-font:"Nunito","SF Pro Rounded","Avenir Next Rounded","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;
  --tiles-math-font:"Cambria Math","STIX Two Math","STIXGeneral","Times New Roman",serif;
}
body,
button,
input,
select,
textarea,
.appShell{
  font-family:var(--tiles-ui-font) !important;
}
.tile-var,
.tile-exp,
.tile-const,
.quizAlgebraText,
.quizOptionMath,
.quizDiagramExpression,
.quizArrayPreview strong,
.quizEquationDiagram,
.previewEquation{
  font-family:var(--tiles-math-font) !important;
}
@media (min-width:1061px){
  .homeQuickActions .quickActionIcon{
    width:52px !important;
    height:52px !important;
  }
  .homeQuickActions .quickActionIcon svg{
    width:48px !important;
    height:48px !important;
  }
}
.quickStartCard{
  min-height:74px !important;
  padding:13px 36px 13px 14px !important;
}
.quickStartCard > span{
  width:34px !important;
  height:34px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:23px !important;
  line-height:1 !important;
}
.quickStartCard strong{
  font-size:clamp(16px,1.5vw,19px) !important;
  line-height:1.08 !important;
  font-weight:600 !important;
}
@media (max-width:760px){
  .quickStartCard{
    min-height:70px !important;
    padding:12px 34px 12px 12px !important;
  }
  .quickStartCard > span{
    width:32px !important;
    height:32px !important;
    font-size:22px !important;
  }
  .quickStartCard strong{
    font-size:16px !important;
  }
}
.v3ProfilePage .profileSettingsBtn,
.profileSettingsBtn{
  color:#fff !important;
  background:rgba(255,255,255,.22) !important;
  border-color:rgba(255,255,255,.44) !important;
  box-shadow:0 8px 22px rgba(0,57,143,.16), inset 0 1px 0 rgba(255,255,255,.26) !important;
}
.profileSettingsBtn svg{
  stroke:currentColor !important;
  fill:none !important;
}
@media (max-width:1060px){
  .v3ProfilePage .profileSettingsBtn,
  .profileSettingsBtn{
    color:#fff !important;
    background:rgba(255,255,255,.28) !important;
    border:1px solid rgba(255,255,255,.56) !important;
  }
}
.overlayRoot,
.screen--compact-overlay{
  display:none !important;
}
.profileInfoPanel{
  position:fixed !important;
  inset:0 !important;
  z-index:5400 !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
  animation:tilesDocFlyUp220 .68s cubic-bezier(.18,.84,.2,1) both !important;
}
.profileInfoPanel[hidden]{
  display:none !important;
}
.profileInfoPanel > header{
  width:100% !important;
  min-height:68px !important;
  margin:0 !important;
  padding:12px max(18px,env(safe-area-inset-left)) 12px max(22px,env(safe-area-inset-right)) !important;
  border:0 !important;
  border-bottom:1px solid #e5e7eb !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}
.profileInfoPanel h2{
  margin:0 !important;
  color:#1f2937 !important;
  font-size:clamp(22px,3vw,34px) !important;
  font-weight:700 !important;
}
#profileInfoCloseBtn{
  width:44px !important;
  height:44px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#9aa3af !important;
  box-shadow:none !important;
  font-size:32px !important;
  font-weight:400 !important;
  line-height:1 !important;
}
#profileInfoCloseBtn:hover,
#profileInfoCloseBtn:focus-visible{
  color:#667085 !important;
  background:#f3f4f6 !important;
}
.profileInfoContent{
  min-height:0 !important;
  width:min(940px,100%) !important;
  max-height:none !important;
  margin:0 auto !important;
  padding:clamp(22px,4vw,44px) max(20px,env(safe-area-inset-left)) calc(48px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-right)) !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
}
.profileInfoDoc,
.profileTermsDoc,
.releasePage,
.overlayDocPage,
.licenceTopRow,
.aboutTopRow{
  display:block !important;
  color:#263243 !important;
}
.profileInfoDoc h3,
.overlayDocCard h3,
.releaseNoteCard h3,
.versionCard h3{
  margin:26px 0 8px !important;
  color:#111827 !important;
  font-size:clamp(19px,2.3vw,26px) !important;
  font-weight:700 !important;
}
.profileInfoDoc p,
.profileInfoDoc li,
.overlayDocCard p,
.overlayDocCard li,
.releaseNoteCard li,
.versionCard p,
.licenceMetaCard p{
  color:#344054 !important;
  font-size:clamp(15px,1.5vw,17px) !important;
  line-height:1.62 !important;
  font-weight:400 !important;
}
.profileInfoDoc ul,
.overlayDocCard ul,
.releaseNoteCard ul{
  margin:8px 0 0 !important;
  padding-left:1.2rem !important;
}
.profileInfoIntro,
.profileInfoPanel .overlayCard,
.profileInfoPanel .overlaySection,
.profileInfoPanel .overlayDocCard,
.profileInfoPanel .versionCard,
.profileInfoPanel .releaseNoteCard,
.profileInfoPanel .currentVersionCard,
.profileInfoPanel .compactProductFooter,
.profileInfoPanel .releaseControls{
  border-radius:0 !important;
  border:0 !important;
  border-bottom:1px solid #e5e7eb !important;
  background:#fff !important;
  box-shadow:none !important;
  padding:18px 0 !important;
}
.profileInfoPanel .compactProductFooter img{
  border-radius:0 !important;
}
@keyframes tilesDocFlyUp220{
  from{opacity:.96;transform:translateY(100%);}
  to{opacity:1;transform:translateY(0);}
}

/* v3.0.0 build 221 - course-style Learn page and Home level progress. */
.homeLevelCard{
  width:min(420px,100%) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:end !important;
  gap:10px 14px !important;
  margin-top:clamp(18px,2.8vw,30px) !important;
  padding:14px 16px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.25) !important;
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 32px rgba(0,44,140,.12) !important;
  backdrop-filter:blur(16px) !important;
}
.homeLevelCard div{
  display:grid !important;
  gap:2px !important;
  min-width:0 !important;
}
.homeLevelCard span:first-child{
  color:rgba(255,255,255,.72) !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.homeLevelCard strong{
  color:#fff !important;
  font-size:clamp(18px,2vw,24px) !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}
.homeLevelCard p{
  margin:0 !important;
  color:rgba(255,255,255,.82) !important;
  font-size:13px !important;
  font-weight:500 !important;
  white-space:nowrap !important;
}
.homeLevelProgress{
  grid-column:1/-1 !important;
  height:8px !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
}
.homeLevelProgress i{
  display:block !important;
  width:var(--level-progress,0%) !important;
  height:100% !important;
  border-radius:inherit !important;
  background:#fff !important;
  box-shadow:0 0 18px rgba(255,255,255,.55) !important;
  transition:width .55s cubic-bezier(.22,.8,.22,1) !important;
}
.screen--learn{
  padding:0 !important;
  background:#f8fbff !important;
}
.v3LearnPage{
  width:min(1040px,100%) !important;
  max-width:1040px !important;
  min-height:100% !important;
  margin:0 auto !important;
  padding:clamp(18px,3vw,34px) max(20px,env(safe-area-inset-left)) calc(40px + var(--nav-h)) max(20px,env(safe-area-inset-right)) !important;
  background:
    radial-gradient(circle at 14% 0%,rgba(8,119,248,.08),transparent 28%),
    linear-gradient(180deg,#fff 0%,#f8fbff 58%,#f7f9fc 100%) !important;
}
.v3LearnPage > .v3PageHeader{
  display:none !important;
}
.learnTopicList{
  display:block !important;
  padding:0 !important;
  border:0 !important;
}
.learnCoursePage{
  display:grid !important;
  gap:clamp(22px,3.4vw,34px) !important;
  color:#101a35 !important;
}
.learnCourseNav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:46px !important;
}
.learnCourseNav button{
  width:48px !important;
  height:48px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#101a35 !important;
  box-shadow:none !important;
  font-size:36px !important;
  font-weight:400 !important;
}
.learnCourseNav .learnBookmarkBtn{
  font-size:34px !important;
}
.learnCourseNav button:hover,
.learnCourseNav button:focus-visible{
  background:#eef5ff !important;
}
.learnCourseHeader{
  display:grid !important;
  gap:clamp(18px,2.6vw,26px) !important;
}
.learnCourseTitleRow{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}
.learnCourseIcon{
  width:72px !important;
  height:72px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 auto !important;
  border-radius:14px !important;
  background:linear-gradient(145deg,#2f72ff,#2052df) !important;
  color:#fff !important;
  box-shadow:0 18px 30px rgba(32,82,223,.24), inset 0 1px 0 rgba(255,255,255,.24) !important;
  font-family:var(--tiles-math-font) !important;
  font-size:38px !important;
  font-weight:700 !important;
}
.learnCourseHeader h1{
  margin:0 !important;
  color:#101a35 !important;
  font-size:clamp(34px,5vw,58px) !important;
  line-height:1.03 !important;
  letter-spacing:-.04em !important;
  font-weight:700 !important;
}
.learnCourseHeader p{
  max-width:700px !important;
  margin:0 !important;
  color:#64708a !important;
  font-size:clamp(18px,2.3vw,24px) !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}
.learnCourseMeta{
  display:flex !important;
  align-items:center !important;
  gap:clamp(22px,5vw,58px) !important;
  flex-wrap:wrap !important;
  color:#172344 !important;
}
.learnCourseMeta span{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#172344 !important;
  font-size:clamp(16px,2vw,20px) !important;
  font-weight:500 !important;
}
.learnCourseMeta strong{
  font-weight:700 !important;
}
.learnCourseMeta i{
  width:1px !important;
  height:38px !important;
  background:#e0e6f1 !important;
}
.learnOutcomes,
.learnProgressBlock{
  display:grid !important;
  gap:14px !important;
}
.learnOutcomes h2,
.learnProgressBlock h2{
  margin:0 !important;
  color:#101a35 !important;
  font-size:clamp(22px,2.9vw,32px) !important;
  font-weight:700 !important;
}
.learnOutcomes ul{
  display:grid !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.learnOutcomes li{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  color:#4d5b75 !important;
  font-size:clamp(16px,2vw,21px) !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}
.learnOutcomes li span{
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 auto !important;
  border-radius:999px !important;
  background:#2d6bf3 !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(45,107,243,.18) !important;
}
.learnProgressBlock p{
  margin:0 !important;
  color:#667085 !important;
  font-size:clamp(15px,2vw,20px) !important;
  font-weight:500 !important;
}
.learnCourseProgress{
  height:12px !important;
  width:100% !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:#e9edf5 !important;
}
.learnCourseProgress i{
  display:block !important;
  width:var(--progress,0%) !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#2f72ff,#2052df) !important;
  box-shadow:0 0 16px rgba(47,114,255,.34) !important;
  transition:width .45s cubic-bezier(.22,.8,.22,1) !important;
}
.learnPathLessons{
  display:grid !important;
  gap:14px !important;
}
.learnPathLesson{
  min-height:86px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  width:100% !important;
  padding:16px 20px !important;
  border-radius:22px !important;
  border:1px solid rgba(18,26,47,.06) !important;
  background:#fff !important;
  color:#101a35 !important;
  box-shadow:0 16px 32px rgba(18,26,47,.06) !important;
  text-align:left !important;
}
.learnPathLesson.is-current{
  border-color:rgba(47,114,255,.42) !important;
  box-shadow:0 0 0 3px rgba(47,114,255,.14),0 16px 32px rgba(18,26,47,.06) !important;
}
.learnPathLesson.is-locked{
  color:#9aa4b5 !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:none !important;
}
.learnPathNumber{
  width:50px !important;
  height:50px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#2f72ff !important;
  color:#fff !important;
  font-size:21px !important;
  font-weight:700 !important;
  box-shadow:0 12px 24px rgba(47,114,255,.22) !important;
}
.learnPathLesson.is-locked .learnPathNumber{
  background:#eef1f6 !important;
  color:#98a2b3 !important;
  box-shadow:none !important;
}
.learnPathTitle{
  display:grid !important;
  gap:4px !important;
}
.learnPathTitle strong{
  color:inherit !important;
  font-size:clamp(17px,2vw,23px) !important;
  line-height:1.16 !important;
  font-weight:700 !important;
}
.learnPathTitle small{
  color:#667085 !important;
  font-size:13px !important;
  font-weight:500 !important;
}
.learnPathState{
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  color:#101a35 !important;
  font-size:30px !important;
  font-weight:500 !important;
}
.learnPathLesson.is-complete .learnPathState{
  background:#55b75a !important;
  color:#fff !important;
  font-size:22px !important;
}
.learnPathLesson.is-locked .learnPathState{
  color:#98a2b3 !important;
  font-size:24px !important;
}
.learnPathSwitcher{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:10px !important;
  padding-top:4px !important;
}
.learnPathSwitcher button{
  min-height:78px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
  padding:12px !important;
  border-radius:18px !important;
  border:1px solid #e5eaf3 !important;
  background:#fff !important;
  color:#172344 !important;
  box-shadow:none !important;
  text-align:left !important;
}
.learnPathSwitcher button.is-active{
  border-color:rgba(47,114,255,.40) !important;
  background:#eef6ff !important;
}
.learnPathSwitcher span{
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:10px !important;
  background:#2f72ff !important;
  color:#fff !important;
  font-family:var(--tiles-math-font) !important;
  font-weight:700 !important;
}
.learnPathSwitcher strong{
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:650 !important;
}
.learnPathSwitcher small{
  color:#64708a !important;
  font-weight:600 !important;
}
@media (min-width:900px){
  .learnCoursePage{
    grid-template-columns:minmax(0,1fr) minmax(320px,420px) !important;
    align-items:start !important;
  }
  .learnCourseNav,
  .learnCourseHeader,
  .learnOutcomes,
  .learnProgressBlock,
  .learnPathSwitcher{
    grid-column:1/-1 !important;
  }
  .learnOutcomes{
    grid-column:1/2 !important;
  }
  .learnProgressBlock{
    grid-column:2/3 !important;
    align-self:start !important;
    padding:22px !important;
    border:1px solid #e5eaf3 !important;
    border-radius:24px !important;
    background:#fff !important;
    box-shadow:0 16px 32px rgba(18,26,47,.05) !important;
  }
  .learnPathLessons{
    grid-column:1/-1 !important;
  }
}
@media (max-width:640px){
  .v3LearnPage{
    padding:16px max(16px,env(safe-area-inset-left)) calc(28px + var(--nav-h)) max(16px,env(safe-area-inset-right)) !important;
  }
  .learnCourseIcon{
    width:58px !important;
    height:58px !important;
    border-radius:12px !important;
    font-size:31px !important;
  }
  .learnCourseTitleRow{
    gap:14px !important;
  }
  .learnCourseMeta{
    gap:20px !important;
  }
  .learnCourseMeta i{
    height:28px !important;
  }
  .learnPathLesson{
    min-height:76px !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:14px !important;
    padding:13px 14px !important;
    border-radius:18px !important;
  }
  .learnPathNumber{
    width:44px !important;
    height:44px !important;
    font-size:18px !important;
  }
  .learnPathState{
    width:32px !important;
    height:32px !important;
  }
  .learnPathSwitcher{
    grid-template-columns:1fr 1fr !important;
  }
}

/* v3.0.0 build 222 - compact app pages and reference-scaled Learn layout. */
.appShell[data-screen="learn"],
.appShell[data-screen="quiz-home"],
.appShell[data-screen="profile"]{
  grid-template-rows:minmax(0,1fr) var(--nav-h) !important;
}
.appShell[data-screen="learn"] .appHeader,
.appShell[data-screen="quiz-home"] .appHeader,
.appShell[data-screen="profile"] .appHeader{
  display:none !important;
}
@media (min-width:761px){
  .appShell[data-screen="learn"],
  .appShell[data-screen="quiz-home"],
  .appShell[data-screen="profile"]{
    grid-template-rows:minmax(0,1fr) !important;
  }
}
@media (max-width:1060px){
  .v3LearnPage{
    width:100% !important;
    max-width:720px !important;
    padding:10px max(18px,env(safe-area-inset-left)) calc(24px + var(--nav-h)) max(18px,env(safe-area-inset-right)) !important;
  }
  .learnCoursePage{
    gap:18px !important;
  }
  .learnCourseNav{
    min-height:40px !important;
  }
  .learnCourseNav button{
    width:38px !important;
    height:38px !important;
    font-size:29px !important;
  }
  .learnCourseNav .learnBookmarkBtn{
    font-size:28px !important;
  }
  .learnCourseHeader{
    gap:14px !important;
  }
  .learnCourseTitleRow{
    gap:12px !important;
  }
  .learnCourseIcon{
    width:48px !important;
    height:48px !important;
    border-radius:10px !important;
    font-size:26px !important;
    box-shadow:0 10px 20px rgba(32,82,223,.20), inset 0 1px 0 rgba(255,255,255,.24) !important;
  }
  .learnCourseHeader h1{
    font-size:clamp(27px,5.2vw,38px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
  }
  .learnCourseHeader p{
    max-width:620px !important;
    font-size:clamp(16px,2.5vw,19px) !important;
    line-height:1.45 !important;
  }
  .learnCourseMeta{
    justify-content:center !important;
    gap:22px !important;
    padding-top:2px !important;
  }
  .learnCourseMeta span{
    font-size:15px !important;
    gap:8px !important;
  }
  .learnCourseMeta i{
    height:28px !important;
  }
  .learnOutcomes,
  .learnProgressBlock{
    gap:10px !important;
  }
  .learnOutcomes h2,
  .learnProgressBlock h2{
    font-size:21px !important;
  }
  .learnOutcomes ul{
    gap:8px !important;
  }
  .learnOutcomes li{
    gap:10px !important;
    font-size:15.5px !important;
    line-height:1.3 !important;
  }
  .learnOutcomes li span{
    width:24px !important;
    height:24px !important;
    font-size:14px !important;
    box-shadow:0 6px 12px rgba(45,107,243,.15) !important;
  }
  .learnProgressBlock p{
    font-size:15px !important;
  }
  .learnCourseProgress{
    height:8px !important;
  }
  .learnPathLessons{
    gap:10px !important;
  }
  .learnPathLesson{
    min-height:64px !important;
    gap:12px !important;
    padding:11px 14px !important;
    border-radius:16px !important;
    box-shadow:0 10px 22px rgba(18,26,47,.045) !important;
  }
  .learnPathLesson.is-current{
    box-shadow:0 0 0 2px rgba(47,114,255,.20),0 10px 22px rgba(18,26,47,.045) !important;
  }
  .learnPathNumber{
    width:36px !important;
    height:36px !important;
    font-size:16px !important;
    box-shadow:0 8px 16px rgba(47,114,255,.18) !important;
  }
  .learnPathTitle strong{
    font-size:clamp(15.5px,2.5vw,18px) !important;
    line-height:1.14 !important;
  }
  .learnPathTitle small{
    font-size:11.5px !important;
  }
  .learnPathState{
    width:28px !important;
    height:28px !important;
    font-size:24px !important;
  }
  .learnPathLesson.is-complete .learnPathState{
    font-size:16px !important;
  }
  .learnPathSwitcher{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .learnPathSwitcher button{
    min-height:54px !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    padding:9px !important;
    border-radius:14px !important;
  }
  .learnPathSwitcher span{
    width:28px !important;
    height:28px !important;
    border-radius:8px !important;
    font-size:14px !important;
  }
  .learnPathSwitcher strong{
    font-size:12px !important;
  }
  .learnPathSwitcher small{
    display:none !important;
  }
}
@media (max-width:520px){
  .v3LearnPage{
    padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)) !important;
  }
  .learnCoursePage{
    gap:16px !important;
  }
  .learnCourseIcon{
    width:44px !important;
    height:44px !important;
    font-size:24px !important;
  }
  .learnCourseHeader h1{
    font-size:27px !important;
  }
  .learnCourseHeader p{
    font-size:15.5px !important;
  }
  .learnCourseMeta{
    justify-content:space-evenly !important;
    gap:12px !important;
  }
  .learnPathLesson{
    min-height:60px !important;
    border-radius:15px !important;
  }
  .learnPathNumber{
    width:34px !important;
    height:34px !important;
  }
}

/* v3.0.0 build 223 - scaled desktop Learn, topic-first pathways and Quiz course page. */
@media (min-width:900px){
  .v3HomePage .homeDashboardHero .homeLevelCard{
    justify-self:start !important;
    width:min(360px,calc(100% - 44px)) !important;
    margin-left:max(22px,calc((100% - 1120px) / 2)) !important;
    margin-right:auto !important;
    margin-top:-4px !important;
  }
}
.learnPathSwitcherBlock{
  display:grid !important;
  gap:10px !important;
}
.learnMiniSectionHeader{
  display:flex !important;
  align-items:end !important;
  justify-content:space-between !important;
  gap:14px !important;
}
.learnMiniSectionHeader h2{
  margin:0 !important;
  color:#101a35 !important;
  font-size:clamp(18px,2.2vw,24px) !important;
  line-height:1.1 !important;
  font-weight:700 !important;
}
.learnMiniSectionHeader p{
  margin:0 !important;
  max-width:360px !important;
  color:#64708a !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  text-align:right !important;
}
.v3QuizPage{
  width:min(1040px,100%) !important;
  max-width:1040px !important;
  min-height:100% !important;
  margin:0 auto !important;
  padding:clamp(18px,3vw,34px) max(20px,env(safe-area-inset-left)) calc(40px + var(--nav-h)) max(20px,env(safe-area-inset-right)) !important;
  background:
    radial-gradient(circle at 14% 0%,rgba(8,119,248,.08),transparent 28%),
    linear-gradient(180deg,#fff 0%,#f8fbff 58%,#f7f9fc 100%) !important;
}
.quizCoursePage{
  display:grid !important;
  gap:clamp(18px,3vw,30px) !important;
  color:#101a35 !important;
}
.quizCourseIcon{
  background:linear-gradient(145deg,#2176ff,#1554df) !important;
}
.quizPathLessons{
  display:grid !important;
  gap:14px !important;
}
.quizPathLesson{
  min-height:78px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  width:100% !important;
  padding:15px 18px !important;
  border-radius:22px !important;
  border:1px solid rgba(18,26,47,.06) !important;
  background:#fff !important;
  color:#101a35 !important;
  box-shadow:0 14px 28px rgba(18,26,47,.055) !important;
  text-align:left !important;
}
.quizPathLesson.is-current{
  border-color:rgba(47,114,255,.42) !important;
  box-shadow:0 0 0 3px rgba(47,114,255,.14),0 14px 28px rgba(18,26,47,.055) !important;
}
.quizPathNumber{
  width:46px !important;
  height:46px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#2f72ff !important;
  color:#fff !important;
  font-family:var(--tiles-ui-font) !important;
  font-size:20px !important;
  font-weight:700 !important;
  box-shadow:0 12px 24px rgba(47,114,255,.20) !important;
}
.quizPathTitle{
  display:grid !important;
  gap:4px !important;
}
.quizPathTitle strong{
  color:inherit !important;
  font-size:clamp(16px,1.8vw,21px) !important;
  line-height:1.16 !important;
  font-weight:700 !important;
}
.quizPathTitle small{
  color:#667085 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
}
.quizPathState{
  min-width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  color:#101a35 !important;
  font-size:26px !important;
  font-weight:500 !important;
}
.quizPathLesson.is-current .quizPathState{
  min-width:54px !important;
  padding:0 12px !important;
  background:#2f72ff !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
}
@media (min-width:900px){
  .learnPathSwitcherBlock,
  .quizPathLessons{
    grid-column:1/-1 !important;
  }
  .quizCoursePage{
    grid-template-columns:minmax(0,1fr) minmax(270px,340px) !important;
    align-items:start !important;
  }
  .quizCourseNav,
  .quizCourseHeader,
  .quizPathLessons{
    grid-column:1/-1 !important;
  }
  .quizOutcomes{
    grid-column:1/2 !important;
  }
  .quizProgressBlock{
    grid-column:2/3 !important;
    align-self:start !important;
    padding:20px !important;
    border:1px solid #e5eaf3 !important;
    border-radius:22px !important;
    background:#fff !important;
    box-shadow:0 14px 28px rgba(18,26,47,.05) !important;
  }
}
@media (min-width:1061px){
  .v3LearnPage,
  .v3QuizPage{
    max-width:900px !important;
    padding:22px max(22px,env(safe-area-inset-left)) 42px max(22px,env(safe-area-inset-right)) !important;
  }
  .learnCoursePage,
  .quizCoursePage{
    gap:20px !important;
  }
  .learnCourseNav{
    min-height:38px !important;
  }
  .learnCourseNav button{
    width:40px !important;
    height:40px !important;
    font-size:29px !important;
  }
  .learnCourseNav .learnBookmarkBtn{
    font-size:28px !important;
  }
  .learnCourseHeader{
    gap:14px !important;
  }
  .learnCourseIcon{
    width:54px !important;
    height:54px !important;
    border-radius:12px !important;
    font-size:29px !important;
  }
  .learnCourseHeader h1{
    font-size:38px !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
  }
  .learnCourseHeader p{
    max-width:620px !important;
    font-size:17px !important;
    line-height:1.42 !important;
  }
  .learnCourseMeta{
    gap:30px !important;
  }
  .learnCourseMeta span{
    font-size:15.5px !important;
  }
  .learnOutcomes,
  .learnProgressBlock{
    gap:10px !important;
  }
  .learnOutcomes h2,
  .learnProgressBlock h2{
    font-size:22px !important;
  }
  .learnOutcomes ul{
    gap:8px !important;
  }
  .learnOutcomes li{
    gap:10px !important;
    font-size:15.5px !important;
    line-height:1.32 !important;
  }
  .learnOutcomes li span{
    width:26px !important;
    height:26px !important;
    font-size:14px !important;
  }
  .learnProgressBlock p{
    font-size:15px !important;
  }
  .learnCourseProgress{
    height:8px !important;
  }
  .learnPathLessons,
  .quizPathLessons{
    gap:10px !important;
  }
  .learnPathLesson,
  .quizPathLesson{
    min-height:64px !important;
    gap:12px !important;
    padding:11px 14px !important;
    border-radius:16px !important;
  }
  .learnPathNumber,
  .quizPathNumber{
    width:36px !important;
    height:36px !important;
    font-size:16px !important;
  }
  .learnPathTitle strong,
  .quizPathTitle strong{
    font-size:16px !important;
  }
  .learnPathTitle small,
  .quizPathTitle small{
    font-size:11.5px !important;
  }
  .learnPathState,
  .quizPathState{
    width:28px !important;
    height:28px !important;
    font-size:23px !important;
  }
  .quizPathLesson.is-current .quizPathState{
    min-width:48px !important;
    height:28px !important;
    font-size:12px !important;
  }
  .learnPathSwitcherBlock{
    gap:8px !important;
  }
  .learnPathSwitcher{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .learnPathSwitcher button{
    min-height:54px !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    padding:9px !important;
    border-radius:14px !important;
  }
  .learnPathSwitcher span{
    width:28px !important;
    height:28px !important;
    border-radius:8px !important;
    font-size:14px !important;
  }
  .learnPathSwitcher strong{
    font-size:12px !important;
  }
  .learnPathSwitcher small{
    display:none !important;
  }
}
@media (max-width:760px){
  .v3QuizPage{
    width:100% !important;
    max-width:720px !important;
    padding:10px max(18px,env(safe-area-inset-left)) calc(24px + var(--nav-h)) max(18px,env(safe-area-inset-right)) !important;
  }
  .quizCoursePage{
    gap:18px !important;
  }
  .quizPathLesson{
    min-height:60px !important;
    gap:12px !important;
    padding:11px 14px !important;
    border-radius:15px !important;
  }
  .quizPathNumber{
    width:34px !important;
    height:34px !important;
    font-size:15px !important;
  }
  .quizPathTitle strong{
    font-size:15.5px !important;
  }
  .quizPathTitle small{
    font-size:11.5px !important;
  }
  .quizPathState{
    width:28px !important;
    height:28px !important;
    font-size:22px !important;
  }
  .learnMiniSectionHeader{
    align-items:start !important;
    display:grid !important;
    gap:3px !important;
  }
  .learnMiniSectionHeader p{
    max-width:none !important;
    text-align:left !important;
    font-size:12.5px !important;
  }
}

/* v3.0.0 build 224 - vibrant centred Quick Start and contained Continue Learning rows. */
.quickStartGrid{
  gap:12px !important;
}
.quickStartCard{
  display:grid !important;
  align-content:center !important;
  justify-content:center !important;
  justify-items:center !important;
  place-items:center !important;
  text-align:center !important;
  min-height:82px !important;
  padding:14px 12px !important;
  border:0 !important;
  border-radius:18px !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(18,26,47,.12) !important;
}
.quickStartCard::after{
  display:none !important;
}
.quickStartCard > span{
  width:auto !important;
  height:auto !important;
  display:block !important;
  margin:0 0 2px !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:currentColor !important;
  font-size:clamp(27px,3.4vw,42px) !important;
  line-height:1 !important;
  font-weight:700 !important;
}
.quickStartCard strong{
  max-width:100% !important;
  color:currentColor !important;
  font-size:clamp(15px,1.7vw,18px) !important;
  line-height:1.12 !important;
  font-weight:650 !important;
}
.quickStartCard small{
  display:none !important;
}
.quickStartCard--blue{
  background:linear-gradient(145deg,#1491ff 0%,#006dff 58%,#004fd6 100%) !important;
}
.quickStartCard--green{
  background:linear-gradient(145deg,#25d977 0%,#08ae58 58%,#008746 100%) !important;
}
.quickStartCard--purple{
  background:linear-gradient(145deg,#9b6dff 0%,#7256f6 56%,#5137d9 100%) !important;
}
.quickStartCard--yellow{
  background:linear-gradient(145deg,#ffd84b 0%,#ffb800 58%,#f09300 100%) !important;
  color:#1d2738 !important;
}
.quickStartCard--red{
  background:linear-gradient(145deg,#ff727f 0%,#f04444 58%,#cc252c 100%) !important;
}
.quickStartCard--teal{
  background:linear-gradient(145deg,#22d9c6 0%,#00aeb4 58%,#008898 100%) !important;
}
.continueLearningSection{
  padding:18px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.continueLearningSection .v3SectionHeader{
  padding-inline:2px !important;
}
.continueList{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.continueLessonCard{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  grid-template-columns:auto minmax(0,1fr) minmax(92px,150px) auto !important;
  gap:12px !important;
  padding:14px 16px !important;
  overflow:hidden !important;
}
.continueLessonCard > span:nth-child(2){
  min-width:0 !important;
  padding-right:6px !important;
}
.continueLessonCard > span:nth-child(2) strong{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.continueLessonCard small{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:4px 8px !important;
  min-width:0 !important;
}
.continueLessonProgress{
  min-width:0 !important;
  width:100% !important;
}
@media (min-width:900px){
  .quickStartCard{
    min-height:96px !important;
  }
}
@media (max-width:720px){
  .quickStartGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .continueLearningSection{
    padding:14px !important;
  }
  .continueLessonCard{
    grid-template-columns:auto minmax(0,1fr) auto !important;
  }
  .continueLessonProgress{
    grid-column:2/3 !important;
    grid-row:2 !important;
  }
}

/* v3.0.0 build 225 - integrate Home level/rank beside hero copy on desktop. */
@media (min-width:900px){
  .v3HomePage .homeDashboardHero{
    display:grid !important;
    grid-template-columns:minmax(0,660px) minmax(300px,390px) !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:center !important;
    column-gap:clamp(32px,5vw,76px) !important;
    padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right)) !important;
  }
  .v3HomePage .homeDashboardTop{
    grid-column:1/-1 !important;
    grid-row:1 !important;
    width:min(1120px,100%) !important;
    max-width:1120px !important;
    justify-self:center !important;
  }
  .v3HomePage .homeHeroText{
    grid-column:1 !important;
    grid-row:2 !important;
    width:auto !important;
    max-width:660px !important;
    margin:0 !important;
    justify-self:start !important;
    align-self:center !important;
  }
  .v3HomePage .homeDashboardHero .homeLevelCard{
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:center !important;
    justify-self:stretch !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:22px 24px !important;
    border-radius:24px !important;
    background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.13)) !important;
    border:1px solid rgba(255,255,255,.36) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 24px 54px rgba(0,38,120,.22) !important;
    backdrop-filter:blur(20px) !important;
  }
  .homeLevelCard span:first-child{
    font-size:13px !important;
    letter-spacing:.11em !important;
    color:rgba(255,255,255,.84) !important;
  }
  .homeLevelCard strong{
    font-size:clamp(25px,2.4vw,34px) !important;
    letter-spacing:-.035em !important;
  }
  .homeLevelCard p{
    font-size:15px !important;
    color:rgba(255,255,255,.90) !important;
  }
  .homeLevelProgress{
    height:11px !important;
    background:rgba(255,255,255,.24) !important;
  }
  .homeLevelProgress i{
    background:linear-gradient(90deg,#ffffff,#bfe0ff) !important;
    box-shadow:0 0 22px rgba(255,255,255,.58) !important;
  }
}

/* v3.0.0 build 226 - world-based Foundations progression and premium streak glass. */
.homeGoalPill,
.homeStreakPill,
.worldStreakPill{
  background:rgba(255,255,255,.22) !important;
  border:1px solid rgba(255,255,255,.32) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 10px 24px rgba(0,42,130,.10) !important;
  backdrop-filter:blur(18px) saturate(1.08) !important;
  color:#fff !important;
}
.homeGoalPill strong,
.homeStreakPill strong,
.worldStreakPill strong{
  font-weight:650 !important;
}
.screen--learn{
  background:#ddecce !important;
  padding:0 !important;
}
.v3LearnPage{
  width:100% !important;
  max-width:none !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
}
.learnTopicList{
  min-height:100% !important;
}
.learnWorldPage{
  min-height:calc(100dvh - var(--nav-h)) !important;
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:auto auto auto minmax(0,1fr) !important;
  gap:clamp(12px,2.2vw,20px) !important;
  padding:
    max(18px,env(safe-area-inset-top))
    max(18px,env(safe-area-inset-right))
    calc(var(--nav-h) + 20px)
    max(18px,env(safe-area-inset-left)) !important;
  color:#101a35 !important;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.52) 0%,rgba(255,255,255,.14) 34%,rgba(255,255,255,.42) 100%) !important;
  background-size:cover !important;
  background-position:center top !important;
}
.learnWorldPage::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:
    radial-gradient(circle at 50% 6%,rgba(255,255,255,.55),transparent 34%),
    linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,.08) 58%,rgba(255,255,255,.28)) !important;
  pointer-events:none !important;
}
.worldNav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:min(520px,100%) !important;
  margin:0 auto !important;
}
.worldNav > button{
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.70) !important;
  color:#0f1b3a !important;
  box-shadow:0 10px 24px rgba(18,26,47,.10),inset 0 1px 0 rgba(255,255,255,.5) !important;
  backdrop-filter:blur(14px) !important;
  font-size:32px !important;
  line-height:1 !important;
}
.worldHero{
  width:min(520px,100%) !important;
  margin:0 auto !important;
  display:grid !important;
  gap:8px !important;
  padding:4px 4px 0 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.58) !important;
}
.worldHero > p:first-child{
  margin:0 !important;
  color:#25692e !important;
  font-size:clamp(13px,1.8vw,16px) !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}
.worldHeroTitle{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.worldHeroTitle .learnCourseIcon{
  width:58px !important;
  height:58px !important;
  border-radius:15px !important;
  font-size:31px !important;
  box-shadow:0 18px 34px rgba(32,82,223,.22),inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.worldHero h1{
  margin:0 !important;
  color:#0f1b3a !important;
  font-size:clamp(34px,5.4vw,56px) !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
  font-weight:750 !important;
}
.worldHero h2{
  margin:0 !important;
  color:#0f1b3a !important;
  font-size:clamp(20px,3.2vw,31px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
}
.worldHero p:not(:first-child){
  max-width:520px !important;
  margin:0 !important;
  color:#4b5b71 !important;
  font-size:clamp(14px,1.8vw,17px) !important;
  line-height:1.38 !important;
  font-weight:450 !important;
}
.worldMeta{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:2px !important;
}
.worldMeta span{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.68) !important;
  border:1px solid rgba(255,255,255,.62) !important;
  color:#172344 !important;
  box-shadow:0 8px 18px rgba(18,26,47,.07) !important;
  backdrop-filter:blur(12px) !important;
  font-size:13px !important;
  font-weight:550 !important;
}
.worldProgressSummary{
  width:min(520px,100%) !important;
  margin:0 auto !important;
  display:grid !important;
  gap:9px !important;
  padding:13px 15px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(255,255,255,.74) !important;
  box-shadow:0 14px 30px rgba(18,26,47,.08),inset 0 1px 0 rgba(255,255,255,.5) !important;
  backdrop-filter:blur(18px) !important;
}
.worldProgressSummary h2,
.worldProgressSummary p{
  margin:0 !important;
}
.worldProgressSummary h2{
  color:#0f1b3a !important;
  font-size:16px !important;
  font-weight:700 !important;
}
.worldProgressSummary p{
  color:#637083 !important;
  font-size:13px !important;
  font-weight:450 !important;
}
.worldLessonPath{
  position:relative !important;
  width:min(520px,100%) !important;
  margin:0 auto !important;
  display:grid !important;
  gap:12px !important;
  padding:4px 0 26px !important;
}
.worldLessonPath::before{
  content:"" !important;
  position:absolute !important;
  left:27px !important;
  top:28px !important;
  bottom:46px !important;
  width:4px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(84,139,55,.78),rgba(255,255,255,.64)) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.38) !important;
}
.worldLessonCard{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) 28px !important;
  align-items:center !important;
  gap:11px !important;
  width:100% !important;
  min-height:80px !important;
  padding:8px 12px 8px 0 !important;
  border:0 !important;
  background:transparent !important;
  text-align:left !important;
  color:#101a35 !important;
  transition:transform .18s ease, opacity .18s ease !important;
}
.worldLessonCard:not(.is-locked):hover,
.worldLessonCard:not(.is-locked):focus-visible{
  transform:translateY(-2px) !important;
}
.worldLessonNode{
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#78b846,#4f8f2e) !important;
  color:#fff !important;
  border:4px solid rgba(255,255,255,.90) !important;
  box-shadow:0 10px 20px rgba(40,78,30,.20) !important;
  font-size:23px !important;
  font-weight:800 !important;
}
.worldLessonPanel{
  min-height:74px !important;
  display:grid !important;
  align-content:center !important;
  gap:4px !important;
  padding:13px 15px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(255,255,255,.82) !important;
  box-shadow:0 16px 34px rgba(18,26,47,.12),inset 0 1px 0 rgba(255,255,255,.58) !important;
  backdrop-filter:blur(16px) !important;
}
.worldLessonPanel strong{
  color:#0f1b3a !important;
  font-size:15px !important;
  line-height:1.14 !important;
  font-weight:750 !important;
}
.worldLessonPanel small{
  color:#526074 !important;
  font-size:11.5px !important;
  line-height:1.25 !important;
  font-weight:450 !important;
}
.worldLessonStars{
  display:flex !important;
  gap:2px !important;
  color:#cbd2dd !important;
  font-size:14px !important;
  letter-spacing:.02em !important;
}
.worldLessonStars i{
  font-style:normal !important;
}
.worldLessonStars .is-earned{
  color:#ffb323 !important;
  text-shadow:0 2px 6px rgba(255,179,35,.28) !important;
}
.worldLessonArrow{
  color:#172344 !important;
  font-size:29px !important;
  font-weight:450 !important;
}
.worldLessonCard.is-current .worldLessonNode{
  background:linear-gradient(180deg,#1c7dff,#005fe5) !important;
  box-shadow:0 0 0 4px rgba(255,255,255,.72),0 12px 24px rgba(0,95,229,.24) !important;
}
.worldLessonCard.is-current .worldLessonPanel{
  border-color:rgba(0,95,229,.52) !important;
  box-shadow:0 0 0 3px rgba(0,95,229,.15),0 18px 36px rgba(18,26,47,.13) !important;
}
.worldLessonCard.is-locked{
  opacity:.86 !important;
}
.worldLessonCard.is-locked .worldLessonNode{
  background:linear-gradient(180deg,#f2f4f8,#dfe5ee) !important;
  color:#667085 !important;
  font-size:20px !important;
  box-shadow:0 8px 16px rgba(18,26,47,.08) !important;
}
.worldLessonCard.is-locked .worldLessonPanel{
  background:rgba(255,255,255,.74) !important;
  box-shadow:0 10px 20px rgba(18,26,47,.055) !important;
}
@media (min-width:761px) and (orientation:portrait){
  .learnWorldPage{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.50) 0%,rgba(255,255,255,.12) 36%,rgba(255,255,255,.38) 100%) !important;
  }
}
@media (min-width:761px) and (orientation:landscape){
  .learnWorldPage{
    background-image:
      linear-gradient(90deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,.30) 44%,rgba(255,255,255,.18) 100%) !important;
    background-position:center center !important;
  }
  .worldNav,
  .worldHero,
  .worldProgressSummary,
  .worldLessonPath{
    margin-left:clamp(34px,6vw,86px) !important;
    margin-right:auto !important;
  }
}
@media (min-width:1120px){
  .learnWorldPage{
    min-height:100dvh !important;
    padding:clamp(26px,3vw,42px) clamp(36px,5vw,76px) 48px !important;
    background-image:
      linear-gradient(90deg,rgba(255,255,255,.60) 0%,rgba(255,255,255,.40) 36%,rgba(255,255,255,.05) 72%) !important;
    background-position:center center !important;
  }
  .worldNav,
  .worldHero,
  .worldProgressSummary,
  .worldLessonPath{
    width:min(500px,42vw) !important;
    margin-left:clamp(42px,7vw,120px) !important;
  }
  .worldLessonPath{
    gap:10px !important;
  }
}
@media (max-width:420px){
  .worldHero h1{
    font-size:32px !important;
  }
  .worldHeroTitle .learnCourseIcon{
    width:50px !important;
    height:50px !important;
    font-size:27px !important;
  }
  .worldLessonCard{
    grid-template-columns:52px minmax(0,1fr) 22px !important;
    min-height:74px !important;
  }
  .worldLessonNode{
    width:48px !important;
    height:48px !important;
  }
  .worldLessonPath::before{
    left:24px !important;
  }
}
.v3QuizPage,
.quizCoursePage{
  background:#f7f9fc !important;
  background-image:none !important;
}

/* v3.0.0 build 227 - fixed world overview and separate Garden Path lesson map. */
.screen--learn .v3PageHeader{
  display:none !important;
}
.learnWorldSurface{
  min-height:calc(100dvh - var(--nav-h)) !important;
  height:calc(100dvh - var(--nav-h)) !important;
  width:100% !important;
  overflow:hidden !important;
  position:relative !important;
  isolation:isolate !important;
  display:grid !important;
  gap:14px !important;
  padding:
    max(18px,env(safe-area-inset-top))
    max(18px,env(safe-area-inset-right))
    calc(var(--nav-h) + 18px)
    max(18px,env(safe-area-inset-left)) !important;
  background:transparent !important;
}
.learnWorldSurface::before,
.learnWorldSurface::after{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  pointer-events:none !important;
}
.learnWorldSurface::before{
  z-index:-2 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:translateZ(0) !important;
}
.learnWorldSurface::after{
  z-index:-1 !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.06) 34%,rgba(255,255,255,.22)),
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.58),transparent 32%),
    radial-gradient(circle at 92% 84%,rgba(255,255,255,.30),transparent 35%) !important;
}
.learnWorldPage--overview{
  grid-template-rows:auto minmax(0,1fr) !important;
  align-items:end !important;
}
.learnWorldPage--overview::before,
.learnWorldPage--loading::before{
  background-image:none !important;
}
.learnWorldPage--path::before{
  background-image:none !important;
}
.worldNav--overview,
.learnWorldPage--path .worldNav{
  align-self:start !important;
}
.worldOverviewPanel,
.worldLoadingPanel{
  width:min(520px,100%) !important;
  align-self:end !important;
  justify-self:center !important;
  display:grid !important;
  gap:10px !important;
  padding:20px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.80) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 24px 58px rgba(18,26,47,.18),inset 0 1px 0 rgba(255,255,255,.62) !important;
  backdrop-filter:blur(20px) saturate(1.08) !important;
  animation:worldPanelIn227 .52s cubic-bezier(.2,.82,.18,1) both !important;
}
.worldOverviewPanel .eyebrow,
.worldLoadingPanel .eyebrow{
  margin:0 !important;
  color:#1c7dff !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  font-weight:750 !important;
  text-transform:uppercase !important;
}
.worldOverviewPanel h1,
.worldLoadingPanel h1{
  margin:0 !important;
  color:#0f1b3a !important;
  font-size:clamp(34px,7vw,58px) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
}
.worldOverviewPanel > p:not(.eyebrow),
.worldLoadingPanel > p:not(.eyebrow){
  margin:0 !important;
  color:#4b5b71 !important;
  font-weight:450 !important;
  line-height:1.35 !important;
}
.worldOverviewIcon{
  width:58px !important;
  height:58px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:18px !important;
  color:#fff !important;
  background:linear-gradient(180deg,#428bff,#0a63f6) !important;
  box-shadow:0 15px 30px rgba(10,99,246,.25),inset 0 1px 0 rgba(255,255,255,.28) !important;
  font-size:32px !important;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif !important;
}
.worldMeta--overview{
  margin-top:4px !important;
}
.worldOverviewProgress{
  height:10px !important;
  margin-top:2px !important;
}
.worldBeginBtn{
  min-height:54px !important;
  margin-top:4px !important;
  border:0 !important;
  border-radius:18px !important;
  color:#fff !important;
  background:linear-gradient(180deg,#1c7dff,#005fe5) !important;
  box-shadow:0 16px 32px rgba(0,95,229,.24),inset 0 1px 0 rgba(255,255,255,.28) !important;
  font-size:16px !important;
  font-weight:750 !important;
}
.worldBeginBtn:active{
  transform:translateY(1px) scale(.99) !important;
}
.worldReviewNote{
  display:grid !important;
  gap:3px !important;
  margin-top:4px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(15,27,58,.10) !important;
}
.worldReviewNote strong{
  color:#0f1b3a !important;
  font-size:14px !important;
}
.worldReviewNote span{
  color:#526074 !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
}
.learnWorldPage--path{
  grid-template-rows:auto auto auto minmax(0,1fr) !important;
}
.worldHero--path{
  align-self:start !important;
  width:min(480px,100%) !important;
  padding:8px 12px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(255,255,255,.56) !important;
  box-shadow:0 14px 34px rgba(18,26,47,.10) !important;
  backdrop-filter:blur(16px) !important;
}
.worldHero--path h1{
  font-size:clamp(26px,5vw,42px) !important;
}
.worldHero--path h2{
  font-size:clamp(17px,3vw,24px) !important;
}
.learnWorldPage--path .worldProgressSummary{
  padding:10px 12px !important;
  border-radius:18px !important;
}
.worldLessonPath--map{
  position:relative !important;
  width:min(560px,100%) !important;
  height:min(56dvh,520px) !important;
  min-height:390px !important;
  align-self:stretch !important;
  padding:0 !important;
  margin:0 auto !important;
  display:block !important;
}
.worldLessonPath--map::before{
  left:33px !important;
  top:34px !important;
  bottom:46px !important;
  width:5px !important;
  opacity:.84 !important;
}
.worldLessonCard--map{
  position:absolute !important;
  grid-template-columns:58px minmax(0,1fr) 20px !important;
  min-height:70px !important;
  padding:0 !important;
  animation:worldStepIn227 .48s cubic-bezier(.2,.82,.18,1) both !important;
}
.worldLessonCard--map:nth-child(1){top:0;left:1%;width:76%;animation-delay:.02s !important;}
.worldLessonCard--map:nth-child(2){top:16%;left:19%;width:69%;animation-delay:.07s !important;}
.worldLessonCard--map:nth-child(3){top:32%;left:4%;width:82%;animation-delay:.12s !important;}
.worldLessonCard--map:nth-child(4){top:49%;left:25%;width:72%;animation-delay:.17s !important;}
.worldLessonCard--map:nth-child(5){top:66%;left:8%;width:63%;animation-delay:.22s !important;}
.worldLessonCard--map:nth-child(6){top:80%;left:30%;width:67%;animation-delay:.27s !important;}
.worldLessonCard--map .worldLessonNode{
  width:54px !important;
  height:54px !important;
  font-size:22px !important;
}
.worldLessonCard--map .worldLessonPanel{
  min-height:64px !important;
  padding:10px 12px !important;
}
.worldLessonCard--map .worldLessonPanel strong{
  font-size:13.5px !important;
}
.worldLessonCard--map .worldLessonPanel small{
  display:none !important;
}
.worldLoadingPanel{
  align-self:center !important;
  text-align:center !important;
  justify-items:center !important;
}
.worldLoadingBar{
  width:min(260px,100%) !important;
  height:8px !important;
  border-radius:999px !important;
  background:rgba(15,27,58,.10) !important;
  overflow:hidden !important;
}
.worldLoadingBar i{
  display:block !important;
  width:45% !important;
  height:100% !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#1c7dff,#78d8ff) !important;
  animation:worldLoading227 .72s ease-in-out infinite alternate !important;
}
@media (min-width:761px) and (orientation:portrait){
  .learnWorldPage--overview::before,
  .learnWorldPage--loading::before{
    background-image:none !important;
  }
  .learnWorldPage--path::before{
    background-image:none !important;
  }
}
@media (min-width:761px) and (orientation:landscape){
  .learnWorldPage--overview::before,
  .learnWorldPage--loading::before{
    background-image:none !important;
  }
  .learnWorldPage--path::before{
    background-image:none !important;
    background-position:center center !important;
  }
  .worldOverviewPanel{
    justify-self:start !important;
    align-self:end !important;
    margin-left:clamp(24px,5vw,70px) !important;
    margin-bottom:clamp(18px,4vw,52px) !important;
  }
  .worldLessonPath--map,
  .worldHero--path,
  .learnWorldPage--path .worldProgressSummary,
  .learnWorldPage--path .worldNav{
    margin-left:clamp(30px,6vw,90px) !important;
    margin-right:auto !important;
  }
}
@media (min-width:1120px){
  .learnWorldPage--overview::before,
  .learnWorldPage--loading::before{
    background-image:none !important;
  }
  .learnWorldPage--path::before{
    background-image:none !important;
  }
  .worldOverviewPanel{
    width:min(540px,34vw) !important;
  }
  .worldLessonPath--map{
    width:min(560px,40vw) !important;
    height:min(62dvh,560px) !important;
  }
}
@media (max-width:420px){
  .learnWorldSurface{
    gap:10px !important;
    padding:
      max(14px,env(safe-area-inset-top))
      max(14px,env(safe-area-inset-right))
      calc(var(--nav-h) + 12px)
      max(14px,env(safe-area-inset-left)) !important;
  }
  .worldOverviewPanel{
    padding:17px !important;
    border-radius:24px !important;
  }
  .worldLessonPath--map{
    height:52dvh !important;
    min-height:360px !important;
  }
  .worldLessonCard--map{
    grid-template-columns:50px minmax(0,1fr) 16px !important;
  }
  .worldLessonCard--map .worldLessonNode{
    width:48px !important;
    height:48px !important;
    font-size:20px !important;
  }
  .worldLessonCard--map .worldLessonPanel{
    min-height:58px !important;
    padding:9px 10px !important;
  }
  .worldLessonCard--map .worldLessonPanel strong{
    font-size:12.5px !important;
  }
}
@keyframes worldPanelIn227{
  from{opacity:0;transform:translateY(18px) scale(.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes worldStepIn227{
  from{opacity:0;transform:translateY(10px) scale(.96);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes worldLoading227{
  from{transform:translateX(-76%);}
  to{transform:translateX(126%);}
}

/* v3.0.0 build 228 - icon-only mobile lesson map, clearer world art and guided Foundations lessons. */
.learnWorldSurface::after{
  display:none !important;
}
.learnWorldSurface::before{
  background-size:cover !important;
  background-position:center center !important;
}
.worldOverviewPanel,
.worldLoadingPanel,
.worldHero--path,
.learnWorldPage--path .worldProgressSummary{
  background:rgba(255,255,255,.72) !important;
}
.worldLessonCard--map .worldLessonStars{
  grid-column:2 !important;
  grid-row:2 !important;
  align-self:start !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.worldReviewChallenge{
  width:min(520px,100%) !important;
  margin:0 auto !important;
  min-height:66px !important;
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:center !important;
  padding:10px 13px !important;
  border:1px solid rgba(255,255,255,.74) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.78) !important;
  color:#0f1b3a !important;
  box-shadow:0 16px 34px rgba(18,26,47,.10) !important;
  backdrop-filter:blur(16px) !important;
  text-align:left !important;
}
.worldReviewChallenge > span{
  width:40px !important;
  height:40px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#1c7dff !important;
  color:#fff !important;
}
.worldReviewChallenge strong,
.worldReviewChallenge small{
  grid-column:2 !important;
}
.worldReviewChallenge strong{
  font-size:14px !important;
}
.worldReviewChallenge small{
  color:#526074 !important;
  font-weight:450 !important;
}
.worldReviewChallenge.is-locked{
  opacity:.72 !important;
}
.worldReviewChallenge.is-locked > span{
  background:#e5eaf2 !important;
  color:#667085 !important;
}
.foundationReviewGrid{
  grid-template-columns:2fr 1fr !important;
}
.worldLessonCard--map .worldLessonArrow{
  grid-column:3 !important;
  grid-row:1 / span 2 !important;
}
.foundationLessonPage{
  grid-template-rows:auto auto minmax(0,1fr) auto !important;
}
.foundationLessonPage::before{
  background-image:none !important;
}
.foundationLessonNav,
.foundationLessonHero,
.foundationLessonGrid,
.foundationLessonActions{
  width:min(880px,100%) !important;
  margin-inline:auto !important;
}
.foundationLessonProgress{
  flex:1 1 auto !important;
  height:10px !important;
  max-width:420px !important;
  border-radius:999px !important;
  background:rgba(15,27,58,.12) !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.58) !important;
}
.foundationLessonProgress i{
  display:block !important;
  width:var(--progress,0%) !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#1c7dff,#78d8ff) !important;
  transition:width .5s ease !important;
}
.foundationLessonHero{
  display:grid !important;
  gap:8px !important;
  padding:18px 20px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 20px 45px rgba(18,26,47,.14) !important;
  backdrop-filter:blur(18px) !important;
}
.foundationLessonHero h1{
  margin:0 !important;
  color:#0f1b3a !important;
  font-size:clamp(30px,5vw,52px) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}
.foundationLessonHero p{
  margin:0 !important;
  color:#4b5b71 !important;
  line-height:1.35 !important;
  font-weight:450 !important;
}
.foundationLessonGrid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  overflow:auto !important;
  min-height:0 !important;
  padding-bottom:4px !important;
}
.foundationActivityCard{
  display:grid !important;
  align-content:start !important;
  gap:10px !important;
  padding:16px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 16px 34px rgba(18,26,47,.11) !important;
  backdrop-filter:blur(18px) !important;
}
.foundationActivityCard h2{
  margin:0 !important;
  color:#0f1b3a !important;
  font-size:18px !important;
}
.foundationActivityCard ul,
.foundationActivityCard ol{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:grid !important;
  gap:8px !important;
}
.foundationActivityCard li,
.foundationActivityCard p{
  margin:0 !important;
  color:#4b5b71 !important;
  font-size:13px !important;
  line-height:1.28 !important;
  font-weight:450 !important;
}
.foundationActivityCard ol li{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  gap:8px !important;
}
.foundationActivityCard ol li span{
  width:22px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#1c7dff !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:750 !important;
}
.foundationTilePreview{
  display:flex !important;
  align-items:end !important;
  gap:7px !important;
  margin-top:4px !important;
}
.foundationTile{
  display:grid !important;
  place-items:center !important;
  border-radius:8px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 16px rgba(18,26,47,.16) !important;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif !important;
  font-weight:700 !important;
}
.foundationTile--x2{width:42px;height:42px;background:#347cff;color:#fff;}
.foundationTile--x{width:24px;height:66px;background:#34a853;color:#fff;}
.foundationTile--one{width:30px;height:30px;background:#ffd84d;color:#172344;}
.foundationTile--neg{width:34px;height:34px;background:#ef6b63;color:#fff;}
.foundationLessonActions{
  display:flex !important;
  gap:10px !important;
  justify-content:flex-end !important;
}
.foundationLessonActions .primaryBtn,
.foundationLessonActions .secondaryBtn{
  min-height:48px !important;
  border-radius:16px !important;
}
.foundationCompletePanel{
  align-self:center !important;
}
.foundationCompleteStars{
  justify-content:center !important;
  font-size:24px !important;
}
@media (min-width:761px) and (orientation:portrait){
  .foundationLessonPage::before{
    background-image:none !important;
  }
}
@media (min-width:761px) and (orientation:landscape){
  .foundationLessonPage::before{
    background-image:none !important;
  }
}
@media (min-width:1120px){
  .foundationLessonPage::before{
    background-image:none !important;
  }
}
@media (max-width:760px){
  .worldHero--path,
  .learnWorldPage--path .worldProgressSummary{
    display:none !important;
  }
  .worldLessonPath--map{
    height:calc(100dvh - var(--nav-h) - 92px) !important;
    min-height:480px !important;
  }
  .worldLessonPath--map::before{
    left:50% !important;
    transform:translateX(-50%) !important;
    width:4px !important;
    top:42px !important;
    bottom:54px !important;
  }
  .worldLessonCard--map{
    width:auto !important;
    min-height:0 !important;
    display:block !important;
    padding:0 !important;
  }
  .worldLessonCard--map:nth-child(1){top:3%;left:44%;}
  .worldLessonCard--map:nth-child(2){top:20%;left:31%;}
  .worldLessonCard--map:nth-child(3){top:38%;left:55%;}
  .worldLessonCard--map:nth-child(4){top:57%;left:35%;}
  .worldLessonCard--map:nth-child(5){top:76%;left:53%;}
  .worldLessonCard--map .worldLessonPanel,
  .worldLessonCard--map .worldLessonArrow{
    display:none !important;
  }
  .worldLessonCard--map .worldLessonNode{
    width:62px !important;
    height:62px !important;
    border-width:5px !important;
    font-size:24px !important;
  }
  .worldLessonCard--map.is-locked .worldLessonNode{
    font-size:23px !important;
  }
  .worldLessonCard--map .worldLessonStars{
    position:absolute !important;
    left:72px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:max-content !important;
    display:flex !important;
    gap:1px !important;
    font-size:15px !important;
    padding:0 !important;
    background:transparent !important;
    text-shadow:0 2px 6px rgba(18,26,47,.18) !important;
  }
  .foundationLessonGrid{
    grid-template-columns:1fr !important;
  }
  .worldReviewChallenge{
    width:min(250px,100%) !important;
    min-height:48px !important;
    margin-top:-8px !important;
    padding:8px 10px !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    border-radius:16px !important;
  }
  .worldReviewChallenge > span{
    width:30px !important;
    height:30px !important;
  }
  .worldReviewChallenge strong{
    font-size:12.5px !important;
  }
  .worldReviewChallenge small{
    display:none !important;
  }
  .foundationActivityCard{
    padding:14px !important;
    border-radius:18px !important;
  }
  .foundationLessonActions{
    justify-content:stretch !important;
  }
  .foundationLessonActions .primaryBtn,
  .foundationLessonActions .secondaryBtn{
    flex:1 1 0 !important;
  }
}

/* v3.0.0 build 229 - one-page welcome screen with supplied character artwork. */
.welcomeScreen{
  height:100dvh !important;
  min-height:0 !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  background:#fff !important;
}
.welcomeHero{
  flex:0 0 clamp(310px,42dvh,455px) !important;
  min-height:0 !important;
  gap:clamp(12px,2.1dvh,24px) !important;
  padding:
    max(34px,calc(18px + env(safe-area-inset-top)))
    22px
    clamp(104px,12dvh,152px) !important;
}
.welcomeHero::after{
  bottom:clamp(-86px,-7dvh,-50px) !important;
  height:clamp(128px,15dvh,190px) !important;
}
.welcomeLogo{
  width:min(430px,70vw) !important;
  max-height:clamp(62px,9.2dvh,106px) !important;
}
.welcomeCopy{
  gap:clamp(8px,1.4dvh,12px) !important;
}
.welcomeCopy h1{
  font-size:clamp(30px,4.8dvh,58px) !important;
}
.welcomeCopy p{
  max-width:520px !important;
  font-size:clamp(15px,2.15dvh,24px) !important;
  font-weight:500 !important;
}
.welcomeTiles{
  flex:1 1 auto !important;
  width:min(1080px,96vw) !important;
  height:clamp(230px,36dvh,430px) !important;
  min-height:0 !important;
  margin:clamp(-112px,-8.5dvh,-56px) auto 0 !important;
  display:grid !important;
  place-items:center !important;
  pointer-events:none !important;
}
.welcomeCharacters{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  filter:drop-shadow(0 18px 26px rgba(18,26,47,.16)) !important;
}
.welcomeActions{
  flex:0 0 auto !important;
  width:min(560px,calc(100vw - 44px)) !important;
  gap:clamp(7px,1.2dvh,12px) !important;
  margin:clamp(8px,1.2dvh,16px) auto 0 !important;
  padding-bottom:max(12px,env(safe-area-inset-bottom)) !important;
}
.welcomePrimaryBtn{
  min-height:clamp(50px,6.8dvh,62px) !important;
  border-radius:clamp(17px,2.2dvh,22px) !important;
  font-size:clamp(16px,2.2dvh,21px) !important;
}
.welcomeAccountPrompt{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:5px !important;
  margin:0 !important;
  color:#5d6674 !important;
  font-size:clamp(13px,1.85dvh,15px) !important;
  line-height:1.2 !important;
  font-weight:450 !important;
}
.welcomeAccountPrompt button{
  border:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#0877f8 !important;
  font:inherit !important;
  font-weight:750 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}
.welcomeActions > p:not(.welcomeAccountPrompt){
  font-size:clamp(11px,1.55dvh,13px) !important;
  line-height:1.2 !important;
  color:#7a8493 !important;
  font-weight:450 !important;
  text-align:center !important;
}
@media (max-width:1060px){
  .welcomeTiles{
    width:min(780px,96vw) !important;
    height:clamp(205px,32dvh,320px) !important;
  }
}
@media (max-width:760px){
  .welcomeHero{
    flex-basis:clamp(292px,45dvh,382px) !important;
    padding-top:max(28px,calc(12px + env(safe-area-inset-top))) !important;
    padding-bottom:clamp(88px,11dvh,120px) !important;
  }
  .welcomeHero::after{
    bottom:clamp(-78px,-7.4dvh,-46px) !important;
    height:clamp(118px,14dvh,168px) !important;
  }
  .welcomeLogo{
    width:min(285px,66vw) !important;
  }
  .welcomeCopy h1{
    font-size:clamp(28px,4.7dvh,40px) !important;
  }
  .welcomeCopy p{
    max-width:310px !important;
    font-size:clamp(14px,2.05dvh,18px) !important;
  }
  .welcomeTiles{
    width:min(450px,96vw) !important;
    height:clamp(182px,28dvh,250px) !important;
    margin-top:clamp(-82px,-7.8dvh,-44px) !important;
  }
  .welcomeActions{
    width:min(340px,calc(100vw - 42px)) !important;
  }
}
@media (max-height:700px){
  .welcomeHero{
    flex-basis:286px !important;
    padding-bottom:82px !important;
  }
  .welcomeLogo{
    max-height:58px !important;
  }
  .welcomeCopy h1{
    font-size:28px !important;
  }
  .welcomeCopy p{
    font-size:14px !important;
  }
  .welcomeTiles{
    height:clamp(150px,26dvh,190px) !important;
    margin-top:-54px !important;
  }
  .welcomePrimaryBtn{
    min-height:48px !important;
  }
}

/* v3.0.0 build 230 - interactive Foundations mini-level player. */
.foundationLessonPlayer{
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) auto !important;
  gap:clamp(12px,2dvh,18px) !important;
  min-height:100dvh !important;
  padding:clamp(14px,2.6vw,26px) !important;
  overflow:hidden !important;
}
.foundationLessonPlayer .foundationLessonNav{
  align-items:center !important;
}
.foundationStepCount{
  min-width:max-content !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  color:#122044 !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 10px 22px rgba(18,26,47,.10) !important;
  font-size:12px !important;
  font-weight:750 !important;
}
.foundationLevelHero{
  width:min(980px,100%) !important;
  justify-self:center !important;
  padding:clamp(14px,2.4vw,20px) !important;
  border-radius:22px !important;
}
.foundationLevelHero h1{
  font-size:clamp(24px,4vw,42px) !important;
}
.foundationLevelCard{
  width:min(980px,100%) !important;
  min-height:0 !important;
  justify-self:center !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) auto !important;
  gap:clamp(10px,1.8dvh,16px) !important;
  padding:clamp(14px,2.4vw,22px) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 22px 54px rgba(18,26,47,.14) !important;
  backdrop-filter:blur(18px) !important;
  overflow:hidden !important;
}
.foundationLevelTop{
  display:flex !important;
  align-items:start !important;
  justify-content:space-between !important;
  gap:14px !important;
}
.foundationLevelTop h2{
  margin:0 !important;
  color:#0f1b3a !important;
  font-size:clamp(22px,3vw,34px) !important;
  line-height:1.05 !important;
}
.foundationLevelTop .eyebrow,
.foundationLevelPrompt{
  margin:0 !important;
}
.foundationLevelPrompt{
  color:#33435d !important;
  font-size:clamp(15px,1.9vw,18px) !important;
  line-height:1.34 !important;
  font-weight:500 !important;
}
.learnHintBtn{
  border:1px solid rgba(28,125,255,.18) !important;
  border-radius:999px !important;
  background:rgba(28,125,255,.10) !important;
  color:#0b62d8 !important;
  min-height:38px !important;
  padding:0 14px !important;
  font-weight:750 !important;
}
.learnInteractionBoard{
  min-height:0 !important;
  display:grid !important;
  gap:14px !important;
  align-content:center !important;
  padding:clamp(12px,2vw,20px) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,rgba(247,250,255,.86),rgba(255,255,255,.62)) !important;
  border:1px solid rgba(18,26,47,.07) !important;
  overflow:auto !important;
}
.learnInteractionBoard--split,
.learnInteractionBoard--build,
.learnInteractionBoard--sort{
  grid-template-columns:minmax(0,1fr) minmax(210px,.82fr) !important;
  align-items:stretch !important;
}
.learnDynamicPrompt,
.learnMiniStatus,
.learnMisconceptionNote{
  margin:0 !important;
  justify-self:center !important;
  color:#33435d !important;
  font-weight:650 !important;
  text-align:center !important;
}
.learnTileStage,
.learnTileTray,
.learnBuildPalette,
.learnLabelTray{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(10px,1.8vw,16px) !important;
  flex-wrap:wrap !important;
  min-height:92px !important;
}
.learnTileStage--compact{
  min-height:62px !important;
}
.learnTile{
  --tile-depth:0 12px 22px rgba(18,26,47,.16), inset 0 2px 0 rgba(255,255,255,.38);
  border:0 !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-shadow:var(--tile-depth) !important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, opacity .22s ease, filter .22s ease !important;
  touch-action:none !important;
  cursor:grab !important;
}
.learnTile:hover,
.learnTile:focus-visible,
.learnTile.is-selected{
  transform:translateY(-4px) scale(1.04) !important;
  box-shadow:0 0 0 4px rgba(28,125,255,.18), var(--tile-depth) !important;
}
.learnTile--one{
  width:52px !important;
  height:52px !important;
  border-radius:13px !important;
  background:#ffd54a !important;
  color:#172344 !important;
  font-size:23px !important;
}
.learnTile--x{
  width:48px !important;
  height:128px !important;
  border-radius:14px !important;
  background:#35ac43 !important;
  font-size:28px !important;
}
.learnTile--x2{
  width:104px !important;
  height:104px !important;
  border-radius:18px !important;
  background:#1f73f1 !important;
  font-size:30px !important;
}
.learnTile.is-negative{
  background:#f0645d !important;
  color:#fff !important;
}
.learnTile.is-large{
  width:148px !important;
  height:148px !important;
  border-radius:24px !important;
  animation:learnGlow 2.2s ease-in-out infinite !important;
}
.learnTile.is-mini{
  transform:scale(.72) !important;
  margin:-10px !important;
  pointer-events:none !important;
}
.learnTile.is-correct{
  animation:learnTilePop .42s ease both !important;
  box-shadow:0 0 0 6px rgba(25,186,106,.20), var(--tile-depth) !important;
}
.learnTile.is-placed,
.learnLabelToken.is-placed,
.learnTextToken.is-placed{
  opacity:.28 !important;
  filter:saturate(.75) !important;
  pointer-events:none !important;
}
.learnTile.is-cancelled{
  pointer-events:none !important;
  animation:learnCancel .62s ease forwards !important;
}
.learnDropZone,
.learnMatchTarget,
.learnAreaTarget{
  min-height:150px !important;
  border:2px dashed rgba(28,125,255,.34) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.54) !important;
  color:#172344 !important;
  display:grid !important;
  place-items:center !important;
  gap:8px !important;
  padding:14px !important;
  font-weight:750 !important;
  transition:background .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease !important;
}
.learnDropZone:hover,
.learnDropZone:focus-visible,
.learnMatchTarget:hover,
.learnMatchTarget:focus-visible,
.learnAreaTarget:hover,
.learnAreaTarget:focus-visible{
  background:rgba(28,125,255,.10) !important;
  border-color:#1c7dff !important;
  box-shadow:0 0 0 5px rgba(28,125,255,.12) !important;
}
.learnDropZone--red{
  border-color:rgba(240,100,93,.42) !important;
  background:rgba(240,100,93,.08) !important;
}
.learnDropZone.is-correct,
.learnMatchTarget.is-correct{
  border-style:solid !important;
  border-color:rgba(25,186,106,.68) !important;
  background:rgba(25,186,106,.12) !important;
}
.learnWorkspaceZone{
  align-content:start !important;
}
.learnBuiltTiles{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  min-height:70px !important;
}
.learnMatchGrid,
.learnSortZones{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.learnLabelToken,
.learnTextToken,
.learnChoiceGrid button{
  border:1px solid rgba(18,26,47,.08) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#172344 !important;
  box-shadow:0 10px 22px rgba(18,26,47,.08) !important;
  min-height:48px !important;
  padding:10px 14px !important;
  font-weight:750 !important;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
}
.learnLabelToken:hover,
.learnTextToken:hover,
.learnLabelToken.is-selected,
.learnTextToken.is-selected,
.learnChoiceGrid button:hover,
.learnChoiceGrid button:focus-visible,
.learnChoiceGrid button.is-selected{
  transform:translateY(-2px) !important;
  border-color:#1c7dff !important;
  background:#eef6ff !important;
  box-shadow:0 0 0 4px rgba(28,125,255,.12),0 12px 24px rgba(18,26,47,.10) !important;
}
.learnChoiceGrid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.learnChoiceGrid--two{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:420px !important;
  width:100% !important;
  justify-self:center !important;
}
.learnQuestionCard{
  margin:0 !important;
  justify-self:center !important;
  width:min(520px,100%) !important;
  padding:18px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(18,26,47,.08) !important;
  text-align:center !important;
  font-size:clamp(22px,4vw,34px) !important;
  font-weight:750 !important;
  color:#172344 !important;
}
.learnSliderReadout{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
.learnSliderReadout span{
  padding:12px !important;
  border-radius:16px !important;
  background:#fff !important;
  border:1px solid rgba(18,26,47,.08) !important;
  text-align:center !important;
  color:#33435d !important;
  font-weight:650 !important;
}
.learnSliderReadout strong{
  color:#0b62d8 !important;
  font-size:1.35em !important;
}
.learnSlider{
  width:min(560px,100%) !important;
  justify-self:center !important;
  accent-color:#1c7dff !important;
}
.learnCompareBars{
  display:grid !important;
  gap:8px !important;
}
.learnCompareBars span{
  position:relative !important;
  min-height:34px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:rgba(18,26,47,.07) !important;
}
.learnCompareBars span::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:var(--bar) !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#1c7dff,#74dcff) !important;
  transition:width .35s ease !important;
}
.learnCompareBars b{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  padding:7px 12px !important;
  color:#172344 !important;
}
.learnAreaTarget{
  width:min(260px,100%) !important;
  aspect-ratio:1 !important;
  justify-self:center !important;
  border-style:solid !important;
  background:linear-gradient(135deg,rgba(28,125,255,.18),rgba(255,255,255,.62)) !important;
}
.learnAreaTarget span{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif !important;
  font-size:48px !important;
  color:#0b62d8 !important;
}
.learnLevelFeedback{
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 14px !important;
  border-radius:16px !important;
  font-weight:750 !important;
  text-align:center !important;
  animation:learnFeedbackIn .32s ease both !important;
}
.learnLevelFeedback[hidden]{
  display:none !important;
}
.learnLevelFeedback.is-success{
  background:rgba(25,186,106,.14) !important;
  color:#11613b !important;
}
.learnLevelFeedback.is-error{
  background:rgba(240,100,93,.14) !important;
  color:#9f2d28 !important;
}
.learnLevelFeedback.is-info{
  background:rgba(28,125,255,.12) !important;
  color:#0b62d8 !important;
}
.foundationLessonActions--sticky{
  width:min(980px,100%) !important;
  justify-self:center !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}
.foundationLessonActions--sticky .primaryBtn[hidden]{
  display:none !important;
}
.foundationLessonPlayer.is-learning-error .foundationLevelCard{
  animation:learnSoftShake .36s ease !important;
}
.foundationLessonPlayer.is-level-complete .foundationLevelCard{
  box-shadow:0 0 0 5px rgba(25,186,106,.14),0 22px 54px rgba(18,26,47,.14) !important;
}
@keyframes learnTilePop{
  0%{transform:scale(1);}
  45%{transform:scale(1.14) translateY(-4px);}
  100%{transform:scale(1);}
}
@keyframes learnCancel{
  0%{opacity:1;transform:scale(1);}
  45%{opacity:1;transform:scale(1.12);filter:brightness(1.15);}
  100%{opacity:0;transform:scale(.28) rotate(7deg);}
}
@keyframes learnGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(28,125,255,.0),var(--tile-depth);}
  50%{box-shadow:0 0 0 10px rgba(28,125,255,.12),var(--tile-depth);}
}
@keyframes learnFeedbackIn{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes learnSoftShake{
  0%,100%{transform:translateX(0);}
  25%{transform:translateX(-7px);}
  55%{transform:translateX(6px);}
  80%{transform:translateX(-3px);}
}
@media (max-width:820px){
  .foundationLessonPlayer{
    padding:10px 12px calc(10px + var(--nav-h)) !important;
    gap:10px !important;
  }
  .foundationLevelHero{
    padding:12px 14px !important;
    border-radius:18px !important;
  }
  .foundationLevelHero h1{
    font-size:clamp(22px,7vw,30px) !important;
  }
  .foundationLevelCard{
    padding:12px !important;
    border-radius:20px !important;
    gap:10px !important;
  }
  .foundationLevelTop h2{
    font-size:22px !important;
  }
  .learnInteractionBoard{
    padding:10px !important;
    border-radius:16px !important;
  }
  .learnInteractionBoard--split,
  .learnInteractionBoard--build,
  .learnInteractionBoard--sort{
    grid-template-columns:1fr !important;
  }
  .learnTileStage,
  .learnTileTray,
  .learnBuildPalette,
  .learnLabelTray{
    min-height:70px !important;
    gap:9px !important;
  }
  .learnTile--one{width:42px !important;height:42px !important;font-size:19px !important;}
  .learnTile--x{width:38px !important;height:96px !important;font-size:23px !important;}
  .learnTile--x2{width:78px !important;height:78px !important;font-size:24px !important;}
  .learnTile.is-large{width:112px !important;height:112px !important;}
  .learnDropZone,
  .learnMatchTarget,
  .learnAreaTarget{
    min-height:92px !important;
    border-radius:16px !important;
  }
  .learnMatchGrid,
  .learnSortZones,
  .learnChoiceGrid,
  .learnSliderReadout{
    grid-template-columns:1fr !important;
  }
  .learnChoiceGrid--two{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .learnQuestionCard{
    padding:13px !important;
    font-size:21px !important;
  }
  .foundationLessonActions--sticky{
    gap:10px !important;
  }
  .foundationLessonActions--sticky .secondaryBtn,
  .foundationLessonActions--sticky .primaryBtn{
    flex:1 1 0 !important;
  }
}

/* v3.0.0 build 231 - continuous Learn journey map and desktop welcome image lift. */
@media (min-width:1061px){
  .welcomeTiles{
    width:min(1180px,96vw) !important;
    height:clamp(320px,42dvh,500px) !important;
    margin-top:clamp(-158px,-12dvh,-92px) !important;
  }
}
.screen--learn{
  padding:0 !important;
  overflow:auto !important;
  background:#0c1630 !important;
}
.learnTopicList{
  width:100% !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  max-width:none !important;
}
.learnJourneyMap{
  position:relative !important;
  min-height:100dvh !important;
  overflow:hidden !important;
  color:#101a36 !important;
  background:
    radial-gradient(circle at 18% 5%,rgba(255,255,255,.92),transparent 28%),
    linear-gradient(180deg,#dff3ff 0%,#e6f7df 20%,#f3ddc0 42%,#d9f1e5 62%,#dbe9ff 80%,#eef1ff 100%) !important;
}
.learnJourneyMap::before{
  content:"" !important;
  position:fixed !important;
  inset:-10% !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 20% 15%,rgba(255,255,255,.52),transparent 22%),
    radial-gradient(circle at 78% 32%,rgba(255,219,158,.32),transparent 28%),
    radial-gradient(circle at 24% 68%,rgba(117,212,177,.30),transparent 24%),
    radial-gradient(circle at 82% 88%,rgba(96,139,255,.24),transparent 28%) !important;
  filter:blur(10px) !important;
  transform:translateZ(0) !important;
  z-index:0 !important;
}
.journeyTopBar{
  position:sticky !important;
  top:0 !important;
  z-index:12 !important;
  width:min(1040px,calc(100% - 28px)) !important;
  margin:0 auto !important;
  padding:max(14px,env(safe-area-inset-top)) 0 10px !important;
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
}
.journeyTopBar::before{
  content:"" !important;
  position:absolute !important;
  inset:0 -14px -8px !important;
  border-radius:0 0 26px 26px !important;
  background:rgba(255,255,255,.42) !important;
  border-bottom:1px solid rgba(255,255,255,.54) !important;
  backdrop-filter:blur(18px) !important;
  z-index:-1 !important;
}
.journeyTopBar button{
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(17,30,63,.08) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.62) !important;
  color:#132044 !important;
  font-size:22px !important;
  box-shadow:0 10px 22px rgba(18,26,47,.08) !important;
}
.journeyTopBar h1,
.journeyTopBar p{
  margin:0 !important;
}
.journeyTopBar h1{
  font-size:clamp(22px,3.4vw,36px) !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
}
.journeyProgressDock{
  position:sticky !important;
  top:74px !important;
  z-index:11 !important;
  width:min(760px,calc(100% - 34px)) !important;
  margin:0 auto 8px !important;
  padding:9px 12px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.50) !important;
  border:1px solid rgba(255,255,255,.58) !important;
  box-shadow:0 14px 30px rgba(18,26,47,.10) !important;
  backdrop-filter:blur(18px) !important;
}
.journeyProgressDock span{
  color:#26344f !important;
  font-size:13px !important;
  font-weight:650 !important;
}
.journeyProgressDock i{
  height:9px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#1c7dff var(--progress),rgba(17,30,63,.10) 0) !important;
}
.journeyWorld{
  position:relative !important;
  z-index:1 !important;
  min-height:clamp(760px,112vh,1040px) !important;
  padding:clamp(64px,9vh,110px) max(18px,env(safe-area-inset-left)) clamp(88px,12vh,130px) max(18px,env(safe-area-inset-right)) !important;
  margin-top:-42px !important;
  overflow:hidden !important;
}
.journeyWorld:first-of-type{
  margin-top:0 !important;
  padding-top:clamp(82px,11vh,130px) !important;
}
.journeyWorld::before,
.journeyWorld::after{
  content:"" !important;
  position:absolute !important;
  pointer-events:none !important;
  inset:0 !important;
  z-index:-2 !important;
}
.journeyWorld::after{
  z-index:-1 !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,0) 15%,rgba(255,255,255,0) 83%,rgba(255,255,255,.34)),
    radial-gradient(circle at 16% 28%,rgba(255,255,255,.34),transparent 24%),
    radial-gradient(circle at 82% 72%,rgba(255,255,255,.20),transparent 24%) !important;
  mix-blend-mode:screen !important;
}
.journeyWorldAtmosphere{
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background-image:
    radial-gradient(circle at 22% 22%,rgba(255,255,255,.70) 0 2px,transparent 3px),
    radial-gradient(circle at 78% 36%,rgba(255,255,255,.55) 0 1px,transparent 2px),
    radial-gradient(circle at 64% 70%,rgba(255,255,255,.42) 0 2px,transparent 3px) !important;
  background-size:260px 240px,190px 170px,310px 280px !important;
  opacity:.58 !important;
  animation:journeyDrift 18s linear infinite alternate !important;
}
.journeyWorldIntro{
  position:relative !important;
  width:min(760px,100%) !important;
  margin:0 auto clamp(30px,5vh,52px) !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
  padding:14px 16px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.50) !important;
  border:1px solid rgba(255,255,255,.58) !important;
  box-shadow:0 20px 46px rgba(18,26,47,.11) !important;
  backdrop-filter:blur(18px) !important;
}
.journeyWorldIntro > span{
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:18px !important;
  color:#fff !important;
  background:linear-gradient(160deg,#1c7dff,#5ed7ff) !important;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif !important;
  font-size:24px !important;
  font-weight:800 !important;
}
.journeyWorldIntro p,
.journeyWorldIntro small{
  margin:0 !important;
}
.journeyWorldIntro p{
  color:#101a36 !important;
  font-size:clamp(20px,3vw,30px) !important;
  font-weight:800 !important;
}
.journeyWorldIntro small{
  color:#42516a !important;
  font-size:14px !important;
  font-weight:500 !important;
}
.journeyWorldIntro em{
  font-style:normal !important;
  color:#0b62d8 !important;
  font-weight:800 !important;
}
.journeyPathRail{
  position:absolute !important;
  top:190px !important;
  bottom:78px !important;
  left:50% !important;
  width:7px !important;
  transform:translateX(-50%) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.60),rgba(28,125,255,.42),rgba(255,255,255,.48)) !important;
  box-shadow:0 0 0 4px rgba(255,255,255,.20),0 18px 38px rgba(18,26,47,.12) !important;
}
.journeyNodes{
  position:relative !important;
  width:min(760px,100%) !important;
  margin:0 auto !important;
  display:grid !important;
  gap:clamp(18px,4.2vh,42px) !important;
}
.journeyNode{
  position:relative !important;
  width:min(420px,86%) !important;
  min-height:86px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  border:1px solid rgba(255,255,255,.62) !important;
  border-radius:24px !important;
  padding:12px 14px !important;
  color:#111d3d !important;
  background:rgba(255,255,255,.68) !important;
  box-shadow:0 18px 42px rgba(18,26,47,.14) !important;
  backdrop-filter:blur(16px) !important;
  transition:transform .25s ease, filter .25s ease, opacity .25s ease, box-shadow .25s ease !important;
}
.journeyNode--left{
  justify-self:start !important;
}
.journeyNode--right{
  justify-self:end !important;
}
.journeyNode--unlock,
.journeyNode--challenge{
  justify-self:center !important;
}
.journeyNode:not(:disabled):hover,
.journeyNode:not(:disabled):focus-visible{
  transform:translateY(-4px) scale(1.015) !important;
  box-shadow:0 0 0 5px rgba(28,125,255,.12),0 22px 50px rgba(18,26,47,.16) !important;
}
.journeyNodeOrb{
  width:56px !important;
  height:56px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  color:#fff !important;
  background:linear-gradient(160deg,#1c7dff,#075fe8) !important;
  border:4px solid rgba(255,255,255,.75) !important;
  box-shadow:0 10px 20px rgba(8,96,240,.28) !important;
  font-size:20px !important;
  font-weight:900 !important;
}
.journeyNodeLabel{
  display:grid !important;
  gap:3px !important;
  text-align:left !important;
}
.journeyNodeLabel strong,
.journeyNodeLabel small{
  display:block !important;
  margin:0 !important;
}
.journeyNodeLabel strong{
  font-size:clamp(14px,2vw,17px) !important;
  line-height:1.1 !important;
  color:#101a36 !important;
}
.journeyNodeLabel small{
  color:#4d5b72 !important;
  font-weight:500 !important;
  line-height:1.22 !important;
}
.journeyStars{
  display:flex !important;
  gap:1px !important;
  color:#f6aa23 !important;
  font-size:14px !important;
  text-shadow:0 2px 8px rgba(18,26,47,.12) !important;
}
.journeyNode.is-complete .journeyNodeOrb{
  background:linear-gradient(160deg,#20bb71,#0d9150) !important;
  box-shadow:0 10px 20px rgba(16,163,91,.24) !important;
}
.journeyNode.is-current{
  animation:journeyPulse 2.4s ease-in-out infinite !important;
}
.journeyNode.is-locked{
  opacity:.62 !important;
  filter:saturate(.65) blur(.15px) !important;
}
.journeyNode.is-locked .journeyNodeOrb{
  color:#718096 !important;
  background:linear-gradient(160deg,#f5f7fb,#dbe1ea) !important;
  box-shadow:none !important;
}
.learnJourneyOverlayHost{
  position:relative !important;
  z-index:40 !important;
}
.learnLevelOverlay{
  position:fixed !important;
  inset:0 !important;
  z-index:300 !important;
  display:grid !important;
  place-items:end center !important;
  padding:clamp(10px,2vw,22px) !important;
}
.learnLevelOverlayBackdrop{
  position:absolute !important;
  inset:0 !important;
  border:0 !important;
  background:rgba(8,16,34,.24) !important;
  backdrop-filter:blur(10px) !important;
  animation:journeyFadeIn .24s ease both !important;
}
.learnLevelSheet{
  position:relative !important;
  width:min(1040px,100%) !important;
  max-height:min(92dvh,860px) !important;
  overflow:hidden !important;
  border-radius:30px 30px 22px 22px !important;
  box-shadow:0 34px 90px rgba(8,16,34,.28) !important;
  animation:journeySheetUp .42s cubic-bezier(.2,.9,.2,1) both !important;
}
.learnLevelOverlay.is-closing .learnLevelSheet{
  animation:journeySheetDown .22s ease both !important;
}
.learnLevelOverlay.is-closing .learnLevelOverlayBackdrop{
  animation:journeyFadeOut .22s ease both !important;
}
.learnLevelSheet .foundationLessonPlayer{
  min-height:0 !important;
  height:min(92dvh,860px) !important;
  padding:clamp(12px,2vw,22px) !important;
  background:linear-gradient(180deg,rgba(242,248,255,.94),rgba(255,255,255,.94)) !important;
}
.learnLevelSheet .foundationLevelHero{
  display:none !important;
}
.learnLevelSheet .foundationLessonNav button{
  font-size:22px !important;
}
.learnUnlockSheet{
  position:relative !important;
  z-index:1 !important;
  width:min(560px,calc(100vw - 28px)) !important;
  margin:auto auto max(18px,env(safe-area-inset-bottom)) !important;
  display:grid !important;
  gap:14px !important;
  padding:22px !important;
  border-radius:26px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 34px 90px rgba(8,16,34,.28) !important;
  backdrop-filter:blur(20px) !important;
  animation:journeySheetUp .42s cubic-bezier(.2,.9,.2,1) both !important;
}
.learnUnlockSheet h2,
.learnUnlockSheet p{
  margin:0 !important;
}
.learnUnlockSheet h2{
  color:#101a36 !important;
  font-size:clamp(26px,5vw,38px) !important;
}
.learnUnlockSheet > p:not(.eyebrow){
  color:#42516a !important;
  font-weight:500 !important;
  line-height:1.35 !important;
}
.learnUnlockClose{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  width:38px !important;
  height:38px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(17,30,63,.07) !important;
  color:#738096 !important;
  font-size:22px !important;
}
@keyframes journeyDrift{
  from{transform:translate3d(-12px,-10px,0);}
  to{transform:translate3d(14px,16px,0);}
}
@keyframes journeyPulse{
  0%,100%{box-shadow:0 18px 42px rgba(18,26,47,.14),0 0 0 0 rgba(28,125,255,.0);}
  50%{box-shadow:0 18px 42px rgba(18,26,47,.14),0 0 0 9px rgba(28,125,255,.16);}
}
@keyframes journeyFadeIn{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes journeyFadeOut{
  from{opacity:1;}
  to{opacity:0;}
}
@keyframes journeySheetUp{
  from{opacity:0;transform:translateY(70px) scale(.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes journeySheetDown{
  from{opacity:1;transform:translateY(0) scale(1);}
  to{opacity:0;transform:translateY(45px) scale(.98);}
}
@media (min-width:900px){
  .journeyWorld{
    min-height:980px !important;
  }
  .journeyNode--left{
    margin-left:4% !important;
  }
  .journeyNode--right{
    margin-right:4% !important;
  }
}
@media (max-width:760px){
  .journeyTopBar{
    width:calc(100% - 22px) !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
  }
  .journeyTopBar h1{
    font-size:22px !important;
  }
  .journeyProgressDock{
    top:66px !important;
    width:calc(100% - 24px) !important;
  }
  .journeyWorld{
    min-height:820px !important;
    padding-top:74px !important;
    padding-bottom:88px !important;
  }
  .journeyWorldIntro{
    grid-template-columns:auto minmax(0,1fr) !important;
    border-radius:20px !important;
  }
  .journeyWorldIntro em{
    grid-column:2 !important;
    justify-self:start !important;
  }
  .journeyPathRail{
    left:50% !important;
    top:175px !important;
  }
  .journeyNodes{
    gap:28px !important;
  }
  .journeyNode{
    width:min(315px,88%) !important;
    min-height:74px !important;
    border-radius:20px !important;
    padding:10px !important;
  }
  .journeyNodeOrb{
    width:48px !important;
    height:48px !important;
    border-width:3px !important;
  }
  .journeyNodeLabel strong{
    font-size:13px !important;
  }
  .journeyNodeLabel small{
    font-size:11px !important;
  }
  .journeyStars{
    position:absolute !important;
    right:12px !important;
    top:-11px !important;
    font-size:12px !important;
  }
  .learnLevelOverlay{
    padding:0 !important;
  }
  .learnLevelSheet{
    width:100% !important;
    max-height:94dvh !important;
    border-radius:26px 26px 0 0 !important;
  }
  .learnLevelSheet .foundationLessonPlayer{
    height:94dvh !important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom)) !important;
  }
}

/* v3.0.1 build 232 - Garden Path practice map and lifted welcome characters. */
.welcomeTiles{
  margin-top:clamp(-142px,-12dvh,-78px) !important;
}
@media (min-width:1061px){
  .welcomeTiles{
    width:min(1240px,96vw) !important;
    height:clamp(360px,47dvh,560px) !important;
    margin-top:clamp(-238px,-18dvh,-148px) !important;
  }
  .welcomeCharacters{
    object-position:center top !important;
  }
}
@media (max-width:1060px){
  .welcomeTiles{
    margin-top:clamp(-128px,-10dvh,-72px) !important;
  }
}
@media (max-width:760px){
  .welcomeTiles{
    height:clamp(198px,30dvh,270px) !important;
    margin-top:clamp(-118px,-11dvh,-70px) !important;
  }
}
/* v3.0.4 build 235 - curriculum-driven Learn journey. */
.learnJourneyMap--curriculum{
  background:#f7f9fc;
  overflow:hidden;
}
.learnJourneyMap--curriculum .journeyTopBar,
.learnJourneyMap--curriculum .journeyProgressDock{
  position:relative;
  z-index:5;
}
.learnJourneyMap--curriculum .curriculumWorld{
  position:relative;
  min-height:auto !important;
  padding:clamp(28px,5vw,64px) clamp(14px,3vw,32px) clamp(52px,7vw,92px) !important;
  margin:0 !important;
  overflow:hidden;
  isolation:isolate;
}
.learnJourneyMap--curriculum .curriculumWorld + .curriculumWorld{
  margin-top:-34px !important;
  padding-top:clamp(72px,8vw,112px) !important;
}
.learnJourneyMap--curriculum .journeyWorldAtmosphere{
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.38;
  background:
    radial-gradient(circle at 12% 34%,rgba(255,255,255,.42),transparent 18%),
    radial-gradient(circle at 86% 66%,rgba(255,255,255,.34),transparent 22%);
  pointer-events:none;
}
.learnJourneyMap--curriculum .curriculumWorld--grid .journeyWorldAtmosphere{
  opacity:.24;
  background:
    radial-gradient(circle at 20% 34%,rgba(135,154,255,.42),transparent 16%),
    radial-gradient(circle at 80% 68%,rgba(255,255,255,.18),transparent 18%);
}
.learnJourneyMap--curriculum .journeyWorldTitleBar{
  position:relative;
  z-index:2;
  width:min(760px,92vw);
  margin:0 auto clamp(18px,3vw,34px);
  padding:12px clamp(14px,2.6vw,24px);
  border:1px solid rgba(255,255,255,.56);
  border-radius:18px;
  background:rgba(255,255,255,.56);
  box-shadow:0 18px 42px rgba(25,42,74,.10);
  backdrop-filter:blur(14px);
}
.learnJourneyMap--curriculum .curriculumWorld--grid .journeyWorldTitleBar{
  color:#f8fbff;
  border-color:rgba(255,255,255,.20);
  background:rgba(255,255,255,.10);
}
.learnJourneyMap--curriculum .journeyWorldTitleBar h2{
  margin:0;
  font-size:clamp(20px,3.2vw,36px);
  line-height:1.05;
  letter-spacing:0;
  font-weight:800;
}
.learnJourneyMap--curriculum .journeyPathRail{
  display:block !important;
  position:absolute;
  left:50%;
  top:clamp(100px,12vw,150px);
  bottom:44px;
  width:6px;
  border-radius:999px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.64),rgba(255,255,255,.18));
  box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 14px 34px rgba(24,44,76,.10);
  opacity:.84;
}
.learnJourneyMap--curriculum .journeyNodes{
  position:relative !important;
  display:block !important;
  width:min(900px,92vw) !important;
  height:calc((var(--lesson-count, 10) * 84px) + 160px) !important;
  min-height:540px !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  margin:0 auto !important;
}
.learnJourneyMap--curriculum .journeyNode{
  --node-size:clamp(54px,9.4vw,76px);
  position:absolute !important;
  left:var(--node-left) !important;
  top:var(--node-top) !important;
  width:var(--node-size) !important;
  height:var(--node-size) !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  place-items:center !important;
  gap:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  transform:translate(-50%,-50%) scale(var(--node-scale,1)) !important;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.42),transparent 18%),
    radial-gradient(circle at 62% 34%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(180deg,#61c8ff 0%,#278fec 66%,#1d69b6 100%) !important;
  box-shadow:
    inset 0 -7px 0 rgba(0,75,145,.22),
    inset 6px 8px 0 rgba(255,255,255,.10),
    0 9px 0 rgba(23,102,172,.16),
    0 15px 24px rgba(22,71,124,.14) !important;
  transition:transform .24s ease, filter .24s ease, opacity .24s ease;
}
.learnJourneyMap--curriculum .journeyNode:not(:disabled):hover,
.learnJourneyMap--curriculum .journeyNode:not(:disabled):focus-visible{
  transform:translate(-50%,-50%) translateY(-3px) scale(var(--node-hover-scale,1.03)) !important;
}
.learnJourneyMap--curriculum .journeyNodeOrb{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#fff !important;
  font-size:clamp(21px,3.8vw,32px) !important;
  font-weight:850 !important;
}
.learnJourneyMap--curriculum .journeyNodeLabel{
  position:absolute;
  left:calc(100% + 12px);
  top:50%;
  width:min(210px,32vw);
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 28px rgba(17,34,64,.12);
  color:#13213a;
  opacity:0;
  pointer-events:none;
  transform:translateY(-50%) translateX(-5px);
  transition:opacity .2s ease, transform .2s ease;
  backdrop-filter:blur(12px);
}
.learnJourneyMap--curriculum .journeyNode:hover .journeyNodeLabel,
.learnJourneyMap--curriculum .journeyNode:focus-visible .journeyNodeLabel{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.learnJourneyMap--curriculum .journeyNodeLabel strong{
  display:block;
  font-size:13px;
  line-height:1.15;
  font-weight:800;
}
.learnJourneyMap--curriculum .journeyNodeLabel small{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:11px;
  line-height:1.2;
  font-weight:500;
}
.learnJourneyMap--curriculum .journeyNode.is-complete{
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.40),transparent 18%),
    radial-gradient(circle at 62% 34%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(180deg,#76dd4a 0%,#50bd25 68%,#3e9419 100%) !important;
}
.learnJourneyMap--curriculum .journeyNode.is-current{
  animation:journeyNodePulse 2.2s ease-in-out infinite;
}
.learnJourneyMap--curriculum .journeyNode.is-locked{
  opacity:.82 !important;
  filter:saturate(.68) brightness(.98) !important;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.34),transparent 18%),
    linear-gradient(180deg,#f8f9fb 0%,#e6ebf2 72%,#cfd7e2 100%) !important;
}
.learnJourneyMap--curriculum .journeyNode.is-locked .journeyNodeOrb{
  color:#8792a3 !important;
}
.learnJourneyMap--curriculum .journeyNode--type-challenge{
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.42),transparent 18%),
    linear-gradient(180deg,#ffcf64 0%,#f4a71d 68%,#cc7e11 100%) !important;
}
.learnJourneyMap--curriculum .journeyNode--type-review{
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.42),transparent 18%),
    linear-gradient(180deg,#aa9bff 0%,#7163ee 68%,#4b3fb8 100%) !important;
}
.learnJourneyMap--curriculum .journeyStars{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:calc(100% + 8px) !important;
  display:flex !important;
  gap:3px !important;
  transform:translateX(-50%) !important;
  color:#f7ad22 !important;
  text-shadow:0 2px 6px rgba(90,57,0,.16);
  font-size:clamp(12px,2.2vw,15px) !important;
}
.curriculumLessonSheet{
  max-width:560px;
}
.curriculumLessonMeta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 12px;
}
.curriculumLessonMeta span{
  padding:7px 10px;
  border-radius:999px;
  background:#edf5ff;
  color:#175fb8;
  font-size:12px;
  font-weight:700;
}
@keyframes journeyNodePulse{
  0%,100%{box-shadow:inset 0 -7px 0 rgba(0,75,145,.22), inset 6px 8px 0 rgba(255,255,255,.10), 0 9px 0 rgba(23,102,172,.16), 0 15px 24px rgba(22,71,124,.14);}
  50%{box-shadow:inset 0 -7px 0 rgba(0,75,145,.22), inset 6px 8px 0 rgba(255,255,255,.10), 0 9px 0 rgba(23,102,172,.16), 0 0 0 10px rgba(35,134,238,.12), 0 22px 34px rgba(22,71,124,.18);}
}
@media (min-width:761px){
  .learnJourneyMap--curriculum .journeyNode{
    --node-size:clamp(46px,5.4vw,64px);
  }
  .learnJourneyMap--curriculum .journeyNodes{
    height:calc((var(--lesson-count, 10) * 74px) + 150px) !important;
  }
}
@media (min-width:1061px){
  .learnJourneyMap--curriculum .curriculumWorld{
    padding-left:clamp(24px,4vw,60px) !important;
    padding-right:clamp(24px,4vw,60px) !important;
  }
  .learnJourneyMap--curriculum .journeyNodes{
    width:min(980px,78vw) !important;
    height:calc((var(--lesson-count, 10) * 68px) + 150px) !important;
  }
  .learnJourneyMap--curriculum .journeyNode{
    --node-size:clamp(46px,3.7vw,62px);
  }
}
@media (max-width:760px){
  .learnJourneyMap--curriculum .curriculumWorld{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .learnJourneyMap--curriculum .journeyNodes{
    width:100% !important;
    height:calc((var(--lesson-count, 10) * 76px) + 128px) !important;
    min-height:520px !important;
  }
  .learnJourneyMap--curriculum .journeyNodeLabel{
    display:none !important;
  }
  .learnJourneyMap--curriculum .journeyWorldTitleBar{
    width:min(360px,88vw);
    border-radius:16px;
  }
}

/* v3.1.3 build 241 - current curriculum artwork stack. */
.learnJourneyMap--curriculum{
  background:#f7f9fc !important;
}
.learnJourneyMap--curriculum .curriculumWorld{
  color:var(--world-ink,#13213a);
  isolation:isolate !important;
  min-height:clamp(860px,112dvh,1280px) !important;
  padding-top:clamp(72px,8vw,118px) !important;
  padding-bottom:clamp(86px,9vw,132px) !important;
  background:linear-gradient(180deg,var(--world-a,#eef4ff),var(--world-c,#f7f9fc)) !important;
}
.learnJourneyMap--curriculum .curriculumWorld + .curriculumWorld{
  margin-top:-118px !important;
  padding-top:clamp(142px,13vw,188px) !important;
}
.learnJourneyMap--curriculum .curriculumWorld::after,
.learnJourneyMap--curriculum .journeyWorldAtmosphere{
  z-index:1 !important;
}
.learnJourneyMap--curriculum .curriculumWorld::after{
  height:clamp(190px,20dvh,280px) !important;
  bottom:-1px !important;
  background:
    linear-gradient(180deg,transparent 0%,rgba(255,255,255,.08) 24%,var(--world-c,#f7f9fc) 68%,var(--world-next,#f7f9fc) 100%) !important;
}
.learnJourneyMap--curriculum .journeyWorldAtmosphere{
  opacity:.18 !important;
  background:
    radial-gradient(circle at 10% 24%,rgba(255,255,255,.25),transparent 22%),
    radial-gradient(circle at 90% 70%,rgba(255,255,255,.20),transparent 24%) !important;
}
.learnJourneyMap--curriculum .journeyPathRail{
  z-index:2 !important;
  background:linear-gradient(180deg,transparent,var(--world-rail,rgba(60,102,172,.28)) 10%,rgba(255,255,255,.64) 50%,var(--world-rail,rgba(60,102,172,.28)) 90%,transparent) !important;
}
.learnJourneyMap--curriculum .journeyWorldTitleBar,
.learnJourneyMap--curriculum .journeyNodes{
  position:relative !important;
  z-index:3 !important;
}
.learnJourneyMap--curriculum .journeyWorldTitleBar{
  color:var(--world-ink,#13213a) !important;
  border-color:rgba(255,255,255,.54) !important;
  background:var(--world-glass,rgba(255,255,255,.56)) !important;
}
.learnJourneyMap--curriculum .curriculumWorld--garden .journeyNodes,
.learnJourneyMap--curriculum .curriculumWorld--canyon .journeyNodes{
  min-height:clamp(650px,82dvh,920px) !important;
}
.learnJourneyMap--curriculum .curriculumWorld .journeyNode{
  --node-size:clamp(58px,9vw,72px) !important;
  width:var(--node-size) !important;
  height:var(--node-size) !important;
  transform:translate(-50%,-50%) scale(1) !important;
}
.learnJourneyMap--curriculum .curriculumWorld .journeyNode:not(:disabled):hover,
.learnJourneyMap--curriculum .curriculumWorld .journeyNode:not(:disabled):focus-visible{
  transform:translate(-50%,-50%) translateY(-3px) scale(1.03) !important;
}
@media (min-width:761px){
  .learnJourneyMap--curriculum .curriculumWorld .journeyNode{
    --node-size:clamp(50px,5.1vw,64px) !important;
  }
}
@media (min-width:1061px){
  .learnJourneyMap--curriculum .curriculumWorld .journeyNode{
    --node-size:clamp(50px,3.4vw,62px) !important;
  }
}
@media (max-width:760px){
  .learnJourneyMap--curriculum .curriculumWorld{
    min-height:clamp(880px,118dvh,1260px) !important;
    padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)) !important;
  }
  .learnJourneyMap--curriculum .curriculumWorld + .curriculumWorld{
    margin-top:-92px !important;
    padding-top:132px !important;
  }
  .learnJourneyMap--curriculum .curriculumWorld--garden .journeyNodes,
  .learnJourneyMap--curriculum .curriculumWorld--canyon .journeyNodes{
    min-height:clamp(660px,86dvh,880px) !important;
  }
}

/* v3.1.4 build 242 - lifted welcome characters. */
.learnJourneyMap--curriculum .journeyWorldTitleBar,
.learnJourneyMap--curriculum .journeyNodes,
.learnJourneyMap--curriculum .journeyPathRail{
  position:relative !important;
}
.learnJourneyMap--curriculum .journeyWorldTitleBar,
.learnJourneyMap--curriculum .journeyNodes{
  z-index:3 !important;
}

/* v3.2.0 build 247 - interactive Foundations Garden lessons over the world artwork. */
.foundationJourneyOverlay{
  place-items:stretch !important;
  padding:0 !important;
}
.foundationJourneyOverlay .learnLevelOverlayBackdrop{
  background:rgba(9,18,38,.08) !important;
  backdrop-filter:blur(3px) saturate(1.04) !important;
}
.foundationJourneyOverlay .foundationJourneySheet{
  width:100% !important;
  height:100dvh !important;
  max-height:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:auto !important;
}
.foundationJourneyOverlay .foundationLessonPlayer{
  min-height:100dvh !important;
  height:auto !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  gap:clamp(12px,2.4vw,24px) !important;
  padding:clamp(14px,2.2vw,26px) clamp(14px,4vw,56px) calc(clamp(16px,3vw,34px) + env(safe-area-inset-bottom)) !important;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.42),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03)) !important;
}
.foundationJourneyOverlay .foundationLessonHero{
  display:none !important;
}
.foundationJourneyOverlay .foundationLessonNav{
  width:min(920px,100%) !important;
  margin:0 auto !important;
  background:rgba(255,255,255,.64) !important;
  border:1px solid rgba(255,255,255,.7) !important;
  border-radius:999px !important;
  box-shadow:0 14px 34px rgba(15,35,75,.12) !important;
  backdrop-filter:blur(18px) !important;
}
.foundationJourneyOverlay .foundationLevelCard{
  align-self:center !important;
  width:min(960px,100%) !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  gap:clamp(12px,2vw,20px) !important;
}
.foundationJourneyOverlay .foundationLevelTop{
  width:min(760px,100%) !important;
  margin:0 auto !important;
  padding:clamp(12px,2vw,18px) clamp(14px,2.6vw,24px) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(255,255,255,.7) !important;
  box-shadow:0 16px 42px rgba(15,35,75,.12) !important;
  backdrop-filter:blur(18px) !important;
}
.foundationJourneyOverlay .foundationLevelTop h2{
  font-size:clamp(24px,4vw,42px) !important;
  letter-spacing:0 !important;
}
.foundationJourneyOverlay .foundationLevelPrompt,
.foundationJourneyOverlay .learnDynamicPrompt{
  width:max-content !important;
  max-width:min(720px,100%) !important;
  margin:0 auto !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  color:#13213a !important;
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(255,255,255,.74) !important;
  box-shadow:0 12px 28px rgba(15,35,75,.10) !important;
  backdrop-filter:blur(14px) !important;
}
.foundationJourneyOverlay .learnInteractionBoard{
  width:min(920px,100%) !important;
  min-height:clamp(300px,52dvh,560px) !important;
  margin:0 auto !important;
  padding:clamp(14px,3vw,30px) !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  align-content:center !important;
  gap:clamp(14px,2.6vw,26px) !important;
}
.foundationJourneyOverlay .learnTileStage,
.foundationJourneyOverlay .learnTileTray,
.foundationJourneyOverlay .learnBuildPalette,
.foundationJourneyOverlay .learnBuiltTiles{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(12px,2.3vw,24px) !important;
}
.foundationJourneyOverlay .foundationBoardTile.tile{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  flex:0 0 auto !important;
  cursor:pointer !important;
  touch-action:none !important;
  transform:none !important;
  box-shadow:none !important;
  contain:layout paint !important;
  will-change:transform !important;
  -webkit-user-drag:none !important;
  user-select:none !important;
}
.foundationJourneyOverlay .foundationBoardTile.tile:hover,
.foundationJourneyOverlay .foundationBoardTile.tile:focus-visible,
.foundationJourneyOverlay .foundationBoardTile.tile.is-selected{
  transform:translateY(-3px) !important;
}
.foundationJourneyOverlay .foundationBoardTile.tile.is-foundation-large{
  transform:scale(1.08) !important;
}
.foundationJourneyOverlay .foundationBoardTile.tile.is-mini{
  transform:scale(.68) !important;
  margin:-12px !important;
}
.foundationJourneyOverlay .foundationBoardTile.tile.is-correct .tile__face,
.foundationJourneyOverlay .foundationBoardTile.tile.is-placed .tile__face{
  box-shadow:0 0 0 3px rgba(255,255,255,.84),0 0 0 7px rgba(34,197,94,.38),0 14px 30px rgba(23,109,70,.2) !important;
  animation:learnTilePop .42s ease both !important;
}
.foundationJourneyOverlay .foundationBoardTile.tile.is-cancelled{
  opacity:.18 !important;
  transform:scale(.82) !important;
  transition:opacity .32s ease,transform .32s ease !important;
}
.foundationDragGhost.tile{
  position:fixed !important;
  z-index:10000 !important;
  left:0 !important;
  top:0 !important;
  pointer-events:none !important;
  transform:translate(-50%,-50%) scale(1.02) !important;
  filter:drop-shadow(0 18px 28px rgba(15,35,75,.22)) !important;
}
.foundationJourneyOverlay .learnDropZone,
.foundationJourneyOverlay .learnMatchTarget,
.foundationJourneyOverlay .learnAreaTarget,
.foundationJourneyOverlay .learnWorkspaceZone,
.foundationJourneyOverlay .learnQuestionCard,
.foundationJourneyOverlay .learnChoiceGrid button,
.foundationJourneyOverlay .learnTextToken,
.foundationJourneyOverlay .learnLabelToken{
  background:rgba(255,255,255,.74) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 16px 42px rgba(15,35,75,.12) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-user-drag:none !important;
  user-select:none !important;
}
.foundationJourneyOverlay .learnDropZone,
.foundationJourneyOverlay .learnMatchTarget,
.foundationJourneyOverlay .learnAreaTarget,
.foundationJourneyOverlay .learnWorkspaceZone{
  border-radius:22px !important;
  min-height:clamp(112px,18dvh,190px) !important;
}
.foundationJourneyOverlay .learnDropZone.is-correct,
.foundationJourneyOverlay .learnMatchTarget.is-correct{
  border-color:rgba(34,197,94,.7) !important;
  background:rgba(236,253,245,.78) !important;
}
.foundationJourneyOverlay .learnLevelFeedback{
  width:min(720px,100%) !important;
  margin:0 auto !important;
  padding:12px 16px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 16px 42px rgba(15,35,75,.12) !important;
  backdrop-filter:blur(16px) !important;
}
.foundationJourneyOverlay .learnLevelFeedback.is-success{
  background:rgba(220,252,231,.82) !important;
  color:#14532d !important;
}
.foundationJourneyOverlay .learnLevelFeedback.is-error{
  background:rgba(254,226,226,.84) !important;
  color:#7f1d1d !important;
}
.foundationJourneyOverlay .foundationLessonActions--sticky{
  width:min(760px,100%) !important;
  margin:0 auto !important;
  padding:10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.68) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 16px 42px rgba(15,35,75,.13) !important;
  backdrop-filter:blur(18px) !important;
}
.foundationJourneyOverlay .foundationCheckStyleBtn{
  min-height:58px !important;
  border-radius:22px !important;
  letter-spacing:.07em !important;
  background:linear-gradient(180deg,#1688ff,#0877f8) !important;
  color:#fff !important;
  box-shadow:0 16px 28px rgba(8,119,248,.24) !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback{
  position:fixed !important;
  left:50% !important;
  bottom:calc(14px + env(safe-area-inset-bottom)) !important;
  z-index:4000 !important;
  width:min(680px,calc(100vw - 28px)) !important;
  transform:translateX(-50%) !important;
  margin:0 !important;
  padding:22px 22px 22px 90px !important;
  border-radius:22px 22px 16px 16px !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 34px 72px rgba(18,26,47,.28), inset 0 1px 0 rgba(255,255,255,.42) !important;
  backdrop-filter:blur(18px) saturate(1.1) !important;
  animation:quizFeedbackFly225 .82s cubic-bezier(.16,.9,.18,1.05) both !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback.is-correct{
  background:linear-gradient(180deg,#24e38a 0%,#08bd6f 100%) !important;
  border-color:rgba(16,185,129,.55) !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback.is-wrong{
  background:linear-gradient(180deg,#ff5b68 0%,#e9303f 100%) !important;
  border-color:rgba(239,68,68,.58) !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizCelebration,
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizRetry{
  position:relative !important;
  display:grid !important;
  gap:8px !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizFeedbackIcon{
  position:absolute !important;
  left:-70px !important;
  top:0 !important;
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  color:#fff !important;
  font-size:30px !important;
  font-weight:900 !important;
  line-height:1 !important;
  border:2px solid rgba(255,255,255,.78) !important;
  box-shadow:0 14px 30px rgba(18,26,47,.20), inset 0 1px 0 rgba(255,255,255,.28) !important;
  animation:quizFeedbackIconPop225 .76s cubic-bezier(.16,.9,.2,1.25) .12s both !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback.is-correct .quizFeedbackIcon{
  background:#00a967 !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback.is-wrong .quizFeedbackIcon{
  background:#c81f2d !important;
  color:#fff !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback strong,
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback p{
  color:#fff !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback strong{
  font-size:clamp(24px,4vw,34px) !important;
  line-height:1.05 !important;
  letter-spacing:0 !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback p{
  margin:0 !important;
  font-size:clamp(14px,2vw,17px) !important;
  line-height:1.35 !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .primaryBtn{
  width:max-content !important;
  min-width:150px !important;
  min-height:48px !important;
  margin-top:6px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  color:#111827 !important;
  box-shadow:0 12px 26px rgba(18,26,47,.18) !important;
}
@media (max-width:760px){
  .foundationJourneyOverlay .foundationLessonPlayer{
    padding:12px 12px calc(12px + env(safe-area-inset-bottom)) !important;
  }
  .foundationJourneyOverlay .foundationLessonNav{
    border-radius:20px !important;
  }
  .foundationJourneyOverlay .foundationLevelTop{
    border-radius:18px !important;
  }
  .foundationJourneyOverlay .learnInteractionBoard{
    min-height:clamp(330px,57dvh,520px) !important;
    padding-inline:6px !important;
  }
  .foundationJourneyOverlay .learnChoiceGrid{
    grid-template-columns:1fr !important;
  }
  .foundationJourneyOverlay .learnLevelFeedback.quizFeedback{
    padding:20px 18px 20px 78px !important;
    border-radius:20px 20px 14px 14px !important;
  }
  .foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizFeedbackIcon{
    left:-60px !important;
    width:48px !important;
    height:48px !important;
    font-size:27px !important;
  }
}

/* v3.1.6 build 244 - direct responsive PNG artwork layers for Learn worlds. */
.learnJourneyMap--curriculum .journeyWorldArtwork{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:var(--world-image-opacity,1) !important;
  background:none !important;
}
.learnJourneyMap--curriculum .journeyWorldArtworkLayer{
  position:absolute !important;
  inset:0 !important;
  display:none !important;
}
.learnJourneyMap--curriculum .journeyWorldArtworkLayer--desktop{
  display:block !important;
}
@media (min-width:761px) and (max-width:1060px) and (orientation:landscape){
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--desktop,
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--tablet-portrait,
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--mobile{
    display:none !important;
  }
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--tablet-landscape{
    display:block !important;
  }
}
@media (min-width:761px) and (max-width:1060px) and (orientation:portrait){
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--desktop,
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--tablet-landscape,
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--mobile{
    display:none !important;
  }
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--tablet-portrait{
    display:block !important;
  }
}
@media (max-width:760px){
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--desktop,
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--tablet-landscape,
  .learnJourneyMap--curriculum .journeyWorldArtworkLayer--tablet-portrait{
    display:none !important;
  }
.learnJourneyMap--curriculum .journeyWorldArtworkLayer--mobile{
    display:block !important;
  }
}
.learnJourneyMap--curriculum .journeyPathRail{
  z-index:2 !important;
}

/* v3.1.8 build 246 - full-screen artwork scenes with responsive node paths. */
.learnJourneyMap--curriculum .curriculumWorld{
  --world-node-height:max(74dvh,calc((var(--lesson-count, 10) * 74px) + 180px));
  width:100vw !important;
  min-height:calc(var(--world-node-height) + clamp(150px,16vw,220px)) !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-top:clamp(74px,7vw,112px) !important;
  padding-bottom:clamp(48px,6vw,92px) !important;
}
.learnJourneyMap--curriculum .curriculumWorld + .curriculumWorld{
  margin-top:-118px !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
.learnJourneyMap--curriculum .journeyWorldArtworkLayer{
  background-position:inherit;
  background-size:inherit;
}
.learnJourneyMap--curriculum .journeyNodes{
  height:var(--world-node-height) !important;
  min-height:min(920px,var(--world-node-height)) !important;
}
.learnJourneyMap--curriculum .curriculumWorld .journeyNode{
  --node-left-active:var(--node-left-desktop);
  --node-top-active:var(--node-top-desktop);
  --node-scale-active:var(--node-scale-desktop,1);
  --node-hover-scale-active:var(--node-hover-scale-desktop,1.03);
  left:var(--node-left-active,50%) !important;
  top:var(--node-top-active,50%) !important;
  transform:translate(-50%,-50%) scale(var(--node-scale-active,1)) !important;
}
.learnJourneyMap--curriculum .curriculumWorld .journeyNode:not(:disabled):hover,
.learnJourneyMap--curriculum .curriculumWorld .journeyNode:not(:disabled):focus-visible{
  transform:translate(-50%,-50%) translateY(-3px) scale(var(--node-hover-scale-active,1.03)) !important;
}
@media (min-width:761px) and (max-width:1060px) and (orientation:landscape){
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-node-height:max(72dvh,calc((var(--lesson-count, 10) * 70px) + 170px));
  }
  .learnJourneyMap--curriculum .curriculumWorld .journeyNode{
    --node-left-active:var(--node-left-tablet-landscape);
    --node-top-active:var(--node-top-tablet-landscape);
    --node-scale-active:var(--node-scale-tablet-landscape,.92);
    --node-hover-scale-active:var(--node-hover-scale-tablet-landscape,.948);
  }
}
@media (min-width:761px) and (max-width:1060px) and (orientation:portrait){
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-node-height:max(76dvh,calc((var(--lesson-count, 10) * 74px) + 170px));
  }
  .learnJourneyMap--curriculum .curriculumWorld .journeyNode{
    --node-left-active:var(--node-left-tablet-portrait);
    --node-top-active:var(--node-top-tablet-portrait);
    --node-scale-active:var(--node-scale-tablet-portrait,.92);
    --node-hover-scale-active:var(--node-hover-scale-tablet-portrait,.948);
  }
}
@media (max-width:760px){
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-node-height:max(78dvh,calc((var(--lesson-count, 10) * 76px) + 150px));
    min-height:calc(var(--world-node-height) + 148px) !important;
  }
  .learnJourneyMap--curriculum .curriculumWorld .journeyNode{
    --node-left-active:var(--node-left-mobile);
    --node-top-active:var(--node-top-mobile);
    --node-scale-active:var(--node-scale-mobile,.9);
    --node-hover-scale-active:var(--node-hover-scale-mobile,.927);
  }
}
.welcomeTiles{
  margin-top:clamp(-172px,-15dvh,-96px) !important;
  position:relative !important;
  z-index:2 !important;
}
@media (min-width:1061px){
  .welcomeTiles{
    height:clamp(390px,50dvh,590px) !important;
    margin-top:clamp(-318px,-25dvh,-202px) !important;
  }
}
@media (max-width:1060px){
  .welcomeTiles{
    margin-top:clamp(-152px,-13dvh,-88px) !important;
  }
}
@media (max-width:760px){
  .welcomeTiles{
    margin-top:clamp(-142px,-13dvh,-86px) !important;
  }
}

/* v3.1.5 build 243 - render Learn world artwork as a real layer. */
.learnJourneyMap--curriculum .curriculumWorld::before,
.learnJourneyMap--curriculum .curriculumWorld--garden::before,
.learnJourneyMap--curriculum .curriculumWorld--canyon::before,
.learnJourneyMap--curriculum .curriculumWorld:not(.curriculumWorld--garden):not(.curriculumWorld--canyon)::before{
  content:none !important;
  display:none !important;
  background:none !important;
}
.learnJourneyMap--curriculum .journeyWorldAtmosphere{
  z-index:1 !important;
}
.learnJourneyMap--curriculum .journeyPathRail{
  z-index:2 !important;
}
.learnJourneyMap--curriculum .journeyWorldTitleBar,
.learnJourneyMap--curriculum .journeyNodes{
  z-index:3 !important;
}

/* v3.2.2 build 249 - final overrides for the section top fade overlay and lesson responsiveness. */
.learnJourneyMap--curriculum .curriculumWorld::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.learnJourneyMap--curriculum .journeyWorldAtmosphere{
  display:none !important;
  background:none !important;
}
.foundationJourneyOverlay .foundationLevelCard,
.foundationJourneyOverlay .learnInteractionBoard{
  contain:layout paint style !important;
}
.foundationJourneyOverlay .foundationLevelTop,
.foundationJourneyOverlay .foundationLevelPrompt,
.foundationJourneyOverlay .learnDynamicPrompt,
.foundationJourneyOverlay .learnDropZone,
.foundationJourneyOverlay .learnMatchTarget,
.foundationJourneyOverlay .learnAreaTarget,
.foundationJourneyOverlay .learnWorkspaceZone,
.foundationJourneyOverlay .learnQuestionCard,
.foundationJourneyOverlay .learnChoiceGrid button,
.foundationJourneyOverlay .learnTextToken,
.foundationJourneyOverlay .learnLabelToken{
  backdrop-filter:none !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .primaryBtn,
.fullQuizFeedback.quizFeedback .primaryBtn{
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .primaryBtn:active,
.fullQuizFeedback.quizFeedback .primaryBtn:active{
  transform:translateY(1px) scale(.985) !important;
}

/* v3.2.3 build 250 - shared pointer drag states for lesson tiles and labels. */
.foundationJourneyOverlay [data-learn-drag]{
  touch-action:none !important;
  -webkit-user-select:none !important;
  user-select:none !important;
}
.foundationJourneyOverlay [data-learn-drag].is-dragging{
  opacity:.56 !important;
}
.foundationJourneyOverlay .learnDropZone.is-drag-hover,
.foundationJourneyOverlay .learnMatchTarget.is-drag-hover,
.foundationJourneyOverlay .learnAreaTarget.is-drag-hover,
.foundationJourneyOverlay .learnWorkspaceZone.is-drag-hover{
  border-color:rgba(28,125,255,.72) !important;
  background:rgba(232,244,255,.84) !important;
  box-shadow:0 0 0 5px rgba(28,125,255,.16),0 18px 42px rgba(15,35,75,.15) !important;
}

/* v3.2.4 build 251 - visible target placements and lightweight confirmations. */
.foundationJourneyOverlay [data-learn-item].is-placed{
  opacity:.28 !important;
  filter:saturate(.72) !important;
  pointer-events:none !important;
}
.foundationJourneyOverlay [data-learn-placed-items]{
  width:100% !important;
}
.foundationJourneyOverlay .learnPlacedItems{
  min-height:34px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}
.foundationJourneyOverlay .learnPlacedLabel{
  display:inline-flex !important;
  align-items:center !important;
  min-height:30px !important;
  padding:5px 9px !important;
  border-radius:10px !important;
  color:#172344 !important;
  background:rgba(255,255,255,.64) !important;
  border:1px solid rgba(28,125,255,.18) !important;
  font-size:13px !important;
  font-weight:650 !important;
}
.foundationJourneyOverlay .learnLevelFeedback.is-transient{
  width:max-content !important;
  max-width:min(420px,calc(100vw - 28px)) !important;
  padding:8px 12px !important;
  border-radius:12px !important;
  color:#14532d !important;
  background:rgba(255,255,255,.32) !important;
  border:1px solid rgba(255,255,255,.40) !important;
  box-shadow:0 10px 22px rgba(15,35,75,.08) !important;
  backdrop-filter:blur(5px) !important;
  animation:foundationTransientFeedback251 .9s ease both !important;
}
@keyframes foundationTransientFeedback251{
  0%{opacity:0;transform:translateY(8px)}
  18%,76%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-4px)}
}

/* v3.2.5 build 252 - question-first lesson layout and compact feedback. */
.foundationJourneyOverlay .foundationPromptRow{
  width:min(760px,100%) !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
.foundationJourneyOverlay .foundationPromptRow .foundationLevelPrompt{
  margin:0 !important;
}
.foundationJourneyOverlay .foundationPromptRow .learnHintBtn{
  flex:0 0 auto !important;
  min-height:42px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:14px !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback{
  width:min(520px,calc(100vw - 28px)) !important;
  max-height:min(210px,calc(100dvh - 28px)) !important;
  overflow:auto !important;
  padding:14px 16px 14px 64px !important;
  border-radius:16px 16px 12px 12px !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizCelebration,
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizRetry{
  gap:5px !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizFeedbackIcon{
  left:-50px !important;
  width:38px !important;
  height:38px !important;
  font-size:22px !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback strong{
  font-size:clamp(20px,3vw,26px) !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback p{
  font-size:clamp(13px,1.8vw,15px) !important;
}
.foundationJourneyOverlay .learnLevelFeedback.quizFeedback .primaryBtn{
  min-width:124px !important;
  min-height:40px !important;
  margin-top:3px !important;
  padding:8px 14px !important;
}
@media (max-width:760px){
  .foundationJourneyOverlay .foundationPromptRow{
    align-items:flex-start !important;
  }
  .foundationJourneyOverlay .foundationPromptRow .learnHintBtn{
    min-height:38px !important;
    padding:7px 11px !important;
    font-size:13px !important;
  }
  .foundationJourneyOverlay .learnLevelFeedback.quizFeedback{
    width:calc(100vw - 20px) !important;
    padding:13px 14px 13px 58px !important;
  }
  .foundationJourneyOverlay .learnLevelFeedback.quizFeedback .quizFeedbackIcon{
    left:-45px !important;
    width:34px !important;
    height:34px !important;
    font-size:20px !important;
  }
}

/* v3.2.9 build 256 - full artwork lesson backgrounds and cleaner practice journey spacing. */
.learnJourneyMap--curriculum .journeyTopBar .eyebrow,
.learnJourneyMap--curriculum .journeyTopBar h1,
.learnJourneyMap--curriculum .journeyWorldTitleBar{
  display:none !important;
}
.learnJourneyMap--curriculum .journeyTopBar{
  grid-template-columns:48px minmax(0,1fr) auto !important;
  padding-top:max(10px,env(safe-area-inset-top)) !important;
  padding-bottom:8px !important;
}
.learnJourneyMap--curriculum .journeyProgressDock{
  margin-bottom:0 !important;
}
.learnJourneyMap--curriculum .curriculumWorld{
  --world-node-height:max(104dvh,calc((var(--lesson-count,10) * 92px) + 250px)) !important;
  min-height:calc(var(--world-node-height) + clamp(110px,10vw,170px)) !important;
  padding-top:clamp(38px,5vw,76px) !important;
  padding-bottom:clamp(56px,7vw,104px) !important;
  background:linear-gradient(180deg,var(--world-a,#eef4ff),var(--world-c,#f7f9fc)) !important;
}
.learnJourneyMap--curriculum .curriculumWorld + .curriculumWorld{
  margin-top:-74px !important;
  padding-top:clamp(78px,8vw,128px) !important;
}
.learnJourneyMap--curriculum .journeyWorldArtwork{
  z-index:0 !important;
  opacity:1 !important;
}
.learnJourneyMap--curriculum .journeyWorldArtworkLayer{
  background-size:cover,cover !important;
  background-position:center center,center center !important;
  background-repeat:no-repeat,no-repeat !important;
}
.learnJourneyMap--curriculum .journeyNodes{
  height:var(--world-node-height) !important;
  min-height:max(720px,calc((var(--lesson-count,10) * 88px) + 210px)) !important;
}
.learnJourneyMap--curriculum .journeyPathRail{
  top:clamp(78px,8vw,128px) !important;
  bottom:clamp(54px,7vw,108px) !important;
  opacity:.66 !important;
}
.learnJourneyMap--curriculum .journeyNode{
  z-index:4 !important;
}
.foundationJourneyOverlay{
  background:var(--world-a,#eef4ff) !important;
}
.foundationJourneyOverlay .learnLevelOverlayBackdrop{
  z-index:1 !important;
  background:transparent !important;
  backdrop-filter:none !important;
}
.foundationLessonArtwork{
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,var(--world-a,#eef4ff),var(--world-c,#f7f9fc)) !important;
}
.foundationLessonArtworkLayer{
  position:absolute !important;
  inset:0 !important;
  display:none !important;
  background-size:cover,cover !important;
  background-position:center center,center center !important;
  background-repeat:no-repeat,no-repeat !important;
}
.foundationLessonArtworkLayer--desktop{
  display:block !important;
}
.foundationJourneyOverlay .foundationJourneySheet{
  position:relative !important;
  z-index:2 !important;
}
.foundationJourneyOverlay .foundationLessonPlayer{
  background:transparent !important;
}
.foundationJourneyOverlay .foundationLessonNav,
.foundationJourneyOverlay .foundationLevelPrompt,
.foundationJourneyOverlay .learnDynamicPrompt,
.foundationJourneyOverlay .foundationLessonActions--sticky{
  background:rgba(255,255,255,.74) !important;
  border-color:rgba(255,255,255,.82) !important;
}
@media (min-width:761px) and (max-width:1060px) and (orientation:landscape){
  .foundationLessonArtworkLayer--desktop,
  .foundationLessonArtworkLayer--tablet-portrait,
  .foundationLessonArtworkLayer--mobile{
    display:none !important;
  }
  .foundationLessonArtworkLayer--tablet-landscape{
    display:block !important;
  }
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-node-height:max(104dvh,calc((var(--lesson-count,10) * 86px) + 230px)) !important;
  }
}
@media (min-width:761px) and (max-width:1060px) and (orientation:portrait){
  .foundationLessonArtworkLayer--desktop,
  .foundationLessonArtworkLayer--tablet-landscape,
  .foundationLessonArtworkLayer--mobile{
    display:none !important;
  }
  .foundationLessonArtworkLayer--tablet-portrait{
    display:block !important;
  }
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-node-height:max(106dvh,calc((var(--lesson-count,10) * 90px) + 230px)) !important;
  }
}
@media (max-width:760px){
  .learnJourneyMap--curriculum .journeyTopBar{
    grid-template-columns:42px minmax(0,1fr) auto !important;
  }
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-node-height:max(106dvh,calc((var(--lesson-count,10) * 86px) + 190px)) !important;
    min-height:calc(var(--world-node-height) + 120px) !important;
    padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right)) !important;
  }
  .learnJourneyMap--curriculum .curriculumWorld + .curriculumWorld{
    margin-top:-54px !important;
    padding-top:82px !important;
  }
  .learnJourneyMap--curriculum .journeyNodes{
    min-height:max(700px,calc((var(--lesson-count,10) * 82px) + 170px)) !important;
  }
  .foundationLessonArtworkLayer--desktop,
  .foundationLessonArtworkLayer--tablet-landscape,
  .foundationLessonArtworkLayer--tablet-portrait{
    display:none !important;
  }
  .foundationLessonArtworkLayer--mobile{
    display:block !important;
  }
}

/* v3.2.10 build 257 - transparent lesson shell, full-width artwork and desktop Profile home route. */
.learnJourneyMap--curriculum{
  width:100vw !important;
  max-width:none !important;
  margin-inline:calc(50% - 50vw) !important;
  overflow:hidden !important;
}
.learnJourneyMap--curriculum .curriculumWorld,
.learnJourneyMap--curriculum .journeyWorldArtwork,
.learnJourneyMap--curriculum .journeyWorldArtworkLayer{
  width:100vw !important;
  max-width:none !important;
}
.learnJourneyMap--curriculum .journeyWorldArtworkLayer{
  background-size:cover,cover !important;
  background-position:var(--world-image-position,center center),center center !important;
}
.learnJourneyMap--curriculum .curriculumWorld{
  background:var(--world-a,#eef4ff) !important;
}
.learnJourneyMap--curriculum .curriculumWorld::before,
.learnJourneyMap--curriculum .curriculumWorld::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.learnJourneyMap--curriculum .journeyNodes{
  width:min(100vw,1180px) !important;
  margin-inline:auto !important;
}
.foundationJourneyOverlay,
.foundationLessonArtwork,
.foundationLessonArtworkLayer{
  width:100vw !important;
  max-width:none !important;
}
.foundationJourneyOverlay .foundationLessonPlayer,
.foundationJourneyOverlay .foundationLevelCard,
.foundationJourneyOverlay .learnInteractionBoard,
.foundationJourneyOverlay .learnTileStage,
.foundationJourneyOverlay .learnTileTray,
.foundationJourneyOverlay .learnBuildPalette,
.foundationJourneyOverlay .learnBuiltTiles,
.foundationJourneyOverlay .learnQuestionCard{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.foundationJourneyOverlay .foundationLevelCard,
.foundationJourneyOverlay .learnInteractionBoard{
  padding-inline:min(3vw,20px) !important;
}
.foundationJourneyOverlay .foundationBoardTile.tile.is-selected{
  box-shadow:none !important;
  background:transparent !important;
}
.foundationJourneyOverlay .learnLabelToken.is-selected,
.foundationJourneyOverlay .learnTextToken.is-selected{
  background:transparent !important;
  box-shadow:0 0 0 3px rgba(28,125,255,.18) !important;
  border-color:rgba(28,125,255,.42) !important;
}
.foundationJourneyOverlay .learnDropZone.is-drag-hover,
.foundationJourneyOverlay .learnMatchTarget.is-drag-hover,
.foundationJourneyOverlay .learnAreaTarget.is-drag-hover,
.foundationJourneyOverlay .learnWorkspaceZone.is-drag-hover{
  background:transparent !important;
  box-shadow:0 0 0 5px rgba(28,125,255,.18) !important;
}
.foundationJourneyOverlay .foundationPromptRow{
  width:min(860px,calc(100vw - 28px)) !important;
  max-width:calc(100vw - 28px) !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  box-sizing:border-box !important;
}
.foundationJourneyOverlay .foundationPromptRow .foundationLevelPrompt,
.foundationJourneyOverlay .foundationLevelPrompt,
.foundationJourneyOverlay .learnDynamicPrompt{
  flex:1 1 280px !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  box-sizing:border-box !important;
}
.foundationJourneyOverlay .foundationLessonActions--sticky{
  display:none !important;
}
.profileSettingsWrap{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.profileHomeBtn{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.34) !important;
}
.profileHomeBtn svg{
  width:20px !important;
  height:20px !important;
  stroke:currentColor !important;
  fill:none !important;
  stroke-width:2.25 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
@media (max-width:1060px){
  .profileHomeBtn{
    display:none !important;
  }
}
@media (max-width:760px){
  .foundationJourneyOverlay .foundationPromptRow{
    width:calc(100vw - 18px) !important;
    max-width:calc(100vw - 18px) !important;
    gap:8px !important;
  }
  .foundationJourneyOverlay .foundationPromptRow .foundationLevelPrompt,
  .foundationJourneyOverlay .learnDynamicPrompt{
    flex-basis:100% !important;
    padding:9px 12px !important;
    font-size:clamp(16px,4.7vw,21px) !important;
    line-height:1.2 !important;
  }
  .foundationJourneyOverlay .foundationPromptRow .learnHintBtn{
    margin-inline:auto !important;
  }
}

/* v3.2.11 build 258 - image-width-first world sizing for the Learn/Practice journey. */
.learnJourneyMap--curriculum .curriculumWorld{
  --world-art-ratio:.6667;
  --world-flow-height:calc((var(--lesson-count,10) * 76px) + 260px);
  --world-fit-height:calc(100vw * var(--world-art-ratio));
  --world-section-height:max(100dvh,var(--world-fit-height),var(--world-flow-height));
  --world-node-height:var(--world-section-height) !important;
  width:100vw !important;
  min-height:var(--world-section-height) !important;
  padding:0 !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
.learnJourneyMap--curriculum .curriculumWorld--bay{
  --world-art-ratio:.75;
}
.learnJourneyMap--curriculum .curriculumWorld + .curriculumWorld{
  margin-top:0 !important;
  padding-top:0 !important;
}
.learnJourneyMap--curriculum .journeyWorldArtwork{
  position:absolute !important;
  inset:0 !important;
  width:100vw !important;
  height:var(--world-section-height) !important;
  max-width:none !important;
}
.learnJourneyMap--curriculum .journeyWorldArtworkLayer{
  width:100vw !important;
  height:100% !important;
  max-width:none !important;
  background-size:100% 100%,cover !important;
  background-position:var(--world-image-position,center top),center center !important;
  background-repeat:no-repeat,no-repeat !important;
}
.learnJourneyMap--curriculum .journeyNodes{
  width:min(100vw,1180px) !important;
  height:var(--world-section-height) !important;
  min-height:var(--world-section-height) !important;
  margin-inline:auto !important;
}
.learnJourneyMap--curriculum .journeyPathRail{
  top:8% !important;
  bottom:8% !important;
}
@media (min-width:761px) and (max-width:1060px) and (orientation:landscape){
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-art-ratio:.75;
    --world-flow-height:calc((var(--lesson-count,10) * 68px) + 220px);
  }
}
@media (min-width:761px) and (max-width:1060px) and (orientation:portrait){
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-art-ratio:1.3334;
    --world-flow-height:calc((var(--lesson-count,10) * 70px) + 220px);
  }
}
@media (max-width:760px){
  .learnJourneyMap--curriculum .curriculumWorld{
    --world-art-ratio:1.7779;
    --world-flow-height:calc((var(--lesson-count,10) * 70px) + 170px);
  }
  .learnJourneyMap--curriculum .journeyNodes{
    width:100vw !important;
  }
}

/* v3.2.12 build 259 - remove lesson card backplate effects when feedback flyouts appear. */
.foundationJourneyOverlay .foundationLessonPlayer.is-level-complete .foundationLevelCard,
.foundationJourneyOverlay .foundationLessonPlayer.is-learning-error .foundationLevelCard{
  animation:none !important;
  transform:none !important;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

/* Board-only chrome: compact branded header with one clear exit. */
.appShell[data-screen="board"]{
  grid-template-rows:72px minmax(0,1fr) 0 !important;
  background:
    linear-gradient(180deg,rgba(8,119,248,.13),rgba(255,255,255,0) 222px),
    #f8fbff !important;
}
.appShell[data-screen="board"] .appHeader{
  display:flex !important;
  height:72px !important;
  padding:10px 14px !important;
  align-items:center !important;
  justify-content:space-between !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.appShell[data-screen="board"] .desktopTopNav,
.appShell[data-screen="board"] .headerActions,
.appShell[data-screen="board"] .bottomNav{
  display:none !important;
}
.appShell[data-screen="board"] .brandLockup{
  order:1 !important;
  position:static !important;
  transform:none !important;
  min-width:0 !important;
  height:48px !important;
  padding:8px 14px !important;
  border:1px solid rgba(255,255,255,.42) !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,#087cff,#0068f0) !important;
  box-shadow:0 8px 22px rgba(0,104,240,.18) !important;
}
.appShell[data-screen="board"] .brandHeaderLogo{
  display:block !important;
  width:auto !important;
  height:30px !important;
  max-width:148px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.appShell[data-screen="board"] .headerHomeBtn{
  order:3 !important;
  display:inline-grid !important;
  place-items:center !important;
  width:48px !important;
  height:48px !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.42) !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,#087cff,#0068f0) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(0,104,240,.18) !important;
}
.appShell[data-screen="board"] .headerHomeBtn svg,
.appShell[data-screen="board"] .headerHomeBtn img{
  display:block !important;
  width:23px !important;
  height:23px !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) !important;
}
.closeIconAsset{
  display:block !important;
  width:20px !important;
  height:20px !important;
  object-fit:contain !important;
  pointer-events:none !important;
}
@media (max-width:760px){
  .appShell[data-screen="board"]{
    grid-template-rows:64px minmax(0,1fr) 0 !important;
  }
  .appShell[data-screen="board"] .appHeader{
    height:64px !important;
    padding:8px 10px !important;
  }
  .appShell[data-screen="board"] .brandLockup{
    height:44px !important;
    padding:7px 12px !important;
  }
  .appShell[data-screen="board"] .brandHeaderLogo{
    height:27px !important;
    max-width:132px !important;
  }
  .appShell[data-screen="board"] .headerHomeBtn{
    width:44px !important;
    height:44px !important;
  }
}

/* Final board-header cascade for the global action group. */
.boardHeaderActionBtn{
  display:none;
}
.appShell[data-screen="board"] .appHeader{
  gap:12px !important;
}
.appShell[data-screen="board"] .brandLockup{
  margin-right:auto !important;
}
.appShell[data-screen="board"] .headerActions{
  order:3 !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin-left:auto !important;
}
.appShell[data-screen="board"] .headerActions #installBtn{
  display:none !important;
}
.appShell[data-screen="board"] .boardHeaderActionBtn,
.appShell[data-screen="board"] .headerHomeBtn{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
}

@media (max-width:760px){
  .appShell[data-screen="board"] .appHeader{
    gap:6px !important;
    padding-inline:8px !important;
  }
  .appShell[data-screen="board"] .brandLockup{
    height:40px !important;
    padding:6px 10px !important;
  }
  .appShell[data-screen="board"] .brandHeaderLogo{
    height:24px !important;
    max-width:108px !important;
  }
  .appShell[data-screen="board"] .headerActions{
    gap:4px !important;
  }
  .appShell[data-screen="board"] .boardHeaderActionBtn,
  .appShell[data-screen="board"] .headerHomeBtn{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }
}

@media (max-width:390px){
  .appShell[data-screen="board"] .brandHeaderLogo{
    max-width:92px !important;
  }
  .appShell[data-screen="board"] .boardHeaderActionBtn,
  .appShell[data-screen="board"] .headerHomeBtn{
    width:35px !important;
    height:35px !important;
    min-width:35px !important;
  }
}
