/*
 * THE GOOD ONES — ORGANIC PRODUCT SYSTEM
 * Locked visual identity: 2026
 * This final cascade layer intentionally reshapes the product UI while leaving
 * the validated launch hero intact.
 */

:root {
  --acid: #b0ee0b;
  --emerald: #0fbc53;
  --coral: #fd7666;
  --sun: #f6cc24;
  --pink: #fdc8e9;
  --violet: #9267ea;
  --oat: #fde9c8;
  --soft: #f3f3f3;
  --paper: #f3f3f3;
  --ink: #26262b;
  --muted: rgba(38,38,43,.66);
  --font-display: var(--font-bricolage, "Bricolage Grotesque", sans-serif);
  --font-body: var(--font-bricolage, "Bricolage Grotesque", sans-serif);
  --soft-shadow: 0 24px 70px rgba(38, 38, 43, 0.11);
  --soft-shadow-small: 0 12px 34px rgba(38, 38, 43, 0.09);
  --ease-spring: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }

html { background: var(--paper); scroll-behavior: smooth; }

body.final-brand {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 35%, rgba(176,238,11,.12) 0 9rem, transparent 9.15rem),
    radial-gradient(circle at 93% 72%, rgba(253,200,233,.16) 0 13rem, transparent 13.15rem),
    var(--paper);
  font-family: var(--font-body);
  overflow-x: hidden;
}

button, input, textarea { font: inherit; }

button, a { -webkit-tap-highlight-color: transparent; }

button { color: inherit; }

button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 4px solid var(--acid);
  outline-offset: 4px;
}

h1, h2, h3, strong, .eyebrow { font-family: var(--font-display); }

h1 i, h2 i {
  color: inherit;
  display: inline-block;
  font-style: normal;
  max-width: 100%;
  padding-bottom: .12em;
  position: relative;
  vertical-align: top;
  white-space: nowrap;
}

h1 i::after, h2 i::after {
  position: absolute;
  right: 3%;
  bottom: .015em;
  left: 3%;
  height: .065em;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: .9;
  pointer-events: none;
  transform: rotate(-.55deg);
}

.learner-main, .grownup-main {
  width: min(100%, 1600px);
  margin: 0 auto;
  padding: 0 clamp(18px, 4vw, 72px) clamp(72px, 10vw, 156px);
}

.organic-section { position: relative; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px 8px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--acid);
  content: "";
}

.button, .soft-link {
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 760;
  cursor: pointer;
  transition: transform .25s var(--ease-spring), box-shadow .25s ease, background .25s ease;
}

.button { padding: 13px 20px; }

.button:hover, .soft-link:hover { transform: translateY(-3px) rotate(-.4deg); }

.button--signal { background: var(--acid); color: var(--ink); box-shadow: 0 12px 28px rgba(99,134,0,.22); }
.button--graphite, .button--ink { background: var(--ink); color: white; }
.button--outline { background: white; box-shadow: inset 0 0 0 2px var(--ink); }

.soft-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 17px;
  background: rgba(255,255,255,.9);
  color: var(--ink);
}

/* Floating product navigation */
.topbar {
  position: sticky;
  z-index: 100;
  top: 12px;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) auto;
  align-items: center;
  width: calc(100% - clamp(24px, 5vw, 80px));
  max-width: 1500px;
  min-height: 82px;
  margin: 14px auto 28px;
  padding: 10px 12px 10px 18px;
  border: 1px solid rgba(38,38,43,.07);
  border-radius: 33px 45px 38px 42px / 37px 32px 43px 38px;
  background: rgba(255,253,250,.9);
  box-shadow: 0 14px 50px rgba(38,38,43,.09);
  backdrop-filter: blur(18px) saturate(1.3);
}

.topbar::after {
  position: absolute;
  z-index: -1;
  right: 22%;
  bottom: -7px;
  width: 76px;
  height: 16px;
  border-radius: 50%;
  background: var(--pink);
  content: "";
  transform: rotate(-2deg);
}

.topbar .brand { width: 112px; transform: rotate(-1deg); }

.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  padding: 5px;
  border: 0;
  border-radius: 999px;
  background: var(--soft);
}

.main-nav button {
  min-height: 46px;
  padding: 10px clamp(12px, 1.5vw, 24px);
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(38,38,43,.72);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: .25s var(--ease-spring);
}

.main-nav button:hover { background: white; color: var(--ink); transform: translateY(-1px); }
.main-nav button.is-active { background: var(--ink); color: white; box-shadow: 0 8px 18px rgba(38,38,43,.18); }

.role-menu { position: relative; justify-self: end; }
.role-menu__trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 6px 15px 6px 7px;
  border: 0;
  border-radius: 999px;
  background: var(--oat);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.learner-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 55% 45% 50% 50% / 42% 57% 43% 58%;
  background: var(--violet);
  color: white;
  font-size: 17px;
}

.grownup-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  border-radius: 55% 45% 50% 50% / 42% 57% 43% 58%;
  background: var(--coral);
  color: var(--ink);
  font: 760 16px var(--font-display);
  place-items: center;
}

.role-menu__panel {
  position: absolute;
  z-index: 120;
  top: calc(100% + 12px);
  right: 0;
  display: grid;
  width: 250px;
  padding: 9px;
  border: 0;
  border-radius: 25px 34px 28px 31px;
  background: white;
  box-shadow: var(--soft-shadow);
}

.role-menu__panel button {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  min-height: 48px;
  padding: 9px 13px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.role-menu__panel button:hover { background: var(--acid); }
/* Shared living characters */
.teacher-cutout {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 22px 22px rgba(38,38,43,.14));
}

/* Daily trail beneath the validated hero */
.learner-main--after-approved { padding-top: clamp(70px, 9vw, 140px); }

.route-section {
  padding: clamp(38px, 6vw, 82px);
  border-radius: 60px 110px 76px 92px / 72px 55px 102px 65px;
  background: var(--soft);
  overflow: hidden;
}

.route-section::before {
  position: absolute;
  top: -70px;
  right: 13%;
  width: 220px;
  height: 160px;
  border-radius: 50%;
  background: var(--pink);
  content: "";
  transform: rotate(12deg);
}

.section-title {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.15fr .65fr;
  align-items: end;
  gap: clamp(30px, 8vw, 120px);
  margin-bottom: clamp(46px, 7vw, 90px);
}

.section-title h2, .subject-modules__lead h2 {
  margin: 18px 0 0;
  font-size: clamp(46px, 6.6vw, 100px);
  font-weight: 760;
  letter-spacing: -.065em;
  line-height: .87;
}
.section-title h2 i { color: var(--violet); }
.section-title > p, .subject-modules__lead > p { max-width: 420px; margin: 0; color: var(--muted); font-size: clamp(17px, 1.5vw, 22px); line-height: 1.48; }

.route-flow {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  gap: 24px;
}

.route-flow::before {
  position: absolute;
  z-index: -1;
  top: 48%;
  left: 44%;
  width: 22%;
  border-top: 5px dotted var(--ink);
  content: "";
  opacity: .23;
  transform: rotate(12deg);
}

.route-scene {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(160px,.62fr);
  min-height: 360px;
  padding: 30px;
  border: 0;
  border-radius: 52px 72px 48px 66px / 62px 48px 75px 51px;
  overflow: hidden;
  box-shadow: var(--soft-shadow-small);
  transition: transform .35s var(--ease-spring), box-shadow .35s ease;
}
.route-scene:hover { z-index: 3; transform: translateY(-9px) rotate(-.6deg); box-shadow: var(--soft-shadow); }
.route-scene--violet { grid-row: span 2; min-height: 744px; background: var(--violet); color: white; }
.route-scene--yellow { background: var(--sun); }
.route-scene--pink { background: var(--pink); }

.route-scene__number {
  position: absolute;
  top: 24px;
  right: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 750;
}
.route-scene__number small { padding: 5px 8px; border-radius: 999px; background: rgba(255,255,255,.72); color: var(--ink); font-size: 10px; text-transform: uppercase; }
.route-scene__copy { position: relative; z-index: 2; align-self: end; }
.route-scene__copy > span { font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.route-scene__copy h3 { max-width: 530px; margin: 13px 0; font-size: clamp(31px, 3.2vw, 54px); letter-spacing: -.05em; line-height: .96; }
.route-scene__copy p { margin: 0 0 22px; opacity: .75; }
.route-scene__image { position: relative; z-index: 1; align-self: end; height: 86%; margin: 20px -35px -31px -20px; }
.route-scene--violet .route-scene__image { position: absolute; right: -4%; bottom: 0; width: 66%; height: 82%; margin: 0; }
.route-scene__image--glyph { display: grid; margin: 50px -10px -5px 0; place-items: center; }
.route-scene__glyph { width: min(180px,100%); }
.route-scene__time { position: absolute; top: 29px; left: 30px; font-weight: 700; }
.route-scene__buddy { position: absolute; z-index: 2; top: 18%; left: 47%; width: 94px; height: 79px; }

.field-mission {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto auto;
  align-items: center;
  gap: clamp(20px, 4vw, 54px);
  margin-top: 24px;
  padding: 28px 34px;
  border: 0;
  border-radius: 42px 58px 48px 54px / 52px 42px 56px 46px;
  background: var(--ink);
  color: white;
  overflow: hidden;
}
.field-mission__index { display: grid; width: 68px; height: 68px; place-items: center; border-radius: 50%; background: var(--acid); color: var(--ink); font: 760 20px var(--font-display); }
.field-mission h3 { margin: 8px 0 4px; font-size: clamp(28px,3vw,44px); letter-spacing: -.04em; }
.field-mission p { max-width: 700px; margin: 0; opacity: .72; }
.field-mission .button { color: var(--ink); }
.field-mission__buddy { width: 78px; height: 66px; }

/* Learning worlds */
.subject-modules { padding: clamp(90px, 12vw, 180px) 0 0; }
.subject-modules__lead { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 36px; margin-bottom: clamp(45px,7vw,86px); }
.subject-modules__lead .eyebrow { position: absolute; top: clamp(50px,7vw,90px); left: 0; }
.subject-modules__lead h2 i { color: var(--coral); }

.subject-modules__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 130px;
  gap: 18px;
}

.subject-module {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 270px;
  padding: 26px;
  border: 0;
  border-radius: 46px 64px 52px 58px / 56px 44px 64px 49px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: hidden;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: var(--soft-shadow-small);
  isolation: isolate;
  transition: transform .35s var(--ease-spring), border-radius .45s ease, box-shadow .35s ease;
}
.subject-module:hover { z-index: 4; border-radius: 56px 44px 65px 41px / 43px 60px 40px 62px; box-shadow: var(--soft-shadow); transform: translateY(-10px) rotate(-1deg); }
.subject-module strong { position: relative; z-index: 3; font-size: clamp(30px,3.3vw,52px); letter-spacing: -.055em; line-height: .95; }
.subject-module small { position: relative; z-index: 3; margin-top: 8px; font-size: 15px; opacity: .72; }
.subject-module__meta { position: absolute; z-index: 3; top: 24px; left: 25px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.8); font-family: var(--font-display); font-size: 10px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.subject-module__go { position: absolute; z-index: 4; right: 22px; bottom: 22px; display: grid; width: 46px; height: 46px; border-radius: 50%; place-items: center; background: var(--ink); color: white; font-size: 21px; transition: transform .3s var(--ease-spring); }
.subject-module:hover .subject-module__go { transform: rotate(35deg) scale(1.08); }
.subject-module .teacher-cutout { position: absolute; z-index: 1; right: -10%; bottom: 0; width: 78%; height: 92%; object-position: right bottom; transition: transform .5s var(--ease-spring); }
.subject-module:hover .teacher-cutout { transform: scale(1.045) translateY(-4px); }
.subject-module--teacher strong, .subject-module--teacher small { max-width: 48%; }
.subject-module--science { grid-column: span 7; grid-row: span 3; background: var(--violet); color: white; }
.subject-module--french { grid-column: span 5; grid-row: span 3; background: var(--coral); }
.subject-module--spanish { grid-column: span 4; grid-row: span 3; background: var(--sun); }
.subject-module--ai { grid-column: span 5; grid-row: span 3; background: var(--pink); }
.subject-module--maths { grid-column: span 3; grid-row: span 3; background: var(--acid); }
.subject-module--field { grid-column: span 12; grid-row: span 2; min-height: 250px; background: var(--emerald); color: white; }
.subject-module--maths .subject-glyph, .subject-module--field .subject-glyph { position: absolute; z-index: 1; top: 22px; right: 18px; width: 48%; height: 50%; }
.subject-module--maths .goodie-companion { position: absolute; z-index: 2; top: 38px; left: 25px; width: 82px; height: 70px; }
.subject-module--field .goodie-companion { position: absolute; z-index: 2; right: 23%; bottom: 22px; }
.subject-module--field .subject-glyph { top: auto; right: 7%; bottom: -8px; width: 22%; height: 96%; }

/* Immersive editorial page heroes */
.editorial-page { padding-top: 8px; }
.page-lead, .library-lead, .grownup-lead {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(320px,.72fr);
  min-height: clamp(560px, 67vh, 760px);
  padding: clamp(40px, 6vw, 86px);
  border: 0;
  border-radius: 64px 118px 78px 106px / 82px 61px 114px 68px;
  overflow: hidden;
  isolation: isolate;
}
.page-lead::before, .library-lead::before, .grownup-lead::before {
  position: absolute;
  z-index: -1;
  top: -16%;
  right: -4%;
  width: 47%;
  aspect-ratio: 1;
  border-radius: 58% 42% 47% 53% / 39% 60% 40% 61%;
  background: rgba(255,255,255,.32);
  content: "";
  animation: ambient-morph 12s ease-in-out infinite alternate;
}
.page-lead__copy { position: relative; z-index: 2; align-self: center; }
.page-lead h1, .library-lead h1, .grownup-lead h1 {
  max-width: 960px;
  margin: 24px 0;
  font-size: clamp(55px, 7.5vw, 122px);
  font-weight: 770;
  letter-spacing: -.075em;
  line-height: .84;
}
.page-lead p, .library-lead p, .grownup-lead p { max-width: 610px; margin: 0 0 28px; font-size: clamp(17px,1.45vw,22px); line-height: 1.5; }
.page-lead__character { position: relative; z-index: 1; align-self: end; height: 95%; margin: 0 -9% -13% -8%; }
.page-lead__character .goodie-companion { position: absolute; z-index: 3; right: 7%; bottom: 15%; }
.page-lead__stats { display: flex; gap: 14px; margin-top: 34px; }
.page-lead__stats span { display: flex; align-items: baseline; gap: 8px; padding: 12px 16px; border-radius: 999px; background: rgba(255,255,255,.7); font-size: 13px; }
.page-lead__stats b { font: 770 25px var(--font-display); }

.page-lead--map { background: var(--acid); }
.page-lead--map h1 i { color: var(--violet); }
.page-lead--studio { background: var(--pink); }
.page-lead--studio h1 i { color: var(--violet); }
.page-lead--field { background: var(--sun); }
.page-lead--field h1 i { color: var(--emerald); }

.studio-orbit {
  position: absolute;
  z-index: -1;
  top: 12%;
  right: -8%;
  width: 430px;
  height: 430px;
  border: 5px dotted rgba(38,38,43,.28);
  border-radius: 50%;
  color: transparent;
  animation: orbit-spin 22s linear infinite;
}

@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes ambient-morph { to { border-radius: 41% 59% 64% 36% / 55% 44% 56% 45%; transform: translate(-3%,7%) rotate(8deg); } }

/* Atlas */
.atlas-journey {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(36px,7vw,110px);
  padding: clamp(95px,12vw,180px) clamp(8px,3vw,42px) 40px;
}
.atlas-journey__intro { position: sticky; top: 130px; align-self: start; }
.atlas-journey__intro h2, .project-shelf__lead h2, .field-trail > div:first-child h2 { margin: 20px 0; font-size: clamp(48px,5.5vw,84px); letter-spacing: -.06em; line-height: .9; }
.atlas-journey__intro p { max-width: 390px; color: var(--muted); font-size: 18px; line-height: 1.5; }
.territory-map { position: relative; display: grid; gap: 26px; padding: 20px 0; }
.territory-map__path { position: absolute; z-index: -1; top: 7%; bottom: 7%; left: 50%; border-left: 5px dotted rgba(38,38,43,.18); transform: rotate(4deg); }
.territory {
  position: relative;
  display: grid;
  grid-template-columns: 60px 1fr auto;
  align-items: center;
  gap: 20px;
  width: 88%;
  min-height: 150px;
  padding: 24px 28px;
  border: 0;
  border-radius: 42px 59px 45px 55px / 53px 41px 61px 45px;
  background: var(--soft);
  text-align: left;
  box-shadow: var(--soft-shadow-small);
  cursor: pointer;
  transition: transform .32s var(--ease-spring);
}
.territory:nth-child(odd) { justify-self: end; transform: rotate(1deg); }
.territory:nth-child(even) { justify-self: start; transform: rotate(-1deg); }
.territory:hover { transform: scale(1.025) rotate(0); }
.territory > span { display: grid; width: 54px; height: 54px; border-radius: 50%; place-items: center; background: white; font: 760 17px var(--font-display); }
.territory strong { display: block; font-size: clamp(25px,2.3vw,36px); letter-spacing: -.04em; }
.territory small { grid-column: 2; color: var(--muted); font-size: 15px; }
.territory em { grid-column: 3; grid-row: 1 / span 2; padding: 8px 11px; border-radius: 999px; background: white; font-size: 11px; font-style: normal; font-weight: 700; }
.territory--done { background: var(--oat); }
.territory--active { background: var(--violet); color: white; box-shadow: 0 28px 70px rgba(146,103,234,.25); }
.territory--active small { color: rgba(255,255,255,.75); }
.territory--next { background: var(--acid); }
.territory--locked { opacity: .72; }

/* Studio */
.project-shelf { display: grid; grid-template-columns: .36fr 1fr; gap: clamp(28px,5vw,74px); padding: clamp(90px,12vw,170px) 0 20px; }
.project-shelf__lead { position: relative; }
.project-shelf__lead .goodie-companion { margin: 54px auto 0; }
.project-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.project-card {
  position: relative;
  display: flex;
  min-height: 430px;
  padding: 25px;
  border: 0;
  border-radius: 48px 62px 45px 67px / 58px 45px 63px 47px;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--soft-shadow-small);
  transition: transform .32s var(--ease-spring);
}
.project-card:hover { transform: translateY(-8px) rotate(-.5deg); }
.project-card--lime { grid-column: span 2; min-height: 500px; background: var(--acid); }
.project-card--coral { background: var(--coral); }
.project-card--violet { background: var(--violet); color: white; }
.project-card__index { position: absolute; z-index: 3; top: 23px; right: 25px; font: 750 13px var(--font-display); }
.project-card .project-art { position: relative; height: 55%; min-height: 180px; border: 0; border-radius: 44% 56% 63% 37% / 51% 40% 60% 49%; background: rgba(255,255,255,.55); overflow: hidden; }
.project-card .project-art b { position: absolute; top: 50%; left: 50%; font: 800 clamp(62px,7vw,120px)/1 var(--font-display); transform: translate(-50%,-50%) rotate(-8deg); }
.project-card h2 { margin: 12px 0 4px; font-size: clamp(28px,2.6vw,44px); letter-spacing: -.05em; line-height: .97; }
.project-card p { margin: 0; opacity: .7; }
.project-card > strong { position: absolute; bottom: 25px; left: 25px; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.72); color: var(--ink); font-size: 11px; text-transform: uppercase; }
.project-card > button { position: absolute; right: 24px; bottom: 22px; display: grid; width: 50px; height: 50px; border: 0; border-radius: 50%; background: var(--ink); color: white; place-items: center; cursor: pointer; }

/* Library */
.library-lead { align-items: end; min-height: 560px; background: var(--violet); color: white; }
.library-lead h1 i { color: var(--acid); }
.library-lead__search { position: relative; align-self: end; padding-bottom: 20px; }
.library-lead__search .goodie-companion { position: absolute; right: 8%; bottom: 96px; }
.search-field { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 9px 20px; border: 0; border-radius: 999px; background: white; box-shadow: var(--soft-shadow-small); }
.search-field > span { color: var(--ink); font-size: 29px; }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 17px; }
.publication-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 20px; padding-top: clamp(70px,10vw,140px); }
.publication {
  position: relative;
  display: flex;
  grid-column: span 6;
  min-height: 560px;
  padding: 27px;
  border: 0;
  border-radius: 54px 69px 47px 72px / 63px 48px 70px 46px;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--soft-shadow-small);
  transition: transform .33s var(--ease-spring);
}
.publication:nth-child(2), .publication:nth-child(3) { grid-column: span 6; }
.publication:hover { transform: translateY(-8px) rotate(.5deg); }
.publication--1 { background: var(--sun); }
.publication--2 { background: var(--pink); }
.publication--3 { background: var(--emerald); color: white; }
.publication--4 { background: var(--oat); }
.publication > span { font: 750 12px var(--font-display); letter-spacing: .08em; }
.publication__art { position: relative; display: grid; height: 48%; min-height: 230px; margin: 20px 0; border-radius: 44% 56% 53% 47% / 61% 45% 55% 39%; background: rgba(255,255,255,.54); place-items: center; }
.publication__art > b { position: absolute; top: 16px; right: 20px; font: 800 60px var(--font-display); opacity: .16; }
.publication__art .subject-glyph { width: 180px; max-width: 55%; }
.publication h2 { max-width: 690px; margin: 0 0 24px; font-size: clamp(32px,3.3vw,53px); letter-spacing: -.055em; line-height: .95; }
.publication > button { align-self: flex-start; margin-top: auto; padding: 12px 17px; border: 0; border-radius: 999px; background: white; color: var(--ink); font-weight: 700; cursor: pointer; }

/* Field lab */
.field-sun { position: absolute; z-index: -1; right: -5%; bottom: -20%; width: 50%; aspect-ratio: 1; border-radius: 50%; background: var(--coral); }
.field-trail { display: grid; grid-template-columns: .45fr 1fr; gap: clamp(28px,6vw,90px); padding: clamp(90px,12vw,170px) 0 30px; }
.field-steps { display: grid; gap: 20px; }
.field-steps article {
  position: relative;
  min-height: 210px;
  padding: 32px 34px 28px 150px;
  border: 0;
  border-radius: 45px 61px 48px 64px / 57px 44px 65px 47px;
  background: var(--soft);
  overflow: hidden;
}
.field-steps article:nth-child(2) { background: var(--pink); margin-left: 9%; }
.field-steps article:nth-child(3) { background: var(--violet); color: white; margin-left: 2%; }
.field-steps article > b { position: absolute; top: 25px; right: 28px; font: 780 15px var(--font-display); }
.field-steps article .goodie-companion { position: absolute; left: 23px; bottom: 31px; width: 92px; height: 78px; }
.field-steps h2 { margin: 30px 0 7px; font-size: clamp(34px,3vw,48px); letter-spacing: -.05em; }
.field-steps p { margin: 0; font-size: 17px; opacity: .75; }

/* Parent + educator views */
.grownup-main { padding-top: 8px; }
.grownup-lead { align-items: center; min-height: 520px; background: var(--oat); }
.grownup-lead h1 { font-size: clamp(48px,6.5vw,98px); }
.grownup-lead h1 i { color: var(--violet); }
.grownup-lead__week {
  position: relative;
  display: flex;
  width: min(360px,100%);
  min-height: 300px;
  padding: 38px;
  border-radius: 58% 42% 49% 51% / 45% 58% 42% 55%;
  flex-direction: column;
  justify-content: center;
  background: var(--violet);
  color: white;
  transform: rotate(3deg);
}
.grownup-lead__week > span { font: 700 13px var(--font-display); text-transform: uppercase; }
.grownup-lead__week > strong { font: 790 clamp(62px,6vw,92px)/1 var(--font-display); letter-spacing: -.06em; }
.grownup-lead__week > small { opacity: .8; }
.grownup-lead__week .goodie-companion { position: absolute; right: -20px; bottom: -16px; width: 90px; height: 76px; }

.dashboard-grid, .teacher-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: clamp(22px,2.2vw,34px); padding-top: clamp(70px,9vw,130px); }
.dashboard-panel, .source-ledger {
  position: relative;
  grid-column: span 6;
  min-width: 0;
  min-height: 430px;
  padding: clamp(34px,4vw,58px);
  border: 0;
  border-radius: 52px 78px 58px 72px / 62px 50px 68px 54px;
  background: var(--soft);
  box-shadow: var(--soft-shadow-small);
  overflow: hidden;
}
.dashboard-panel--wide { grid-column: span 8; }
.dashboard-panel--quote { grid-column: span 4; background: var(--sun); }
.dashboard-panel--ai { background: var(--acid); min-height: 520px; }
.dashboard-panel h2, .source-ledger h2 { width: min(100%,720px); margin: 14px 0 30px; font-size: clamp(31px,2.65vw,46px); letter-spacing: -.05em; line-height: .98; text-wrap: balance; }
.panel-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.panel-title button, .curriculum-tabs button { padding: 9px 13px; border: 0; border-radius: 999px; background: white; cursor: pointer; }

.competency-table { display: grid; gap: 18px; }
.competency-table > div { display: grid; grid-template-columns: 220px minmax(100px,1fr) 54px; align-items: center; gap: 16px; }
.competency-table span strong, .competency-table span small { display: block; }
.competency-table span small { color: var(--muted); }
.competency-table > div > i { height: 15px; border-radius: 999px; background: white; overflow: hidden; }
.competency-table > div > i b { display: block; height: 100%; border-radius: inherit; background: var(--emerald); }
.competency-table em { font-style: normal; font-weight: 700; text-align: right; }

.dashboard-panel--quote blockquote { margin: 30px 0; font: 720 clamp(26px,2.4vw,40px)/1.08 var(--font-display); letter-spacing: -.04em; }
.dashboard-panel--quote > div { display: flex; align-items: center; gap: 14px; }
.dashboard-quote__glyph { display: grid; width: 68px; height: 68px; border-radius: 50%; background: white; place-items: center; }
.dashboard-quote__glyph svg { width: 50px; height: 50px; }
.dashboard-panel--quote .goodie-companion { position: absolute; right: 20px; bottom: 16px; width: 72px; height: 61px; }

.curriculum-tabs { display: flex; gap: 7px; margin-bottom: 22px; }
.curriculum-tabs .is-active { background: var(--violet); color: white; }
.curriculum-row { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 14px; padding: 15px 0; border-top: 1px solid rgba(38,38,43,.09); }
.curriculum-row .status { width: 10px; height: 10px; border-radius: 50%; background: var(--acid); }
.curriculum-row span strong, .curriculum-row span small { display: block; }
.curriculum-row span small { color: var(--muted); }

.dashboard-panel--ai ol { position: relative; z-index: 2; width: 58%; padding: 0; list-style: none; }
.dashboard-panel--ai li { display: grid; grid-template-columns: 35px 1fr; gap: 11px; padding: 12px 0; border-top: 1px solid rgba(38,38,43,.1); }
.dashboard-panel--ai li > span { font: 750 12px var(--font-display); }
.dashboard-panel--ai li p { margin: 0; }
.dashboard-panel--ai .teacher-cutout { position: absolute; right: 1%; bottom: -2%; width: 42%; height: 74%; }

.grownup-lead--teacher { grid-template-columns: 1fr minmax(300px,.48fr) auto; background: var(--violet); color: white; }
.grownup-lead--teacher h1 i { color: var(--acid); }
.grownup-lead--teacher .button { align-self: end; color: var(--ink); }
.teacher-team { position: relative; align-self: end; height: 350px; margin: 0 -18% -17% -22%; }
.teacher-team .teacher-cutout { position: absolute; bottom: 0; width: 60%; }
.teacher-team .teacher-cutout:nth-child(1) { left: -3%; z-index: 3; }
.teacher-team .teacher-cutout:nth-child(2) { left: 24%; z-index: 2; transform: scale(.91); }
.teacher-team .teacher-cutout:nth-child(3) { left: 49%; z-index: 1; transform: scale(.84); }

.guide-roster { padding: clamp(82px,10vw,140px) 0 40px; }
.guide-roster > header { display: grid; grid-template-columns: .7fr 1.3fr; gap: 20px 70px; align-items: end; margin-bottom: 40px; }
.guide-roster > header .eyebrow { grid-column: 1 / -1; }
.guide-roster > header h2 { margin: 0; font-size: clamp(48px,6vw,92px); letter-spacing: -.07em; line-height: .86; }
.guide-roster > header h2 i { color: var(--violet); }
.guide-roster > header p { max-width: 520px; margin: 0 0 7px; color: var(--muted); font-size: 18px; line-height: 1.5; }
.guide-roster__rail { display: grid; grid-auto-columns: minmax(220px,1fr); grid-auto-flow: column; gap: 15px; padding: 12px 2px 26px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: var(--acid) transparent; scroll-snap-type: inline mandatory; }
.guide-card { position: relative; min-height: 360px; border-radius: 49px 66px 52px 70px / 60px 45px 69px 47px; background: var(--soft); overflow: hidden; scroll-snap-align: start; box-shadow: var(--soft-shadow-small); }
.guide-card > span { position: absolute; z-index: 3; top: 19px; left: 20px; display: grid; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.8); color: var(--ink); font: 750 11px var(--font-display); place-items: center; }
.guide-card .teacher-cutout { position: absolute; z-index: 1; right: -5%; bottom: 55px; width: 110%; height: 78%; border: 0; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 22px 22px rgba(38,38,43,.14)); }
.guide-card > div { position: absolute; z-index: 4; right: 15px; bottom: 14px; left: 15px; display: block; min-height: 0; padding: 13px 15px; border-radius: 24px 31px 25px 34px; background: rgba(255,255,255,.86); color: var(--ink); backdrop-filter: blur(8px); }
.guide-card strong, .guide-card small { display: block; }
.guide-card strong { font: 750 20px var(--font-display); }
.guide-card small { margin-top: 2px; color: var(--muted); }
.guide-card--lime { background: var(--acid); }
.guide-card--green { background: var(--emerald); }
.guide-card--coral { background: var(--coral); }
.guide-card--yellow { background: var(--sun); }
.guide-card--pink { background: var(--pink); }
.guide-card--violet { background: var(--violet); }
.guide-card--oat { background: var(--oat); }

.teacher-route { grid-column: span 8; }
.source-ledger { grid-column: span 4; background: var(--ink); color: white; }
.evidence-panel { grid-column: span 12; }
.route-row { display: grid; grid-template-columns: 44px minmax(0,1fr) auto 44px; align-items: center; gap: 15px; min-height: 84px; padding: 10px 0; border-top: 1px solid rgba(38,38,43,.09); }
.route-row > span { display: grid; width: 40px; height: 40px; border-radius: 50%; background: white; place-items: center; font-weight: 700; }
.route-row div strong, .route-row div small { display: block; }
.route-row div small { color: var(--muted); }
.route-row > i { padding: 7px 10px; border-radius: 999px; background: white; font-size: 11px; font-style: normal; }
.route-row > i.is-live { background: var(--acid); }
.route-row > button { border: 0; background: transparent; cursor: pointer; }
.source-seal { display: flex; align-items: center; gap: 15px; margin: 20px 0 30px; padding: 18px; border-radius: 28px; background: var(--acid); color: var(--ink); }
.source-seal > b { display: grid; width: 40px; height: 40px; border-radius: 50%; background: white; place-items: center; }
.source-seal span strong, .source-seal span small { display: block; }
.source-ledger dl { margin: 0 0 30px; }
.source-ledger dl > div { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.14); }
.source-ledger dt { color: rgba(255,255,255,.55); font-size: 11px; text-transform: uppercase; }
.source-ledger dd { margin: 3px 0 0; }
.button--outline-light { width: 100%; border: 1px solid rgba(255,255,255,.35); background: transparent; color: white; }
.evidence-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.evidence-list button { display: grid; grid-template-columns: 60px 1fr; gap: 8px 15px; min-height: 130px; padding: 20px; border: 0; border-radius: 29px 36px 31px 40px; background: white; text-align: left; cursor: pointer; }
.evidence-list button > span { display: grid; grid-row: span 2; width: 58px; height: 58px; border-radius: 50%; background: var(--pink); place-items: center; font: 750 18px var(--font-display); }
.evidence-list button strong { align-self: end; }
.evidence-list button small { color: var(--muted); }

/* Lesson workspace — soft, focused and dramatic */
.lesson-shell {
  position: fixed;
  z-index: 500;
  inset: 0;
  padding: clamp(12px,2vw,30px);
  background: var(--violet);
  overflow: auto;
  animation: lesson-open .5s var(--ease-spring) both;
}
@keyframes lesson-open { from { opacity: 0; transform: scale(.97); } }
.lesson-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: 160px minmax(0,1fr) 52px;
  align-items: center;
  min-height: 82px;
  padding: 10px 14px 10px 22px;
  border: 0;
  border-radius: 30px 41px 33px 38px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--soft-shadow-small);
  backdrop-filter: blur(16px);
}
.lesson-header .brand { width: 110px; }
.close-button { width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--ink); color: white; font-size: 27px; cursor: pointer; }
.lesson-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; max-width: 720px; margin: auto; }
.lesson-progress span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.lesson-progress span i { width: 11px; height: 11px; border-radius: 50%; background: #ddd; }
.lesson-progress span.is-active { color: var(--ink); }
.lesson-progress span.is-active i { background: var(--acid); box-shadow: 0 0 0 4px rgba(176,238,11,.22); }
.lesson-layout { display: grid; grid-template-columns: minmax(280px,.52fr) minmax(0,1.48fr); gap: 18px; max-width: 1500px; min-height: calc(100vh - 140px); margin: 18px auto 0; }
.lesson-guide, .lesson-workspace { position: relative; border: 0; overflow: hidden; }
.lesson-guide { display: flex; min-height: 700px; padding: 34px; border-radius: 55px 70px 48px 74px / 63px 49px 70px 46px; flex-direction: column; background: var(--pink); }
.lesson-guide img { width: calc(100% + 85px); max-height: 78%; margin: auto -42px -50px; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 20px 20px rgba(38,38,43,.13)); }
.voice-note { position: absolute; z-index: 3; right: 25px; bottom: 25px; display: flex; align-items: center; gap: 5px; min-height: 54px; padding: 10px 14px; border: 0; border-radius: 999px; background: white; cursor: pointer; box-shadow: var(--soft-shadow-small); }
.voice-note > span { display: grid; width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: white; place-items: center; }
.voice-note > i { width: 3px; height: 15px; border-radius: 4px; background: var(--violet); }
.voice-note > i:nth-of-type(2), .voice-note > i:nth-of-type(4) { height: 24px; }
.lesson-workspace { padding: clamp(35px,5vw,80px); border-radius: 65px 94px 58px 84px / 74px 58px 96px 57px; background: var(--paper); }
.lesson-workspace h2 { max-width: 920px; margin: 20px 0; font-size: clamp(48px,6.2vw,98px); letter-spacing: -.07em; line-height: .86; }
.lesson-workspace > p { max-width: 660px; color: var(--muted); font-size: 19px; line-height: 1.5; }
.air-balance { margin: 30px auto; border-radius: 48% 52% 44% 56% / 59% 45% 55% 41%; background: var(--soft); }
.answer-list { display: grid; gap: 13px; margin: 34px 0; }
.answer-list button { display: grid; grid-template-columns: 48px 1fr; align-items: center; min-height: 74px; padding: 12px 18px; border: 0; border-radius: 25px 34px 28px 37px; background: var(--soft); text-align: left; cursor: pointer; transition: .25s ease; }
.answer-list button > span { display: grid; width: 40px; height: 40px; border-radius: 50%; background: white; place-items: center; font-weight: 700; }
.answer-list button.is-selected { background: var(--acid); transform: translateX(8px); }
.feedback { padding: 18px 22px; border: 0; border-radius: 26px 32px 25px 36px; background: var(--pink); }
.feedback.is-correct { background: rgba(15,188,83,.18); }
.feedback p { margin: 5px 0 0; }
.lesson-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 28px; }
.hint-button { min-height: 46px; border: 0; border-bottom: 2px solid var(--ink); background: transparent; cursor: pointer; }
.mode-switch { display: inline-flex; gap: 5px; margin: 18px 0; padding: 5px; border-radius: 999px; background: var(--soft); }
.mode-switch button { min-height: 43px; padding: 9px 17px; border: 0; border-radius: 999px; background: transparent; cursor: pointer; }
.mode-switch button.is-active { background: var(--ink); color: white; }
.lesson-workspace textarea { width: 100%; padding: 24px; border: 0; border-radius: 30px 38px 33px 42px; background: var(--soft); color: var(--ink); font-size: 18px; resize: vertical; }
.lesson-complete { position: relative; display: flex; min-height: 100%; align-items: flex-start; flex-direction: column; justify-content: center; }
.lesson-complete .complete-mark { position: absolute; top: 0; right: 0; display: grid; width: 120px; height: 110px; border-radius: 58% 42% 49% 51% / 43% 59% 41% 57%; background: var(--acid); place-items: center; font: 780 18px var(--font-display); transform: rotate(7deg); }
.lesson-complete > div { display: flex; gap: 8px; margin: 10px 0 30px; }
.lesson-complete > div span { padding: 8px 12px; border-radius: 999px; background: var(--pink); }

/* Motion remains expressive, but accessible */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

@media (max-width: 1100px) {
  .topbar { grid-template-columns: 110px 1fr auto; }
  .main-nav button { padding-inline: 12px; }
  .main-nav button:last-child { display: none; }
  .section-title, .subject-modules__lead, .atlas-journey, .project-shelf, .field-trail { grid-template-columns: 1fr; }
  .subject-modules__lead .eyebrow { position: static; }
  .route-flow { grid-template-columns: 1fr; }
  .route-scene--violet { grid-row: auto; min-height: 590px; }
  .subject-module--science, .subject-module--french, .subject-module--spanish, .subject-module--ai { grid-column: span 6; }
  .subject-module--maths { grid-column: span 5; }
  .subject-module--field { grid-column: span 7; grid-row: span 3; }
  .page-lead, .library-lead, .grownup-lead { grid-template-columns: 1fr .68fr; }
  .page-lead h1, .library-lead h1, .grownup-lead h1 { font-size: clamp(52px,8vw,88px); }
  .atlas-journey__intro { position: static; }
  .project-shelf { gap: 45px; }
  .grownup-lead--teacher { grid-template-columns: 1fr .65fr; }
  .grownup-lead--teacher .button { position: absolute; bottom: 44px; left: clamp(40px,6vw,86px); }
  .dashboard-panel--wide, .dashboard-panel--quote, .dashboard-panel, .source-ledger, .teacher-route { grid-column: span 12; }
}

@media (max-width: 780px) {
  body.final-brand { background: var(--paper); }
  .learner-main, .grownup-main { padding-inline: 14px; }
  .topbar {
    top: 6px;
    grid-template-columns: 86px 1fr auto;
    width: calc(100% - 16px);
    min-height: 68px;
    margin: 8px auto 18px;
    padding: 7px 8px 7px 12px;
    border-radius: 25px 29px 27px 31px;
  }
  .topbar .brand { width: 75px; }
  .main-nav {
    position: fixed;
    z-index: 99;
    right: 8px;
    bottom: 8px;
    left: 8px;
    justify-content: space-around;
    padding: 6px;
    box-shadow: 0 15px 55px rgba(38,38,43,.22);
  }
  .main-nav button { min-height: 46px; padding: 8px 10px; font-size: 10px; }
  .main-nav button:last-child { display: none; }
  .role-menu__name { display: none; }
  .role-menu__trigger { min-height: 48px; padding: 4px; }
  .role-menu__chevron { display: none; }
  .learner-avatar { width: 40px; height: 40px; }

  .learner-main--after-approved { padding-top: 58px; }
  .route-section { padding: 38px 18px 24px; border-radius: 38px 54px 43px 50px / 50px 38px 58px 41px; }
  .section-title { margin-bottom: 38px; }
  .section-title h2, .subject-modules__lead h2 { font-size: clamp(43px,13vw,64px); }
  .section-title > p { font-size: 16px; }
  .route-scene, .route-scene--violet { grid-template-columns: 1fr; min-height: 540px; padding: 23px; }
  .route-scene--yellow, .route-scene--pink { min-height: 450px; }
  .route-scene__image, .route-scene--violet .route-scene__image { position: absolute; right: -4%; bottom: 0; width: 66%; height: 72%; margin: 0; opacity: .92; }
  .route-scene__copy { max-width: 72%; }
  .route-scene__copy h3 { font-size: 34px; }
  .route-scene__buddy { left: auto; right: 8%; }
  .field-mission { grid-template-columns: 50px 1fr; padding: 24px 20px; }
  .field-mission__index { width: 48px; height: 48px; }
  .field-mission__buddy { display: none; }
  .field-mission .button { grid-column: span 2; width: 100%; }

  .subject-modules { padding-top: 90px; }
  .subject-modules__lead { margin-bottom: 38px; }
  .subject-modules__grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; }
  .subject-module, .subject-module--science, .subject-module--french, .subject-module--spanish, .subject-module--ai, .subject-module--maths, .subject-module--field { grid-column: 1; grid-row: auto; min-height: 330px; }
  .subject-module--field { min-height: 260px; }
  .subject-module strong { font-size: 38px; }

  .editorial-page { padding-top: 0; }
  .page-lead, .library-lead, .grownup-lead {
    grid-template-columns: 1fr;
    min-height: 680px;
    padding: 38px 24px;
    border-radius: 39px 55px 44px 58px / 50px 39px 62px 42px;
  }
  .page-lead h1, .library-lead h1, .grownup-lead h1 { font-size: clamp(48px,14vw,72px); }
  .page-lead h1 i, .library-lead h1 i, .grownup-lead h1 i { white-space: normal; }
  .page-lead__character { position: absolute; right: -8%; bottom: -5%; width: 78%; height: 48%; margin: 0; }
  .page-lead__copy { align-self: start; }
  .page-lead__stats { flex-wrap: wrap; }
  .atlas-journey { padding-top: 80px; }
  .territory { width: 95%; grid-template-columns: 50px 1fr; padding: 20px; }
  .territory strong { font-size: 25px; }
  .territory em { grid-column: 2; grid-row: 3; justify-self: start; }
  .territory small { grid-column: 2; }

  .page-lead--studio .page-lead__character { height: 43%; }
  .project-list { grid-template-columns: 1fr; }
  .project-card, .project-card--lime { grid-column: 1; min-height: 410px; }
  .library-lead { min-height: 600px; }
  .library-lead__search { align-self: end; }
.library-lead__search .goodie-companion { right: 0; }
  .publication-grid { grid-template-columns: 1fr; }
  .publication, .publication:nth-child(2), .publication:nth-child(3) { grid-column: 1; min-height: 500px; }
  .field-sun { width: 80%; }
  .field-trail { padding-top: 80px; }
  .field-steps article, .field-steps article:nth-child(2), .field-steps article:nth-child(3) { margin-left: 0; padding-left: 125px; }

  .grownup-lead__week { align-self: end; width: 280px; min-height: 230px; margin: 0 auto; padding: 30px; }
  .grownup-lead__week > strong { font-size: 60px; }
  .dashboard-grid, .teacher-grid { grid-template-columns: 1fr; }
  .dashboard-panel, .dashboard-panel--wide, .dashboard-panel--quote, .source-ledger, .teacher-route, .evidence-panel { grid-column: 1; padding: 25px 20px; }
  .competency-table > div { grid-template-columns: 1fr 44px; }
  .competency-table > div > i { grid-column: 1 / span 2; }
  .dashboard-panel--ai ol { width: 100%; padding-bottom: 250px; }
  .dashboard-panel--ai .teacher-cutout { right: 0; width: 74%; height: 45%; }
  .grownup-lead--teacher { min-height: 760px; }
  .grownup-lead--teacher .button { bottom: 26px; left: 24px; right: 24px; width: calc(100% - 48px); }
  .teacher-team { position: absolute; right: -7%; bottom: 50px; width: 85%; height: 330px; margin: 0; }
  .evidence-list { grid-template-columns: 1fr; }

  .lesson-shell { padding: 7px; }
  .lesson-header { grid-template-columns: 78px 1fr 44px; min-height: 66px; padding: 7px 9px; border-radius: 24px; }
  .lesson-header .brand { width: 72px; }
  .lesson-progress span { font-size: 0; }
  .lesson-progress span i { width: 12px; height: 12px; }
  .lesson-layout { grid-template-columns: 1fr; min-height: 0; }
  .lesson-guide { min-height: 260px; border-radius: 36px 45px 38px 48px; }
  .lesson-guide img { position: absolute; right: -20px; bottom: -70px; width: 67%; height: 110%; margin: 0; }
  .voice-note { right: 15px; bottom: 15px; }
  .lesson-workspace { min-height: 650px; padding: 34px 22px; border-radius: 39px 52px 42px 56px; }
  .lesson-workspace h2 { font-size: clamp(48px,13vw,68px); }
  .lesson-actions { align-items: stretch; flex-direction: column; }
  .lesson-complete .complete-mark { position: static; margin: 0 0 30px auto; }
}

@media (max-width: 520px) {
  .main-nav button { padding-inline: 7px; font-size: 9px; }
  .main-nav button[data-view="library"] { display: none; }
  .page-lead__stats { display: none; }
  .subject-module .teacher-cutout { width: 88%; opacity: .9; }
  .subject-module--teacher strong, .subject-module--teacher small { max-width: 52%; }
  .field-steps article { padding: 25px 20px 25px 112px; }
  .route-row { grid-template-columns: 38px 1fr 34px; }
  .route-row > i { grid-column: 2; justify-self: start; }
  .route-row > button { grid-column: 3; grid-row: 1 / span 2; }
}

/* ========================================================================== */
/* PRODUCT ARCHITECTURE EXPANSION — schedule, classes, play and progress      */
/* ========================================================================== */

.topbar-tools, .approved-header__tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.language-switch {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: center;
  gap: 4px;
  width: 94px;
  min-width: 94px;
  min-height: 46px;
  padding: 4px;
  border: 0;
  border-radius: 999px;
  background: var(--oat);
  box-shadow: inset 0 0 0 1px rgba(38,38,43,.08);
  cursor: pointer;
}

.language-switch span {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 38px;
  border-radius: 999px;
  color: var(--ink);
  font: 850 11px var(--font-display);
  place-items: center;
}

.language-switch span.is-active { background: var(--violet); color: white; box-shadow: 0 4px 0 rgba(38,38,43,.12); }

.approved-header__tools .language-switch { background: rgba(255,255,255,.82); }
.approved-header__tools .language-switch span { color: var(--ink); }
.approved-header__tools .language-switch span.is-active { background: var(--violet); color: white; }

/* Schedule — a day river instead of a corporate calendar */
.schedule-page { padding-top: 6px; }

.schedule-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(340px,.65fr);
  align-items: center;
  gap: clamp(40px,7vw,110px);
  min-height: 590px;
  padding: clamp(42px,6vw,86px);
  border-radius: 65px 112px 78px 104px / 86px 58px 111px 69px;
  background: var(--oat);
  overflow: hidden;
}

.schedule-hero::before {
  position: absolute;
  top: -24%;
  right: 25%;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: var(--pink);
  content: "";
  opacity: .75;
}

.schedule-hero h1,
.classes-hero h1,
.recreation-hero h1,
.progress-hero h1 {
  position: relative;
  margin: 24px 0;
  font-size: clamp(58px,7.5vw,116px);
  letter-spacing: -.075em;
  line-height: .84;
}

.schedule-hero h1 i { color: var(--violet); }
.schedule-hero > div:first-child { position: relative; z-index: 2; }
.schedule-hero > div:first-child > p { max-width: 590px; color: var(--muted); font-size: 19px; line-height: 1.5; }

.schedule-now {
  position: relative;
  display: flex;
  min-height: 410px;
  padding: 32px;
  border-radius: 58% 42% 51% 49% / 45% 56% 44% 55%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  background: var(--violet);
  color: white;
  box-shadow: 0 28px 65px rgba(146,103,234,.24);
  overflow: hidden;
  transform: rotate(2deg);
}

.schedule-now > span { position: relative; z-index: 4; padding: 7px 10px; border-radius: 999px; background: var(--acid); color: var(--ink); font: 750 10px var(--font-display); text-transform: uppercase; }
.schedule-now > strong { position: relative; z-index: 4; max-width: 55%; margin-top: 18px; font-size: clamp(30px,3vw,48px); letter-spacing: -.05em; line-height: .95; }
.schedule-now > small { position: relative; z-index: 4; max-width: 52%; margin-top: 8px; opacity: .75; }
.schedule-now .teacher-cutout { position: absolute; z-index: 2; right: -16%; bottom: -4%; width: 82%; height: 88%; }
.schedule-now button { position: absolute; z-index: 5; right: 17%; bottom: 34px; min-height: 48px; padding: 11px 17px; border: 0; border-radius: 999px; background: white; color: var(--ink); font-weight: 750; cursor: pointer; }

.schedule-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: clamp(70px,9vw,125px) clamp(8px,3vw,38px) 40px;
}

.schedule-toolbar > div { display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; background: var(--soft); }
.schedule-toolbar button { min-height: 45px; padding: 9px 18px; border: 0; border-radius: 999px; background: transparent; cursor: pointer; }
.schedule-toolbar button.is-active { background: var(--ink); color: white; }
.schedule-toolbar > span { color: var(--muted); font-size: 14px; }

.day-river { position: relative; display: grid; gap: 24px; max-width: 1150px; margin: 0 auto; padding: 25px 0 60px; }
.day-river__line { position: absolute; z-index: -1; top: 4%; bottom: 4%; left: 91px; border-left: 6px dotted rgba(38,38,43,.15); }

.day-stop {
  position: relative;
  display: grid;
  grid-template-columns: 82px minmax(0,1fr) 130px auto;
  align-items: center;
  gap: clamp(15px,3vw,35px);
  width: 91%;
  min-height: 175px;
  padding: 25px 28px 25px 20px;
  border-radius: 42px 58px 46px 62px / 54px 43px 63px 46px;
  background: var(--soft);
  box-shadow: var(--soft-shadow-small);
  transition: transform .3s var(--ease-spring);
}

.day-stop:nth-of-type(even) { justify-self: end; }
.day-stop:hover { z-index: 2; transform: translateY(-5px) rotate(-.3deg); }
.day-stop time { display: grid; width: 68px; height: 68px; border-radius: 50%; background: white; font: 750 16px var(--font-display); place-items: center; }
.day-stop > div > span { font: 750 11px var(--font-display); letter-spacing: .07em; text-transform: uppercase; }
.day-stop h2 { margin: 7px 0 4px; font-size: clamp(25px,2.5vw,40px); letter-spacing: -.045em; line-height: 1; }
.day-stop small { color: var(--muted); }
.day-stop > .subject-glyph { width: 110px; height: 105px; }
.day-stop > .goodie-companion { width: 105px; height: 88px; }
.day-stop > button { min-height: 43px; padding: 9px 14px; border: 0; border-radius: 999px; background: white; cursor: pointer; }
.day-stop--done { background: var(--oat); opacity: .78; }
.day-stop--live { width: 97%; background: var(--acid); box-shadow: 0 25px 60px rgba(126,167,4,.2); transform: scale(1.015); }
.day-stop--break { width: 76%; background: var(--sun); }
.day-stop--next { background: var(--pink); }
.day-stop--play { width: 84%; background: var(--emerald); color: white; }
.day-stop--play small { color: rgba(255,255,255,.72); }
.break-sun { font-size: 76px; text-align: center; }

.week-rhythm { display: grid; grid-template-columns: repeat(10,1fr); gap: 16px; padding-bottom: 70px; }
.week-day { position: relative; display: flex; grid-column: span 2; min-height: 380px; padding: 24px; border: 0; border-radius: 43px 57px 47px 63px / 56px 42px 64px 45px; flex-direction: column; align-items: flex-start; justify-content: flex-end; text-align: left; cursor: pointer; box-shadow: var(--soft-shadow-small); transition: transform .3s var(--ease-spring); }
.week-day:hover { transform: translateY(-8px); }
.week-day > span { position: absolute; top: 22px; left: 22px; font: 760 12px var(--font-display); }
.week-day > b { font: 780 clamp(76px,7vw,115px)/.8 var(--font-display); letter-spacing: -.08em; }
.week-day > strong { margin-top: 18px; font-size: 22px; line-height: 1; }
.week-day > small { margin-top: 5px; opacity: .65; }
.week-day--violet { background: var(--violet); color: white; }
.week-day--lime { background: var(--acid); }
.week-day--coral { background: var(--coral); }
.week-day--pink { background: var(--pink); }
.week-day--yellow { background: var(--sun); }
.week-day.is-today::after { position: absolute; top: 16px; right: 16px; width: 15px; height: 15px; border: 4px solid white; border-radius: 50%; background: var(--coral); content: ""; }
.week-balance { position: relative; grid-column: span 10; min-height: 230px; padding: 34px 180px 34px 38px; border-radius: 44px 61px 48px 65px; background: var(--ink); color: white; overflow: hidden; }
.week-balance h2 { margin: 13px 0 4px; font-size: 54px; letter-spacing: -.05em; }
.week-balance p { margin: 0; opacity: .67; }
.week-balance .goodie-companion { position: absolute; right: 50px; bottom: 35px; }

/* Class directory — a portal garden */
.classes-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) .65fr;
  align-items: center;
  min-height: 530px;
  padding: clamp(40px,6vw,84px);
  border-radius: 65px 108px 76px 102px / 81px 58px 109px 68px;
  background: var(--soft);
  overflow: hidden;
}
.classes-hero h1 i { color: var(--coral); }
.classes-hero p { max-width: 580px; color: var(--muted); font-size: 19px; line-height: 1.5; }
.classes-constellation { position: relative; height: 100%; min-height: 360px; }
.classes-constellation .goodie-companion { position: absolute; }
.classes-constellation .goodie-companion:nth-of-type(1) { top: 10%; right: 37%; width: 145px; height: 120px; }
.classes-constellation .goodie-companion:nth-of-type(2) { right: 0; bottom: 13%; width: 105px; height: 88px; }
.classes-constellation .goodie-companion:nth-of-type(3) { bottom: 0; left: 7%; width: 122px; height: 103px; }
.classes-constellation > i { position: absolute; width: 38%; border-top: 5px dotted rgba(38,38,43,.2); }
.classes-constellation > i:nth-last-child(3) { top: 31%; right: 9%; transform: rotate(25deg); }
.classes-constellation > i:nth-last-child(2) { right: 29%; bottom: 23%; transform: rotate(-26deg); }
.classes-constellation > i:nth-last-child(1) { bottom: 33%; left: 16%; transform: rotate(62deg); }

.class-portals { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 130px; gap: 18px; padding-top: clamp(70px,10vw,140px); }
.class-portal {
  position: relative;
  display: flex;
  min-height: 380px;
  padding: 28px;
  border: 0;
  border-radius: 48px 66px 51px 70px / 60px 45px 69px 46px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: hidden;
  text-align: left;
  cursor: pointer;
  box-shadow: var(--soft-shadow-small);
  transition: transform .35s var(--ease-spring), border-radius .4s ease;
}
.class-portal:hover { z-index: 3; border-radius: 58px 46px 70px 45px / 45px 63px 43px 67px; transform: translateY(-10px) rotate(-.6deg); }
.class-portal > span { position: absolute; z-index: 4; top: 24px; left: 25px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.78); color: var(--ink); font: 750 10px var(--font-display); text-transform: uppercase; }
.class-portal h2 { position: relative; z-index: 4; margin: 0; font-size: clamp(40px,4.8vw,74px); letter-spacing: -.065em; line-height: .88; }
.class-portal p { position: relative; z-index: 4; max-width: 43%; margin: 12px 0 20px; font-size: 16px; line-height: 1.35; }
.class-portal > b { position: relative; z-index: 4; padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.75); color: var(--ink); font-size: 11px; }
.class-portal .teacher-cutout { position: absolute; z-index: 2; right: -7%; bottom: -4%; width: 68%; height: 92%; transition: transform .5s var(--ease-spring); }
.class-portal:hover .teacher-cutout { transform: translateY(-5px) scale(1.04); }
.class-portal--maths .teacher-cutout { right: -20%; width: 82%; }
.class-portal--history .teacher-cutout { right: -2%; width: 54%; }
.class-portal--arts .teacher-cutout { right: -25%; width: 90%; }
.class-portal > .subject-glyph { position: absolute; z-index: 1; top: 18%; right: 6%; width: 48%; height: 58%; }
.class-portal > .goodie-companion { position: absolute; z-index: 2; right: 10%; bottom: 18%; }
.class-portal--science { grid-column: span 7; grid-row: span 4; background: var(--violet); color: white; }
.class-portal--french { grid-column: span 5; grid-row: span 4; background: var(--coral); }
.class-portal--maths { grid-column: span 4; grid-row: span 3; background: var(--acid); }
.class-portal--spanish { grid-column: span 8; grid-row: span 3; background: var(--sun); }
.class-portal--ai { grid-column: span 6; grid-row: span 4; background: var(--pink); }
.class-portal--english { grid-column: span 6; grid-row: span 4; background: var(--oat); }
.class-portal--history { grid-column: span 8; grid-row: span 3; background: var(--emerald); color: white; }
.class-portal--arts { grid-column: span 4; grid-row: span 3; background: var(--violet); color: white; }

/* Dedicated class worlds: shared accessibility, distinct spatial metaphors */
.class-world-main { padding-top: 2px; }
.class-world { position: relative; }
.class-back { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; margin: 0 0 14px 10px; padding: 9px 14px; border: 0; border-radius: 999px; background: var(--soft); font-weight: 700; cursor: pointer; }

.science-world__hero,
.french-stage,
.postcard-hero,
.pattern-hero,
.ai-lab-hero,
.voice-stage,
.time-river-hero,
.rehearsal-hero {
  position: relative;
  min-height: 650px;
  padding: clamp(42px,6vw,88px);
  border-radius: 66px 112px 76px 108px / 86px 58px 114px 68px;
  overflow: hidden;
  isolation: isolate;
}

.class-world header h1 { width:100%; margin:22px 0; font-size:clamp(58px,6.2vw,100px); letter-spacing:-.075em; line-height:.84; }
.class-world>header h1 i { display:block; max-width:100%; white-space:normal; }
.class-world header p { max-width: 590px; font-size: 19px; line-height: 1.5; }

/* Science — luminous glass lab */
.science-world__hero { display: grid; grid-template-columns: 1fr .75fr; background: var(--violet); color: white; }
.science-world__hero h1 i { color: var(--acid); }
.science-world__hero > div:first-child { position: relative; z-index: 4; align-self: center; }
.science-world__hero > .teacher-cutout { position: absolute; z-index: 2; right: -3%; bottom: -4%; width: 58%; height: 97%; }
.lab-bubbles i { position: absolute; z-index: 1; border: 3px solid rgba(255,255,255,.37); border-radius: 50%; }
.lab-bubbles i:nth-child(1) { top: 10%; right: 42%; width: 60px; height: 60px; }
.lab-bubbles i:nth-child(2) { top: 22%; right: 6%; width: 120px; height: 120px; }
.lab-bubbles i:nth-child(3) { right: 34%; bottom: 7%; width: 45px; height: 45px; }
.science-bench { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; padding-top: 70px; }
.science-bench > article { position: relative; padding: 35px; border-radius: 52px 78px 58px 70px; background: var(--soft); overflow: hidden; }
.science-bench h2 { margin: 14px 0 22px; font-size: clamp(34px,3.5vw,58px); letter-spacing: -.055em; line-height: .95; }
.mission-specimen { grid-row: span 2; min-height: 610px; background: var(--oat) !important; }
.specimen-orb { display: grid; min-height: 280px; margin: 20px 0; border-radius: 48% 52% 55% 45% / 58% 45% 55% 42%; background: var(--violet); place-items: center; }
.specimen-orb .goodie-companion { width: 150px; height: 125px; }
.mission-specimen dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 0; }
.mission-specimen dl div { padding: 14px; border-radius: 22px; background: white; }
.mission-specimen dt { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.mission-specimen dd { margin: 4px 0 0; font-weight: 700; }
.lab-notebook { min-height: 390px; }
.lab-notebook button { display: grid; grid-template-columns: 42px 1fr; gap: 3px 12px; width: 100%; padding: 14px 0; border: 0; border-top: 1px solid rgba(38,38,43,.1); background: transparent; text-align: left; cursor: pointer; }
.lab-notebook button b { display: grid; grid-row: span 2; width: 40px; height: 40px; border-radius: 50%; background: var(--acid); place-items: center; }
.lab-notebook button small { color: var(--muted); }
.class-checkpoint { min-height: 200px; background: var(--violet) !important; color: white; }
.class-checkpoint span, .class-checkpoint strong, .class-checkpoint small { display: block; }
.class-checkpoint strong { margin: 12px 0 4px; font: 750 30px var(--font-display); }
.class-checkpoint small { opacity: .65; }
.class-checkpoint button { margin-top: 20px; padding: 10px 14px; border: 0; border-radius: 999px; background: var(--acid); cursor: pointer; }

/* Canonical class architecture — Science clarity, subject-specific worlds.
   Copy-bearing surfaces use bounded corner radii and explicit safe zones.
   Organic decoration never defines the text box itself. */
.class-learning-deck {
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);
  gap:20px;
  padding-top:70px;
}
.class-learning-deck>article {
  position:relative;
  min-width:0;
  padding:clamp(28px,3.2vw,46px);
  overflow:hidden;
  border-radius:52px 78px 58px 70px;
  box-shadow:0 14px 0 rgba(38,38,43,.08);
}
.class-learning-deck>article::after {
  position:absolute;
  z-index:0;
  width:170px;
  aspect-ratio:1.35;
  border-radius:64px 92px 57px 83px;
  content:"";
  pointer-events:none;
  transform:rotate(-12deg);
}
.class-learning-deck>article>* { position:relative; z-index:1; }
.class-learning-deck__current {
  grid-row:span 2;
  display:grid;
  min-height:610px;
  grid-template-columns:minmax(0,1fr) minmax(210px,.72fr);
  grid-template-rows:1fr auto;
  gap:28px;
  background:var(--oat);
}
.class-learning-deck__current::after { right:-55px; bottom:115px; background:rgba(255,255,255,.5); }
.class-learning-deck__copy { align-self:start; }
.class-learning-deck__copy>span,
.class-learning-deck__evidence>span,
.class-learning-deck__checkpoint>span {
  font:800 11px/1 var(--font-display);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.class-learning-deck h2 {
  margin:16px 0 18px;
  font-size:clamp(38px,4vw,64px);
  line-height:.9;
  letter-spacing:-.06em;
}
.class-learning-deck__copy p { max-width:610px; margin:0; font-size:17px; line-height:1.48; }
.class-learning-deck__copy>button,
.class-learning-deck__checkpoint>button {
  display:inline-flex;
  min-height:54px;
  margin-top:26px;
  padding:11px 14px 11px 20px;
  align-items:center;
  gap:20px;
  border:0;
  border-radius:999px;
  background:var(--violet);
  color:white;
  font:780 13px var(--font-display);
  cursor:pointer;
}
.class-learning-deck__copy>button b { color:var(--acid); font-size:20px; }
.class-learning-deck__visual {
  display:grid;
  min-height:300px;
  align-self:stretch;
  place-items:center;
  overflow:hidden;
  border-radius:58px 82px 66px 74px;
  background:var(--violet);
}
.class-learning-deck__visual .goodie-companion { width:min(115%,330px); height:auto; }
.class-learning-deck__current dl {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0;
}
.class-learning-deck__current dl div { min-width:0; padding:15px 16px; border-radius:22px 29px 24px 27px; background:rgba(255,255,255,.82); }
.class-learning-deck__current dt { color:var(--muted); font:800 9px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }
.class-learning-deck__current dd { margin:7px 0 0; font-size:13px; font-weight:750; line-height:1.25; }
.class-learning-deck__evidence { min-height:390px; background:var(--soft); }
.class-learning-deck__evidence::after { top:-40px; right:-50px; background:var(--pink); opacity:.68; }
.class-learning-deck__evidence button {
  display:grid;
  width:100%;
  min-height:78px;
  padding:14px 2px;
  grid-template-columns:46px minmax(0,1fr) 28px;
  align-items:center;
  gap:12px;
  border:0;
  border-top:1px solid rgba(38,38,43,.14);
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.class-learning-deck__evidence button>b { display:grid; width:44px; height:44px; border-radius:50%; background:var(--acid); place-items:center; font-size:11px; }
.class-learning-deck__evidence button>span { min-width:0; font:760 15px/1.15 var(--font-display); }
.class-learning-deck__evidence button small { display:block; margin-top:5px; color:var(--muted); font:600 11px/1.2 var(--font-body); }
.class-learning-deck__evidence button>i { font-style:normal; font-size:18px; transition:transform .2s var(--ease-spring); }
.class-learning-deck__evidence button:hover>i { transform:translate(4px,-4px); }
.class-learning-deck__checkpoint { min-height:200px; background:var(--violet); color:white; }
.class-learning-deck__checkpoint::after { right:-36px; bottom:-36px; background:var(--acid); opacity:.92; }
.class-learning-deck__checkpoint strong,
.class-learning-deck__checkpoint small { display:block; max-width:78%; }
.class-learning-deck__checkpoint strong { margin:15px 0 7px; font:780 clamp(25px,2.4vw,36px)/.98 var(--font-display); letter-spacing:-.04em; }
.class-learning-deck__checkpoint small { opacity:.8; font-size:12px; line-height:1.35; }
.class-learning-deck__checkpoint>button { min-height:44px; margin-top:20px; padding:9px 14px; background:white; color:var(--ink); }
.class-learning-deck--french .class-learning-deck__visual { background:var(--violet); }
.class-learning-deck--french .class-learning-deck__checkpoint { background:var(--coral); color:var(--ink); }
.class-learning-deck--spanish .class-learning-deck__visual { background:var(--violet); }
.class-learning-deck--spanish .class-learning-deck__checkpoint { background:var(--coral); color:var(--ink); }
.class-learning-deck--maths .class-learning-deck__visual { background:var(--pink); }
.class-learning-deck--ai .class-learning-deck__visual { background:var(--violet); }
.class-learning-deck--ai .class-learning-deck__checkpoint { background:var(--emerald); }
.class-learning-deck--english .class-learning-deck__visual { background:var(--violet); }
.class-learning-deck--english .class-learning-deck__checkpoint { background:var(--coral); color:var(--ink); }
.class-learning-deck--history .class-learning-deck__visual { background:var(--coral); }
.class-learning-deck--history .class-learning-deck__checkpoint { background:var(--emerald); }
.class-learning-deck--arts .class-learning-deck__visual { background:var(--emerald); }

/* French — paper theatre */
.french-stage { display: grid; grid-template-columns: 1fr .72fr; background: var(--coral); }
.french-stage::before, .french-stage::after { position: absolute; z-index: -1; top: -10%; bottom: -10%; width: 18%; background: var(--coral); content: ""; filter: brightness(.9) drop-shadow(8px 0 0 rgba(38,38,43,.08)); }
.french-stage::before { left: -5%; border-radius: 0 70% 55% 0; transform: rotate(-4deg); }
.french-stage::after { right: -5%; border-radius: 70% 0 0 55%; transform: rotate(4deg); }
.french-stage__copy { position: relative; z-index: 4; align-self: center; }
.french-stage h1 i { color: white; }
.french-stage > .teacher-cutout { position: absolute; z-index: 2; right: 2%; bottom: -5%; width: 52%; height: 96%; }
.paper-birds i { position: absolute; z-index: 3; width: 35px; height: 15px; border-top: 4px solid var(--ink); border-radius: 50%; transform: rotate(18deg); }
.paper-birds i:nth-child(1) { top: 17%; right: 39%; }
.paper-birds i:nth-child(2) { top: 25%; right: 7%; transform: rotate(-9deg); }
.paper-birds i:nth-child(3) { bottom: 18%; right: 45%; }
.french-desks { display: grid; grid-template-columns: repeat(12,1fr); gap: 20px; padding-top: 70px; }
.french-desks article { padding: 34px; border-radius: 46px 64px 49px 67px / 57px 44px 65px 46px; background: var(--soft); }
.french-desks article:nth-child(1) { grid-column: span 7; min-height: 360px; background: var(--oat); }
.french-desks article:nth-child(2) { grid-column: span 5; background: var(--pink); }
.french-desks article:nth-child(3) { grid-column: span 12; min-height: 280px; background: var(--ink); color: white; }
.french-desks h2 { margin: 14px 0; font-size: clamp(38px,4.5vw,68px); letter-spacing: -.06em; line-height: .92; }
.book-progress { height: 22px; margin-top: 50px; border-radius: 999px; background: white; overflow: hidden; }
.book-progress i { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: var(--coral); }
.word-play > div { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 35px; }
.word-play b { padding: 10px 13px; border-radius: 999px; background: white; }
.oral-booth button { padding: 12px 17px; border: 0; border-radius: 999px; background: var(--coral); cursor: pointer; }

/* Spanish — travelling postcard */
.postcard-hero { display: grid; grid-template-columns: 1fr .72fr; background: var(--sun); }
.postcard-hero h1 i { color: var(--coral); }
.postcard-hero > div:nth-child(2) { position: relative; z-index: 4; align-self: center; }
.postcard-hero > .teacher-cutout { position: absolute; z-index: 2; right: -2%; bottom: -4%; width: 55%; height: 98%; }
.postcard-stamp { position: absolute; z-index: 5; top: 35px; right: 40px; display: grid; width: 100px; height: 115px; border: 4px dotted var(--ink); background: var(--oat); font: 800 30px/1 var(--font-display); place-items: center; transform: rotate(6deg); }
.postcard-stamp b { font-size: 15px; }
.postcard-sun { position: absolute; z-index: 0; right: 20%; bottom: -28%; width: 520px; height: 520px; border-radius: 50%; background: var(--coral); }
.travel-trail { display: grid; grid-template-columns: repeat(12,1fr); gap: 20px; padding-top: 70px; }
.travel-trail article { padding: 34px; border-radius: 46px 63px 48px 67px / 58px 44px 66px 46px; background: var(--soft); }
.passport-card { grid-column: span 4; min-height: 400px; background: var(--violet) !important; color: white; transform: rotate(-1.5deg); }
.passport-card h2 { margin: 45px 0; font-size: 92px; letter-spacing: -.08em; }
.passport-card h2 small { display: block; font: 16px var(--font-body); letter-spacing: 0; }
.passport-card > div { display: flex; flex-wrap: wrap; gap: 7px; }
.passport-card b { padding: 8px 10px; border-radius: 999px; background: white; color: var(--ink); font-size: 12px; }
.dialogue-stop { grid-column: span 5; min-height: 400px; background: var(--oat) !important; }
.dialogue-stop h2, .culture-postcard h2 { margin: 38px 0 12px; font-size: clamp(38px,4vw,64px); letter-spacing: -.06em; line-height: .92; }
.dialogue-stop button { margin-top: 35px; padding: 11px 15px; border: 0; border-radius: 999px; background: var(--ink); color: white; cursor: pointer; }
.culture-postcard { position: relative; grid-column: span 3; min-height: 400px; background: var(--coral) !important; overflow: hidden; }
.culture-postcard .goodie-companion { position: absolute; right: -10px; bottom: 13px; width: 85px; height: 72px; }

/* Maths — physical pattern landscape */
.pattern-hero { display: grid; grid-template-columns: 1fr .72fr; align-items: center; background: var(--acid); }
.pattern-hero h1 i { color: var(--violet); }
.fraction-sculpture { position: relative; align-self: center; height: 450px; }
.fraction-sculpture > i { position: absolute; border-radius: 48% 52% 46% 54% / 55% 43% 57% 45%; box-shadow: var(--soft-shadow-small); }
.fraction-sculpture > i:nth-child(1) { top: 3%; left: 12%; width: 170px; height: 170px; background: var(--violet); }
.fraction-sculpture > i:nth-child(2) { top: 9%; right: 8%; width: 130px; height: 210px; background: var(--pink); }
.fraction-sculpture > i:nth-child(3) { bottom: 2%; left: 3%; width: 230px; height: 160px; background: var(--coral); }
.fraction-sculpture > i:nth-child(4) { right: 5%; bottom: 3%; width: 180px; height: 180px; background: var(--sun); }
.fraction-sculpture .teacher-cutout { position: absolute; z-index: 3; right: -8%; bottom: -8%; width: 84%; height: 108%; object-position: right bottom; }
.fraction-sculpture .goodie-companion { position: absolute; z-index: 4; top: 18%; left: 2%; }
.math-path { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding-top: 70px; }
.math-path article { display: grid; min-height: 300px; padding: 30px; border-radius: 46px 64px 49px 67px / 58px 44px 65px 46px; background: var(--soft); }
.math-path article:nth-child(2) { background: var(--pink); }
.math-path article:nth-child(3) { background: var(--violet); color: white; }
.math-path b { font: 800 clamp(72px,8vw,124px)/.9 var(--font-display); letter-spacing: -.08em; }
.math-path span { align-self: end; font-size: 20px; }
.math-path strong { align-self: end; justify-self: start; padding: 7px 10px; border-radius: 999px; background: white; color: var(--ink); font-size: 11px; }
.math-strategy { position: relative; min-height: 300px; margin-top: 20px; padding: 42px 260px 42px 45px; border-radius: 48px 67px 51px 70px; background: var(--ink); color: white; overflow: hidden; }
.math-strategy blockquote { max-width: 850px; margin: 20px 0 0; font: 730 clamp(32px,4vw,60px)/1 var(--font-display); letter-spacing: -.05em; }
.math-strategy .subject-glyph { position: absolute; right: 45px; bottom: 25px; width: 180px; height: 180px; --glyph-parent-color: var(--acid); }

/* AI — soft future studio */
.ai-lab-hero { display: grid; grid-template-columns: 1fr .72fr; background: var(--pink); }
.ai-lab-hero h1 i { color: var(--violet); }
.ai-lab-hero > div:first-child { position: relative; z-index: 4; align-self: center; }
.ai-lab-hero > .teacher-cutout { position: absolute; z-index: 3; right: -1%; bottom: -4%; width: 56%; height: 97%; }
.ai-orbs i { position: absolute; z-index: 1; border-radius: 50%; filter: blur(1px); }
.ai-orbs i:nth-child(1) { top: 8%; right: 36%; width: 120px; height: 120px; background: var(--acid); }
.ai-orbs i:nth-child(2) { right: 3%; bottom: 8%; width: 230px; height: 230px; background: var(--violet); opacity: .48; }
.ai-orbs i:nth-child(3) { right: 43%; bottom: 11%; width: 70px; height: 70px; background: var(--coral); }
.ai-principles { display: grid; grid-template-columns: repeat(12,1fr); gap: 18px; padding-top: 70px; }
.ai-principles article { grid-column: span 3; min-height: 340px; padding: 30px; border-radius: 44px 62px 48px 65px / 56px 43px 64px 45px; background: var(--soft); }
.ai-principles article:nth-child(2) { background: var(--acid); transform: translateY(40px); }
.ai-principles article:nth-child(3) { background: var(--violet); color: white; }
.ai-principles article:nth-child(4) { background: var(--coral); transform: translateY(40px); }
.ai-principles span { display: grid; width: 48px; height: 48px; border-radius: 50%; background: white; color: var(--ink); font-weight: 750; place-items: center; }
.ai-principles h2 { margin: 70px 0 12px; font-size: clamp(32px,3vw,48px); letter-spacing: -.05em; line-height: .95; }
.ai-principles p { margin: 0; opacity: .72; font-size: 17px; }

/* English — voice stage */
.voice-stage { display: grid; grid-template-columns: 1fr .6fr; align-items: center; background: var(--violet); color: white; }
.voice-stage h1 i { color: var(--pink); }
.voice-stage__spotlight { position: absolute; z-index: -1; top: -13%; right: 2%; width: 43%; height: 126%; border-radius: 82px 118px 74px 106px; background: var(--pink); opacity:.66; transform:rotate(8deg); }
.voice-stage > div:nth-child(2) { position: relative; z-index: 4; }
.voice-stage > .teacher-cutout { position: absolute; z-index: 2; right: -1%; bottom: -5%; width: 53%; height: 96%; object-position: right bottom; }
.stage-microphone { position: relative; height: 450px; }
.stage-microphone > i { position: absolute; top: 13%; left: 50%; width: 82px; height: 130px; border: 9px solid var(--ink); border-radius: 50px; background: var(--soft); transform: translateX(-50%); }
.stage-microphone > i::after { position: absolute; right: -28px; bottom: -75px; width: 120px; height: 100px; border-right: 9px solid var(--ink); border-bottom: 9px solid var(--ink); border-left: 9px solid var(--ink); border-radius: 0 0 70px 70px; content: ""; }
.stage-microphone > b { position: absolute; bottom: 0; left: 50%; width: 12px; height: 210px; background: var(--ink); transform: translateX(-50%); }
.stage-microphone > b::after { position: absolute; bottom: 0; left: 50%; width: 170px; height: 12px; border-radius: 999px; background: var(--ink); content: ""; transform: translateX(-50%); }
.stage-microphone .goodie-companion { position: absolute; z-index: 4; right: -4%; bottom: 5%; }
.voice-setlist { display: grid; gap: 15px; padding-top: 70px; }
.voice-setlist article { display: grid; grid-template-columns: 70px 1fr auto; align-items: center; min-height: 120px; padding: 22px 30px; border-radius: 38px 54px 42px 57px; background: var(--soft); }
.voice-setlist article:nth-child(2) { width: 95%; margin-left: 5%; background: var(--pink); transform: scale(1.02); }
.voice-setlist article:nth-child(3) { width: 90%; background: var(--oat); }
.voice-setlist span { display: grid; width: 54px; height: 54px; border-radius: 50%; background: white; font-weight: 750; place-items: center; }
.voice-setlist strong { font-size: clamp(25px,2.7vw,40px); }
.voice-setlist small { color: var(--muted); }

/* History — time river */
.time-river-hero { display: grid; grid-template-columns: 1fr .72fr; align-items: center; background: var(--emerald); color: white; }
.time-river-hero h1 { font-size:clamp(56px,5.6vw,88px); }
.time-river-hero h1 i { display:block; max-width:8.5ch; }
.time-river-hero h1 i { color: var(--sun); }
.history-map { position: relative; min-height: 450px; border-radius: 54% 46% 58% 42% / 44% 57% 43% 56%; background: var(--oat); overflow: hidden; }
.history-map .subject-glyph { position: absolute; z-index: 0; top: 50%; left: 50%; width: 60%; height: 60%; opacity: .14; transform: translate(-50%,-50%); }
.history-map .teacher-cutout { position: absolute; z-index: 2; bottom: -6%; width: 68%; height: 95%; }
.history-map .teacher-cutout:nth-of-type(1) { left: -13%; }
.history-map .teacher-cutout:nth-of-type(2) { right: -17%; transform: scale(.86); transform-origin: bottom; }
.history-map i { position: absolute; z-index: 3; width: 22px; height: 22px; border: 5px solid var(--ink); border-radius: 50%; background: var(--coral); }
.history-map i:nth-of-type(1) { top: 20%; left: 21%; }
.history-map i:nth-of-type(2) { top: 48%; right: 17%; }
.history-map i:nth-of-type(3) { bottom: 15%; left: 38%; }
.timeline-stream { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding-top: 90px; }
.timeline-stream::before { position: absolute; top: 50px; right: 5%; left: 5%; border-top: 6px dotted rgba(38,38,43,.2); content: ""; }
.timeline-stream article { position: relative; min-height: 340px; padding: 32px; border-radius: 46px 63px 48px 67px; background: var(--soft); }
.timeline-stream article:nth-child(2) { background: var(--sun); transform: translateY(40px); }
.timeline-stream article:nth-child(3) { background: var(--pink); }
.timeline-stream time { display: grid; width: 76px; height: 76px; margin-top: -70px; border-radius: 50%; background: var(--ink); color: white; font: 750 17px var(--font-display); place-items: center; }
.timeline-stream h2 { margin: 50px 0 12px; font-size: clamp(32px,3.2vw,50px); letter-spacing: -.05em; line-height: .96; }

/* Arts — rehearsal room */
.rehearsal-hero { display: grid; grid-template-columns: 1fr .65fr; align-items: center; background: var(--violet); color: white; }
.rehearsal-hero h1 i { color: var(--sun); }
.music-blob { position: relative; min-height: 420px; border-radius: 48% 52% 42% 58% / 57% 44% 56% 43%; background: var(--coral); }
.music-blob .teacher-cutout { position: absolute; z-index: 2; bottom: -7%; width: 67%; height: 102%; }
.music-blob .teacher-cutout:nth-of-type(1) { left: -13%; }
.music-blob .teacher-cutout:nth-of-type(2) { right: -17%; transform: scale(.87); transform-origin: bottom; }
.music-blob .goodie-companion { position: absolute; z-index: 4; top: 8%; left: 42%; transform: scale(.88); }
.music-blob > i { position: absolute; color: var(--ink); font-size: 70px; }
.music-blob > i::before { content: "♪"; }
.music-blob > i:nth-of-type(1) { top: 10%; left: 14%; transform: rotate(-20deg); }
.music-blob > i:nth-of-type(2) { top: 17%; right: 11%; transform: rotate(20deg); }
.music-blob > i:nth-of-type(3) { right: 20%; bottom: 8%; transform: rotate(9deg); }
.creative-sessions { display: grid; grid-template-columns: 1.25fr .75fr; gap: 20px; padding-top: 70px; }
.creative-sessions article { min-height: 380px; padding: 35px; border-radius: 46px 64px 49px 67px; background: var(--soft); }
.creative-sessions article:first-child { background: var(--sun); }
.creative-sessions article:last-child { background: var(--pink); }
.creative-sessions h2 { margin: 40px 0 30px; font-size: clamp(40px,4.7vw,72px); letter-spacing: -.06em; line-height: .9; }
.creative-sessions h2 small { display: block; font: 17px var(--font-body); letter-spacing: 0; }
.creative-sessions button { padding: 12px 16px; border: 0; border-radius: 999px; background: var(--ink); color: white; cursor: pointer; }
.mini-art { display: flex; gap: 12px; }
.mini-art i { width: 44%; aspect-ratio: 1; border-radius: 46% 54% 58% 42% / 55% 42% 58% 45%; background: var(--violet); }
.mini-art i:last-child { background: var(--emerald); transform: rotate(8deg); }

/* Recreation — finite, personalized smart play */
.recreation-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .75fr;
  align-items: center;
  min-height: 650px;
  padding: clamp(42px,6vw,86px);
  border-radius: 65px 112px 76px 106px / 84px 59px 113px 68px;
  background: var(--emerald);
  color: white;
  overflow: hidden;
}
.recreation-hero h1 i { color: var(--sun); }
.recreation-hero p { max-width: 620px; font-size: 19px; line-height: 1.5; }
.word-quest { isolation:isolate; position:relative; margin-top:clamp(34px,5vw,76px); padding:clamp(30px,5vw,72px); overflow:hidden; color:var(--ink); border-radius:62px 44px 58px 46px / 48px 63px 42px 58px; background:var(--lime); box-shadow:0 25px 65px rgba(73,105,7,.22); }
.word-quest__grain { position:absolute; z-index:-1; inset:0; opacity:.21; background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.92) 0 2px,transparent 2.5px),radial-gradient(circle at 72% 65%,rgba(38,38,43,.23) 0 1.5px,transparent 2px); background-size:29px 31px,43px 47px; mix-blend-mode:soft-light; }
.word-quest__intro { display:grid; grid-template-columns:1fr auto; gap:45px; align-items:end; }.word-quest__intro h2 { max-width:800px; margin:16px 0 18px; font-size:clamp(50px,6vw,104px); letter-spacing:-.085em; line-height:.81; }.word-quest__intro h2 i { color:var(--violet); }.word-quest__intro p { max-width:660px; margin:0; font-size:18px; line-height:1.48; }
.word-quest__rule { position:relative; display:grid; width:210px; min-height:180px; padding:25px; align-items:end; overflow:hidden; border-radius:47% 53% 42% 58% / 43% 52% 48% 57%; background:var(--graphite); color:var(--soft-white); transform:rotate(4deg); }.word-quest__rule b { position:relative; z-index:2; font:800 54px/.7 var(--font-display); letter-spacing:-.07em; }.word-quest__rule span { position:relative; z-index:2; max-width:125px; margin-top:12px; font-size:11px; font-weight:700; line-height:1.2; }.word-quest__rule-blob { position:absolute; z-index:1; top:-20px; right:-18px; transform:scale(.82) rotate(-8deg); }
.word-quest__board { display:grid; grid-template-columns:minmax(360px,.87fr) minmax(380px,1.13fr); gap:clamp(28px,5vw,85px); align-items:center; margin-top:clamp(42px,7vw,95px); }.word-roulette-wrap { position:relative; display:grid; justify-items:center; }.word-roulette__arrow { position:absolute; z-index:4; top:-13px; color:var(--coral); font-size:42px; line-height:1; filter:drop-shadow(0 3px 0 var(--graphite)); }
.word-roulette { position:relative; display:grid; width:min(100%,430px); aspect-ratio:1; place-items:center; border:12px solid var(--graphite); border-radius:50%; background:var(--oat); box-shadow:0 13px 0 rgba(38,38,43,.17),inset 0 0 0 13px rgba(255,255,255,.6); }.word-roulette:before { position:absolute; inset:7%; border:2px dashed rgba(38,38,43,.45); border-radius:50%; content:''; }.word-roulette__dial { position:absolute; inset:0; border-radius:50%; }.word-roulette.is-spinning .word-roulette__dial { animation:word-roulette-spin 2.2s cubic-bezier(.13,.77,.12,1) both; }
.word-roulette__dial>span { position:absolute; top:50%; left:50%; display:grid; width:92px; height:60px; place-items:center; text-align:center; transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(-156px) rotate(calc(var(--word-position) * -45deg)); }.word-roulette__dial b { font:780 15px/.9 var(--font-display); letter-spacing:-.04em; }.word-roulette__dial small { margin-top:4px; font-size:8px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.word-roulette__core { position:relative; z-index:2; display:grid; width:43%; aspect-ratio:1; padding:14px; place-items:center; border:5px solid var(--graphite); border-radius:48% 52% 57% 43% / 47% 41% 59% 53%; background:var(--violet); color:var(--soft-white); box-shadow:0 7px 0 rgba(38,38,43,.22); transform:rotate(-6deg); }.word-roulette__core small { font:750 8px var(--font-display); letter-spacing:.09em; }.word-roulette__core strong { max-width:145px; overflow-wrap:anywhere; font:800 clamp(23px,3vw,38px)/.82 var(--font-display); letter-spacing:-.07em; text-align:center; }.word-roulette__core i { font-size:9px; font-style:normal; font-weight:800; text-transform:uppercase; }
.word-quest__spin { position:relative; z-index:5; display:flex; min-height:58px; margin-top:25px; padding:10px 14px 10px 22px; align-items:center; gap:16px; border:0; border-radius:999px; background:var(--graphite); color:var(--soft-white); font:750 14px var(--font-display); cursor:pointer; transition:transform .22s var(--ease-spring),background .2s; }.word-quest__spin b { display:grid; width:36px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--coral); color:var(--graphite); font-size:24px; }.word-quest__spin:hover:not(:disabled) { transform:rotate(-2deg) scale(1.04); }.word-quest__spin:disabled { cursor:default; opacity:.72; }
.word-quest__mission { position:relative; min-height:480px; padding:clamp(26px,4vw,52px); border-radius:48% 52% 42% 58% / 51% 44% 56% 49%; background:rgba(255,255,255,.8); box-shadow:0 16px 36px rgba(38,38,43,.12); }.word-quest__status>span,.word-quest__research>span,.word-quest__script>span { font:760 11px var(--font-display); letter-spacing:.09em; text-transform:uppercase; }.word-quest__status strong { display:block; margin:13px 0 9px; font:800 clamp(44px,5.3vw,82px)/.8 var(--font-display); letter-spacing:-.075em; overflow-wrap:anywhere; }.word-quest__status p { max-width:500px; margin:0; font-size:17px; font-weight:700; line-height:1.35; }
.word-quest__timer { position:relative; display:grid; width:205px; aspect-ratio:1; margin:24px 0 19px; place-items:center; }.word-quest__timer svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }.word-quest__timer circle { fill:none; stroke:rgba(38,38,43,.12); stroke-width:8; }.word-quest__timer .word-quest__timer-progress { stroke:var(--coral); stroke-linecap:round; stroke-dasharray:327; stroke-dashoffset:calc(327px * (1 - var(--timer-progress))); transition:stroke-dashoffset .5s linear; }.word-quest__timer>div { position:relative; z-index:1; display:grid; text-align:center; }.word-quest__timer small { font:760 9px var(--font-display); letter-spacing:.06em; text-transform:uppercase; }.word-quest__timer strong { margin:7px 0 3px; font:800 40px/.8 var(--font-display); letter-spacing:-.07em; }.word-quest__timer span { font-size:11px; font-weight:700; }
.word-quest__steps { display:flex; flex-wrap:wrap; gap:8px; }.word-quest__steps span { display:flex; padding:6px 10px; align-items:center; gap:6px; border-radius:999px; background:rgba(38,38,43,.08); font-size:10px; font-weight:750; }.word-quest__steps span.is-current { background:var(--violet); color:var(--soft-white); }.word-quest__steps b { font-family:var(--font-display); }
.word-quest__research { margin-top:20px; }.word-quest__research>div { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:10px; }.word-quest__research a { display:grid; min-height:76px; padding:12px; grid-template-columns:1fr auto; align-content:center; border-radius:25px 31px 23px 28px / 28px 23px 32px 24px; background:var(--soft-white); color:inherit; text-decoration:none; transition:transform .2s var(--ease-spring); }.word-quest__research a:hover { transform:translateY(-3px) rotate(-.5deg); }.word-quest__research a b { font:760 12px var(--font-display); }.word-quest__research a small { grid-row:2; font-size:9px; font-weight:700; }.word-quest__research a i { grid-column:2; grid-row:1 / span 2; align-self:center; font-style:normal; }.word-quest__research p { margin:12px 0 0; font-size:11px; line-height:1.35; }
.word-quest__script { margin-top:22px; padding:18px; border-radius:32px 24px 35px 27px / 29px 34px 25px 36px; background:var(--oat); }.word-quest__script ol { display:grid; gap:8px; margin:12px 0 0; padding:0; list-style:none; counter-reset:word-script; }.word-quest__script li { display:grid; grid-template-columns:25px 1fr; align-items:center; gap:9px; font-size:12px; font-weight:700; }.word-quest__script li:before { display:grid; width:23px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--coral); content:counter(word-script); counter-increment:word-script; font:750 11px var(--font-display); }
.word-quest__spotlight { display:flex; margin-top:23px; padding:18px; align-items:center; gap:15px; border-radius:40px 29px 36px 44px / 34px 42px 31px 45px; background:var(--violet); color:var(--soft-white); }.word-quest__spotlight b { color:var(--sun); font-size:42px; }.word-quest__spotlight p { margin:0; font-size:14px; font-weight:700; line-height:1.35; }.word-quest__controls { display:flex; flex-wrap:wrap; margin-top:22px; gap:9px; }.word-quest__controls button { min-height:48px; border:0; border-radius:999px; font:750 13px var(--font-display); cursor:pointer; }.word-quest__quiet { padding:10px 15px; background:rgba(38,38,43,.09); color:var(--ink); }.word-quest__next { display:flex; padding:10px 14px 10px 19px; align-items:center; gap:13px; background:var(--graphite); color:var(--soft-white); }.word-quest__next b { display:grid; width:27px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--lime); color:var(--graphite); }
.word-quest__promise { display:flex; margin-top:clamp(38px,6vw,74px); align-items:center; justify-content:center; gap:14px; font:750 12px/1.3 var(--font-display); letter-spacing:.02em; text-align:center; }.word-quest__promise span { color:var(--coral); font-size:20px; }@keyframes word-roulette-spin { 0%{transform:rotate(0)}72%{transform:rotate(1650deg)}88%{transform:rotate(1775deg)}100%{transform:rotate(1800deg)} }
.playground-game-door { position:relative; display:grid; min-height:430px; margin-top:clamp(34px,5vw,76px); padding:clamp(34px,6vw,78px); grid-template-columns:1fr .75fr; align-items:center; overflow:hidden; border-radius:61px 43px 70px 40px / 43px 61px 44px 68px; background:var(--violet); color:var(--soft-white); }.playground-game-door:before { position:absolute; width:45%; aspect-ratio:1; border-radius:50%; background:var(--pink); content:''; right:-8%; bottom:-57%; }.playground-game-door h2 { position:relative; z-index:1; margin:15px 0 18px; font-size:clamp(52px,6vw,92px); letter-spacing:-.08em; line-height:.8; }.playground-game-door h2 i { color:var(--lime); }.playground-game-door p { position:relative; z-index:1; max-width:500px; margin:0; font-size:18px; line-height:1.45; }.playground-game-door button { position:relative; z-index:2; display:flex; min-height:57px; margin-top:26px; padding:10px 13px 10px 20px; align-items:center; gap:15px; border:0; border-radius:999px; background:var(--lime); color:var(--graphite); font:750 14px var(--font-display); cursor:pointer; transition:transform .25s var(--ease-spring); }.playground-game-door button:hover { transform:rotate(-2deg) scale(1.04); }.playground-game-door button b { display:grid; width:33px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--graphite); color:var(--soft-white); font-size:18px; }.playground-game-door__orb { position:relative; z-index:1; justify-self:center; display:grid; width:min(35vw,310px); aspect-ratio:1; place-items:center; border:8px solid var(--graphite); border-radius:50%; background:var(--sun); color:var(--graphite); box-shadow:0 14px 0 rgba(38,38,43,.25); transform:rotate(8deg); }.playground-game-door__orb>span { max-width:83%; overflow-wrap:anywhere; font:800 clamp(34px,4.8vw,68px)/.82 var(--font-display); letter-spacing:-.075em; text-align:center; }
.playground-game-door__orb .goodie-companion { position:absolute; right:-30px; bottom:-24px; transform:scale(.78) rotate(-14deg); }
.play-game-screen { position:relative; min-height:calc(100vh - 94px); padding:22px clamp(18px,4vw,64px) clamp(26px,4vw,64px); background:var(--soft-white); }.play-game-screen .word-quest { min-height:calc(100vh - 145px); margin-top:18px; }.play-game-screen__back,.play-game-screen__sound { position:relative; z-index:3; min-height:42px; border:0; border-radius:999px; background:var(--graphite); color:var(--soft-white); font:750 11px var(--font-display); cursor:pointer; }.play-game-screen__back { padding:9px 14px; }.play-game-screen__back span { margin-right:7px; font-size:16px; }.play-game-screen__sound { position:absolute; top:25px; right:clamp(18px,4vw,64px); padding:9px 14px; background:rgba(38,38,43,.1); color:var(--graphite); }.play-game-screen__sound.is-on { background:var(--graphite); color:var(--soft-white); }.play-game-screen__sound span { margin-right:5px; font-size:16px; }
.immersive-nav { position:fixed; z-index:100; top:0; left:0; right:0; display:flex; min-height:78px; padding:14px clamp(16px,3vw,44px); align-items:center; justify-content:space-between; pointer-events:none; }.immersive-nav:before { position:absolute; z-index:-1; inset:0 0 auto; height:112px; background:linear-gradient(180deg,rgba(250,249,246,.94),rgba(250,249,246,0)); content:''; pointer-events:none; }.immersive-nav__logo,.immersive-nav__controls,.immersive-nav__menu { pointer-events:auto; }.immersive-nav__logo { display:grid; width:112px; padding:0; border:0; background:transparent; color:var(--graphite); cursor:pointer; text-align:left; transition:transform .24s var(--ease-spring); }.immersive-nav__logo:hover { transform:rotate(-3deg) scale(1.05); }.immersive-nav__logo .good-ones-logo { width:100%; }.immersive-nav__controls { display:flex; align-items:center; gap:8px; }.immersive-nav__burger { display:flex; min-height:44px; padding:8px 15px 8px 12px; align-items:center; gap:4px; border:0; border-radius:999px; background:var(--graphite); color:var(--soft-white); cursor:pointer; font:750 11px var(--font-display); }.immersive-nav__burger i { display:block; width:15px; height:2px; border-radius:99px; background:currentColor; transition:transform .22s ease,opacity .22s ease; }.immersive-nav__burger span { margin-left:6px; }.immersive-nav__burger.is-open i:nth-of-type(1) { transform:translate(4px,6px) rotate(45deg); }.immersive-nav__burger.is-open i:nth-of-type(2) { opacity:0; }.immersive-nav__burger.is-open i:nth-of-type(3) { transform:translate(4px,-6px) rotate(-45deg); }.immersive-nav__menu { position:absolute; top:76px; right:clamp(16px,3vw,44px); display:grid; width:min(344px,calc(100vw - 32px)); padding:18px; gap:5px; border-radius:37px 25px 43px 29px / 30px 43px 28px 40px; background:var(--graphite); color:var(--soft-white); box-shadow:0 25px 60px rgba(38,38,43,.25); animation:immersive-menu-in .26s var(--ease-spring) both; }.immersive-nav__menu>span { margin:2px 9px 8px; color:var(--lime); font:750 13px var(--font-display); }.immersive-nav__menu button { display:grid; min-height:48px; padding:9px 12px; grid-template-columns:31px 1fr auto; align-items:center; border:0; border-radius:999px; background:transparent; color:inherit; cursor:pointer; font:750 15px var(--font-display); text-align:left; transition:background .18s ease,transform .18s var(--ease-spring); }.immersive-nav__menu button:hover { background:var(--lime); color:var(--graphite); transform:translateX(-3px); }.immersive-nav__menu button b { color:var(--coral); font-size:10px; }.immersive-nav__menu button:hover b { color:var(--graphite); }.immersive-nav__menu button i { font-size:17px; font-style:normal; }@keyframes immersive-menu-in { from { opacity:0; transform:translateY(-12px) rotate(-2deg) scale(.94); } to { opacity:1; transform:none; } }
.word-quest__fact-hunt { display:grid; margin-top:15px; gap:6px; }.word-quest__fact-hunt>b { margin-bottom:2px; font:750 11px var(--font-display); }.word-quest__fact-hunt button { display:flex; padding:7px 0; align-items:center; gap:8px; border:0; background:transparent; color:var(--ink); font:700 11px var(--font-body); text-align:left; cursor:pointer; }.word-quest__fact-hunt button i { display:grid; width:19px; aspect-ratio:1; place-items:center; border:2px solid var(--graphite); border-radius:50%; font-style:normal; }.word-quest__fact-hunt button.is-found i { border-color:var(--emerald); background:var(--emerald); color:white; }.word-roulette__dial>span,.word-roulette__core strong,.playground-game-door__orb>span { overflow:visible; word-break:normal; hyphens:auto; }
.play-game-screen .word-quest { display:flex; min-height:calc(100vh - 145px); padding:clamp(28px,4vw,60px); flex-direction:column; }.play-game-screen .word-quest__intro { grid-template-columns:1fr auto; max-width:1280px; width:100%; margin:0 auto; }.play-game-screen .word-quest__intro h2 { font-size:clamp(38px,4.2vw,68px); }.play-game-screen .word-quest__intro p { max-width:620px; font-size:15px; }.play-game-screen .word-quest__rule { width:144px; min-height:126px; padding:18px; }.play-game-screen .word-quest__rule b { font-size:40px; }.play-game-screen .word-quest__rule span { font-size:9px; }
.play-game-screen .word-quest__board { display:grid; width:min(100%,1360px); min-height:0; margin:auto; grid-template-columns:1fr; }.play-game-screen .word-quest__arena { position:relative; display:grid; min-height:min(67vh,760px); place-items:center; }.play-game-screen .word-roulette-wrap { z-index:2; transition:opacity .55s ease,transform .8s cubic-bezier(.18,.9,.24,1); }.play-game-screen .word-roulette { width:min(68vh,680px); max-width:70vw; border-width:15px; box-shadow:0 20px 0 rgba(38,38,43,.18),inset 0 0 0 16px rgba(255,255,255,.65); }.play-game-screen .word-roulette__dial>span { width:132px; height:76px; transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(-246px) rotate(calc(var(--word-position) * -45deg)); }.play-game-screen .word-roulette__dial b { font-size:clamp(15px,1.6vw,22px); line-height:.9; }.play-game-screen .word-roulette__dial small { font-size:9px; }.play-game-screen .word-roulette__core { width:40%; border-width:7px; }.play-game-screen .word-roulette__core strong { max-width:210px; font-size:clamp(34px,4vw,62px); }.play-game-screen .word-roulette__core i { font-size:11px; }.play-game-screen .word-quest__spin { min-height:64px; margin-top:30px; font-size:16px; }.play-game-screen .word-quest__spin b { width:42px; }
.play-game-screen .word-quest__timer--hero { position:absolute; z-index:4; display:grid; width:min(74vh,680px); max-width:76vw; margin:0; place-items:center; opacity:0; pointer-events:none; transform:scale(.18) rotate(-8deg); transition:opacity .28s ease,transform .85s cubic-bezier(.15,1.18,.26,1); }.play-game-screen .word-quest__timer--hero strong { margin:10px 0 7px; font-size:clamp(65px,9vw,124px); }.play-game-screen .word-quest__timer--hero small { font-size:clamp(10px,1.15vw,15px); }.play-game-screen .word-quest__timer--hero i { display:block; max-width:400px; overflow-wrap:anywhere; color:var(--violet); font:800 clamp(27px,4vw,56px)/.82 var(--font-display); letter-spacing:-.07em; text-align:center; }.play-game-screen .word-quest__timer--hero span { margin-top:8px; font-size:14px; }.play-game-screen .word-quest__timer--hero .word-quest__timer-progress { stroke:var(--violet); stroke-width:6; }
.play-game-screen .word-quest__board--research .word-roulette-wrap,.play-game-screen .word-quest__board--outline .word-roulette-wrap,.play-game-screen .word-quest__board--present .word-roulette-wrap { opacity:0; transform:scale(.18) rotate(18deg); pointer-events:none; }.play-game-screen .word-quest__board--research .word-quest__timer--hero,.play-game-screen .word-quest__board--outline .word-quest__timer--hero,.play-game-screen .word-quest__board--present .word-quest__timer--hero { opacity:1; transform:scale(1) rotate(0); pointer-events:auto; }.play-game-screen .word-quest__mission { width:min(100%,920px); min-height:0; margin:0 auto; padding:29px 36px; border-radius:42px 55px 38px 50px / 48px 37px 57px 44px; }.play-game-screen .word-quest__board--ready .word-quest__mission,.play-game-screen .word-quest__board--spinning .word-quest__mission { position:absolute; top:calc(100% - 42px); left:50%; width:min(740px,90%); transform:translateX(-50%); text-align:center; background:transparent; box-shadow:none; }.play-game-screen .word-quest__board--ready .word-quest__mission .word-quest__controls,.play-game-screen .word-quest__board--spinning .word-quest__mission .word-quest__controls { display:none; }.play-game-screen .word-quest__board--ready .word-quest__status strong,.play-game-screen .word-quest__board--spinning .word-quest__status strong { font-size:clamp(29px,3vw,45px); }.play-game-screen .word-quest__promise { width:min(900px,100%); margin:20px auto 0; }
.play-game-screen .word-quest__board--research .word-quest__timer--hero { animation:word-roulette-to-timer .9s cubic-bezier(.14,1.16,.25,1) both; }.play-game-screen .word-quest__board--research .word-quest__arena:after { position:absolute; width:min(68vh,620px); aspect-ratio:1; border-radius:50%; border:12px solid rgba(146,103,234,.5); content:''; animation:word-transform-flash .75s ease-out both; }@keyframes word-roulette-to-timer { 0%{opacity:0;transform:scale(.16) rotate(-15deg);filter:blur(5px)}48%{opacity:1;transform:scale(1.08) rotate(3deg);filter:blur(0)}100%{opacity:1;transform:scale(1) rotate(0)} }@keyframes word-transform-flash { 0%{opacity:.9;transform:scale(.18)}100%{opacity:0;transform:scale(1.25)} }
@media (max-width:760px) { .word-quest { padding:28px 20px 34px; border-radius:43px 34px 50px 37px / 39px 53px 38px 49px; }.word-quest__intro,.word-quest__board { grid-template-columns:1fr; }.word-quest__intro { gap:24px; }.word-quest__intro h2 { font-size:clamp(50px,15vw,72px); }.word-quest__rule { width:180px; min-height:148px; justify-self:end; }.word-quest__rule b { font-size:46px; }.word-quest__board { gap:35px; margin-top:40px; }.word-roulette { max-width:310px; border-width:9px; }.word-roulette__dial>span { width:68px; height:44px; transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(-112px) rotate(calc(var(--word-position) * -45deg)); }.word-roulette__dial b { font-size:11px; }.word-roulette__dial small { font-size:6px; }.word-quest__mission { min-height:0; padding:29px 22px; }.word-quest__research>div { grid-template-columns:1fr; }.word-quest__research a { min-height:56px; }.word-quest__promise { font-size:10px; }.word-quest__timer { width:184px; } }
@media (max-width:760px) { .playground-game-door { grid-template-columns:1fr; min-height:540px; }.playground-game-door__orb { width:205px; margin-top:36px; justify-self:end; }.play-game-screen { min-height:100vh; padding:15px 12px 20px; }.play-game-screen .word-quest { min-height:calc(100vh - 112px); margin-top:12px; }.play-game-screen__sound { top:18px; right:16px; }.play-game-screen__back { font-size:0; width:42px; padding:0; }.play-game-screen__back span { margin:0; font-size:21px; } }
@media (max-width:760px) { .play-game-screen .word-quest__intro { display:block; padding-top:42px; }.play-game-screen .word-quest__intro h2 { font-size:34px; }.play-game-screen .word-quest__intro p,.play-game-screen .word-quest__rule { display:none; }.play-game-screen .word-quest__arena { min-height:520px; }.play-game-screen .word-roulette { width:min(88vw,390px); max-width:none; border-width:10px; }.play-game-screen .word-roulette__dial>span { width:80px; height:47px; transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(-133px) rotate(calc(var(--word-position) * -45deg)); }.play-game-screen .word-roulette__dial b { font-size:12px; }.play-game-screen .word-roulette__dial small { font-size:6px; }.play-game-screen .word-quest__timer--hero { width:min(90vw,460px); max-width:none; }.play-game-screen .word-quest__timer--hero strong { font-size:68px; }.play-game-screen .word-quest__timer--hero i { max-width:250px; font-size:35px; }.play-game-screen .word-quest__mission { padding:24px 20px; }.play-game-screen .word-quest__board--ready .word-quest__mission,.play-game-screen .word-quest__board--spinning .word-quest__mission { top:calc(100% - 12px); }.play-game-screen .word-quest__promise { margin-top:18px; } }
.play-window { display: inline-flex; margin-top: 28px; padding: 17px 20px; border-radius: 26px 34px 28px 38px; flex-direction: column; background: rgba(255,255,255,.15); }
.play-window span { font: 750 10px var(--font-display); text-transform: uppercase; }
.play-window strong { font-size: 32px; }
.play-window small { opacity: .7; }
.discovery-tree { position: relative; height: 520px; }
.discovery-tree > i:first-child { position: absolute; right: 32%; bottom: 0; width: 34px; height: 300px; border-radius: 999px; background: var(--ink); }
.discovery-tree > i:nth-child(2), .discovery-tree > i:nth-child(3) { position: absolute; width: 190px; height: 135px; border-radius: 62% 38% 58% 42% / 47% 61% 39% 53%; background: var(--acid); }
.discovery-tree > i:nth-child(2) { top: 15%; left: 18%; transform: rotate(-18deg); }
.discovery-tree > i:nth-child(3) { top: 1%; right: 0; background: var(--pink); transform: rotate(19deg); }
.discovery-tree .goodie-companion { position: absolute; z-index: 3; }
.discovery-tree .goodie-companion:nth-of-type(1) { right: 14%; bottom: 8%; }
.discovery-tree .goodie-companion:nth-of-type(2) { top: 36%; left: 8%; }

.daily-mix { display: grid; grid-template-columns: minmax(430px,.55fr) minmax(0,1fr); gap: clamp(36px,6vw,90px); padding: clamp(90px,12vw,170px) 0 30px; }
.daily-mix > div:first-child h2, .growth-map__lead h2, .assessment-grove > div:first-child h2 { margin: 20px 0; font-size: clamp(48px,4.6vw,70px); letter-spacing: -.065em; line-height: .88; }
.daily-mix > div:first-child h2 i { color: var(--emerald); }
.daily-mix > div:first-child p { color: var(--muted); font-size: 17px; line-height: 1.5; }
.game-orbits { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.smart-game { position: relative; display: flex; min-height: 470px; padding: 30px; border-radius: 48px 65px 50px 69px / 60px 45px 68px 47px; flex-direction: column; overflow: hidden; box-shadow: var(--soft-shadow-small); }
.smart-game:first-child { grid-column: span 2; min-height: 520px; }
.smart-game--animal { background: var(--sun); }
.smart-game--travel { background: var(--coral); }
.smart-game--music { background: var(--violet); color: white; }
.smart-game--surf { background: var(--emerald); color: white; }
.smart-game--tennis { grid-column: span 2; min-height: 440px; background: var(--oat); }
.smart-game > span { font: 750 11px var(--font-display); text-transform: uppercase; }
.smart-game h3 { max-width: 72%; margin: 18px 0 10px; font-size: clamp(40px,4.4vw,68px); letter-spacing: -.06em; line-height: .9; }
.smart-game p { max-width: 66%; margin: 0; font-size: 17px; line-height: 1.45; }
.smart-game > small { position: relative; z-index: 3; max-width: 70%; margin-top: auto; opacity: .7; }
.smart-game > button { position: relative; z-index: 3; align-self: flex-start; margin-top: 12px; padding: 11px 15px; border: 0; border-radius: 999px; background: white; color: var(--ink); cursor: pointer; }
.smart-game > .smart-game__guide { position: absolute; z-index: 1; right: -12%; bottom: -8%; width: 65%; height: 83%; object-position: right bottom; }
.smart-game--tennis h3,
.smart-game--tennis p,
.smart-game--tennis > small { max-width: 48%; }
.smart-game--tennis > .smart-game__guide { right: 2%; bottom: -12%; width: 46%; height: 100%; }
.game-visual { position: absolute; z-index: 1; right: 4%; bottom: 10%; width: 42%; height: 58%; border-radius: 49% 51% 58% 42% / 56% 44% 56% 44%; background: rgba(255,255,255,.34); }
.game-visual .goodie-companion { position: absolute; right: 26%; bottom: 15%; transform: scale(1.25); }
.game-visual > i, .game-visual > b, .game-visual > em { position: absolute; font: 800 65px var(--font-display); font-style: normal; }
.game-visual > b { top: 14%; left: 17%; }
.game-visual > i { top: 42%; right: 16%; }
.game-visual > em { right: 13%; bottom: 8%; padding: 8px; border: 3px solid var(--ink); font-size: 22px; }

.discovery-garden { display: grid; grid-template-columns: .7fr 1.3fr; gap: 50px; margin-top: 90px; padding: clamp(40px,6vw,80px); border-radius: 58px 92px 68px 87px / 72px 55px 98px 60px; background: var(--oat); }
.discovery-garden h2 { margin: 17px 0; font-size: clamp(38px,4.6vw,68px); letter-spacing: -.06em; line-height: .92; }
.discovery-garden p { color: var(--muted); }
.discovery-seeds { display: flex; flex-wrap: wrap; align-content: center; gap: 12px; }
.discovery-seeds span { display: inline-flex; min-height: 76px; padding: 18px 20px; border-radius: 52% 48% 45% 55% / 58% 44% 56% 42%; align-items: center; background: var(--acid); font-weight: 700; }
.discovery-seeds span:nth-child(2) { background: var(--pink); }
.discovery-seeds span:nth-child(3) { background: var(--sun); }
.discovery-seeds span:nth-child(4) { background: var(--violet); color: white; }

/* The validated home header now carries the complete product IA. */
.approved-header { grid-template-columns: minmax(104px,.25fr) minmax(0,1fr) auto; }
.approved-header__nav { gap: clamp(2px,.55vw,10px); }
.approved-header__nav button { padding-inline: clamp(8px,1.05vw,18px); }

@media (max-width: 1180px) {
  .topbar { grid-template-columns: 105px minmax(0,1fr) auto; }
  .topbar .main-nav button { padding-inline: 9px; font-size: 11px; }
  .topbar-tools .language-switch { display: none; }
  .schedule-hero, .classes-hero, .recreation-hero { grid-template-columns: 1fr .72fr; }
  .class-portals { grid-auto-rows: 115px; }
  .class-portal--science, .class-portal--french, .class-portal--maths, .class-portal--spanish, .class-portal--ai, .class-portal--english, .class-portal--history, .class-portal--arts { grid-column: span 6; grid-row: span 4; }
  .daily-mix { grid-template-columns: 1fr; }
  .game-orbits { max-width: 1000px; }
}

@media (max-width: 900px) {
  .guide-roster > header { grid-template-columns: 1fr; }
  .guide-roster > header .eyebrow { grid-column: 1; }
  .approved-header__tools .language-switch { display: none; }
  .schedule-hero, .classes-hero, .recreation-hero, .science-world__hero, .french-stage, .postcard-hero, .pattern-hero, .ai-lab-hero, .voice-stage, .time-river-hero, .rehearsal-hero { grid-template-columns: 1fr; }
  .schedule-now { width: min(440px,100%); min-height: 340px; justify-self: center; }
  .week-rhythm { grid-template-columns: repeat(2,1fr); }
  .week-day { grid-column: span 1; }
  .week-balance { grid-column: span 2; }
  .classes-constellation { position: absolute; right: 3%; bottom: -4%; width: 40%; min-height: 320px; opacity: .7; }
  .classes-hero > div:first-child { position: relative; z-index: 3; max-width: 75%; }
  .class-world header { min-height: 770px; }
  .class-world header > .teacher-cutout { width: 78%; height: 58%; }
  .science-bench, .class-learning-deck { grid-template-columns: 1fr; }
  .mission-specimen { grid-row: auto; }
  .class-learning-deck__current { grid-row:auto; }
  .french-desks article:nth-child(1), .french-desks article:nth-child(2) { grid-column: span 12; }
  .travel-trail { grid-template-columns: 1fr; }
  .passport-card, .dialogue-stop, .culture-postcard { grid-column: 1; }
  .math-path { grid-template-columns: 1fr; }
  .math-strategy { padding-right: 190px; }
  .ai-principles article { grid-column: span 6; }
  .timeline-stream { grid-template-columns: 1fr; gap: 60px; }
  .timeline-stream article:nth-child(2) { transform: none; }
  .creative-sessions { grid-template-columns: 1fr; }
  .discovery-garden { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .guide-roster { padding-top: 72px; }
  .guide-roster__rail { grid-auto-columns: minmax(195px,72vw); }
  .guide-card { min-height: 330px; }
  .topbar-tools .language-switch { display: inline-flex; }
  .topbar-tools { gap: 4px; }
  .language-switch { width: 84px; min-width: 84px; min-height: 40px; }
  .language-switch span { min-width: 0; min-height: 32px; }
  .topbar { grid-template-columns: 74px 1fr auto; }
  .topbar .main-nav button[data-view="studio"], .topbar .main-nav button[data-view="progress"] { display: none; }
  .schedule-hero, .classes-hero, .recreation-hero { min-height: 720px; padding: 38px 23px; border-radius: 40px 56px 44px 60px / 51px 40px 63px 42px; }
  .schedule-hero h1, .classes-hero h1, .recreation-hero h1 { font-size: clamp(50px,14vw,72px); }
  .schedule-now { align-self: end; min-height: 300px; }
  .schedule-toolbar { align-items: flex-start; padding-top: 65px; flex-direction: column; }
  .day-river__line { left: 31px; }
  .day-stop, .day-stop--live, .day-stop--break, .day-stop--play { grid-template-columns: 50px 1fr; width: 100%; min-height: 190px; padding: 20px 18px 20px 10px; }
  .day-stop time { width: 47px; height: 47px; font-size: 11px; }
.day-stop > .subject-glyph { position: absolute; right: 14px; bottom: 12px; width: 70px; height: 65px; opacity: .5; }
.day-stop > .goodie-companion { position: absolute; right: 14px; bottom: 12px; width: 70px; height: 65px; opacity: .5; }
.break-sun { position: absolute; right: 14px; bottom: 12px; width: 70px; height: 65px; opacity: .5; }
  .day-stop > button { grid-column: 2; justify-self: start; }
  .week-rhythm { grid-template-columns: 1fr; }
  .week-day, .week-balance { grid-column: 1; min-height: 290px; }
  .week-balance { padding-right: 95px; }
.week-balance .goodie-companion { right: 10px; }
  .classes-hero > div:first-child { max-width: 100%; }
  .classes-constellation { right: -5%; bottom: -11%; width: 55%; opacity: .45; }
  .class-portals { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; }
  .class-portal, .class-portal--science, .class-portal--french, .class-portal--maths, .class-portal--spanish, .class-portal--ai, .class-portal--english, .class-portal--history, .class-portal--arts { grid-column: 1; grid-row: auto; min-height: 390px; }
  .class-portal h2 { font-size: 48px; }
  .class-world header { min-height: 760px; padding: 38px 23px; border-radius: 40px 56px 44px 60px / 51px 40px 63px 42px; }
  .class-world header h1 { font-size: clamp(52px,14vw,74px); }
  .class-world header p { font-size: 17px; }
  .class-world header > .teacher-cutout { right: -9%; width: 92%; height: 54%; }
  .science-bench, .class-learning-deck, .french-desks, .travel-trail, .math-path, .ai-principles, .voice-setlist, .timeline-stream, .creative-sessions { padding-top: 40px; }
  .science-bench > article, .french-desks article, .travel-trail article { padding: 25px 21px; }
  .mission-specimen dl { grid-template-columns: 1fr; }
  .specimen-orb { min-height: 230px; }
  .class-learning-deck__current { min-height:560px; }
  .postcard-stamp { top: auto; right: 17px; bottom: 21px; width: 78px; height: 90px; }
  .fraction-sculpture, .history-map, .music-blob { position: absolute; right: -8%; bottom: -5%; width: 72%; height: 42%; min-height: 0; opacity: .85; }
  .math-strategy { padding: 30px 25px 220px; }
  .math-strategy .subject-glyph { right: 50%; bottom: 20px; transform: translateX(50%); }
  .ai-principles { grid-template-columns: 1fr; }
  .ai-principles article { grid-column: 1; min-height: 260px; transform: none !important; }
  .ai-principles h2 { margin-top: 40px; }
  .voice-setlist article { grid-template-columns: 50px 1fr; }
  .voice-setlist small { grid-column: 2; }
  .stage-microphone { position: absolute; right: -3%; bottom: 0; width: 60%; height: 43%; opacity: .75; }
  .timeline-stream::before { display: none; }
  .creative-sessions article { min-height: 320px; }
  .daily-mix { padding-top: 80px; }
  .game-orbits { grid-template-columns: 1fr; }
  .smart-game, .smart-game:first-child { grid-column: 1; min-height: 500px; padding: 24px; }
  .smart-game.smart-game--tennis { grid-column: 1; }
  .smart-game h3 { max-width: 82%; font-size: 44px; }
  .smart-game p { max-width: 82%; }
  .game-visual { opacity: .6; }
  .discovery-garden { padding: 35px 22px; border-radius: 40px 55px 45px 59px; }
}

@media (max-width: 520px) {
  .topbar-tools .language-switch { width: 82px; min-width: 82px; padding: 3px; }
  .approved-header__nav button[data-view="studio"], .approved-header__nav button[data-view="progress"] { display: none; }
  .schedule-now > strong, .schedule-now > small { max-width: 62%; }
  .class-portal p { max-width: 50%; }
  .class-portal .teacher-cutout { width: 82%; opacity: .92; }
  .french-stage > .teacher-cutout, .postcard-hero > .teacher-cutout, .ai-lab-hero > .teacher-cutout { width: 100%; }
  .mission-specimen { min-height: 670px; }
  .class-learning-deck>article { padding:26px 21px; border-radius:38px 54px 42px 49px; }
  .class-learning-deck__current { grid-template-columns:1fr; grid-template-rows:auto auto auto; gap:22px; }
  .class-learning-deck__visual { min-height:245px; }
.class-learning-deck__visual .goodie-companion { width:min(108%,270px); }
  .class-learning-deck__current dl { grid-column:1; grid-template-columns:1fr; }
  .class-learning-deck__checkpoint strong,.class-learning-deck__checkpoint small { max-width:90%; }
  .passport-card h2 { font-size: 72px; }
  .growth-orb { width: 235px; }
}

@media (min-width: 781px) {
  .topbar-tools .language-switch { display: inline-flex; }
  .topbar .main-nav button:last-child { display: block; }
}

@media (max-width: 900px) {
  .approved-header__tools .language-switch { display: inline-flex; }
}

@media (max-width: 780px) {
  .topbar .main-nav button[data-view="progress"] { display: block; }
  .topbar .main-nav button[data-view="studio"] { display: none; }
}

@media (max-width: 520px) {
  .approved-header__nav button[data-view="progress"] { display: block; }
  .approved-header__nav button[data-view="studio"] { display: none; }
}

.schedule-now {
  border-radius: 58px 74px 63px 79px / 69px 56px 82px 58px;
}

/* Parent product — complete, calm and operational */
.final-brand .topbar.topbar--parent .brand,
.final-brand .topbar.topbar--teacher .brand { width: 112px; }

.final-brand .grownup-lead { background: var(--oat); color: var(--ink); }
.final-brand .grownup-lead h1 i { color: var(--violet); }
.final-brand .grownup-lead__week { display: flex; }

.parent-product-page { padding-top: 8px; }
.parent-page-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(310px,.58fr);
  align-items: center;
  gap: clamp(35px,6vw,100px);
  min-height: 560px;
  padding: clamp(42px,6vw,84px);
  border-radius: 65px 110px 77px 105px / 84px 59px 112px 68px;
  overflow: hidden;
}

.parent-page-hero::after {
  position: absolute;
  z-index: 0;
  top: -26%;
  right: 24%;
  width: 300px;
  height: 300px;
  border-radius: 48% 52% 43% 57% / 57% 44% 56% 43%;
  background: rgba(255,255,255,.23);
  content: "";
  transform: rotate(14deg);
}

.parent-page-hero > div { position: relative; z-index: 2; }
.parent-page-hero h1 { margin: 23px 0; font-size: clamp(54px,7vw,108px); letter-spacing: -.075em; line-height: .84; }
.parent-page-hero p { max-width: 650px; font-size: 18px; line-height: 1.5; }
.parent-page-hero--schedule { background: var(--pink); }
.parent-page-hero--schedule h1 i { color: var(--violet); }
.parent-page-hero--cned { background: var(--violet); color: white; }
.parent-page-hero--cned h1 i { color: var(--acid); }
.parent-page-hero--assessment { background: var(--coral); }
.parent-page-hero--assessment h1 i { color: white; }
.parent-page-hero--reports { background: var(--emerald); color: white; }
.parent-page-hero--reports h1 i { color: var(--sun); }

.parent-time-orb, .cned-pace-orb, .assessment-month, .report-seal {
  display: flex;
  width: min(360px,100%);
  aspect-ratio: 1;
  padding: 38px;
  border-radius: 58% 42% 49% 51% / 45% 58% 42% 55%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transform: rotate(3deg);
}

.parent-time-orb { background: var(--violet); color: white; }
.cned-pace-orb { background: var(--acid); color: var(--ink); }
.assessment-month { background: var(--ink); color: white; }
.report-seal { background: var(--sun); color: var(--ink); }
.parent-time-orb strong, .cned-pace-orb strong, .assessment-month strong { font: 790 clamp(58px,6vw,92px)/.9 var(--font-display); letter-spacing: -.07em; }
.parent-time-orb span, .cned-pace-orb span, .assessment-month span { font: 750 12px var(--font-display); text-transform: uppercase; }
.parent-time-orb small, .cned-pace-orb small, .assessment-month small { max-width: 220px; margin-top: 7px; opacity: .72; }
.assessment-month > span { font-size: 30px; }

/* Parent schedule */
.parent-week-board {
  position: relative;
  display: grid;
  grid-template-columns: 58px repeat(5,1fr);
  gap: 10px;
  min-height: 680px;
  margin-top: clamp(70px,9vw,125px);
  padding: 25px;
  border-radius: 45px 63px 49px 68px;
  background: var(--soft);
  overflow: hidden;
}
.parent-week-board__times { display: flex; padding: 48px 0 12px; flex-direction: column; justify-content: space-between; color: var(--muted); font-size: 11px; }
.parent-day-column { position: relative; border-radius: 28px; background: rgba(255,255,255,.78); }
.parent-day-column > strong { position: absolute; top: 15px; left: 17px; font-size: 12px; }
.parent-event { position: absolute; top: var(--start); right: 9px; left: 9px; min-height: var(--span); padding: 12px; border-radius: 20px 27px 22px 29px; overflow: hidden; }
.parent-event span { display: block; font: 750 9px var(--font-display); text-transform: uppercase; }
.parent-event b { display: block; margin-top: 4px; font-size: 14px; line-height: 1.05; }
.parent-event--cned { background: var(--oat); }
.parent-event--good { background: var(--violet); color: white; }
.parent-event--break { background: var(--acid); }
.schedule-signals { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding-top: 25px; }
.schedule-signals article { min-height: 230px; padding: 30px; border-radius: 40px 56px 44px 60px; background: var(--soft); }
.schedule-signals article:nth-child(2) { background: var(--oat); }
.schedule-signals article:nth-child(3) { background: var(--sun); }
.schedule-signals span { font: 750 11px var(--font-display); text-transform: uppercase; }
.schedule-signals strong { display: block; margin: 28px 0 5px; font: 790 64px/.8 var(--font-display); }
.schedule-signals p { margin: 0; color: var(--muted); }

/* Parent CNED */
.cned-tracker { margin-top: clamp(70px,9vw,125px); }
.cned-tracker__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 35px; }
.cned-tracker__head h2, .recent-results > div:first-child h2, .report-evidence > div:first-child h2 { margin: 15px 0 0; font-size: clamp(44px,5vw,76px); letter-spacing: -.06em; line-height: .9; }
.cned-legend { display: flex; flex-wrap: wrap; gap: 13px; }
.cned-legend span { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.cned-legend i { width: 11px; height: 11px; border-radius: 50%; background: var(--soft); }
.cned-legend .is-done { background: var(--emerald); }
.cned-legend .is-sent { background: var(--violet); }
.cned-legend .is-live { background: var(--acid); }
.cned-subject-row { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(160px,1fr) 55px 120px 48px; align-items: center; gap: 18px; min-height: 116px; margin-bottom: 12px; padding: 19px 20px; border-radius: 32px 44px 35px 48px; background: var(--soft); }
.cned-subject-row:nth-child(odd) { background: var(--oat); }
.cned-subject-row > div:first-child span, .cned-subject-row > div:first-child strong { display: block; }
.cned-subject-row > div:first-child span { font: 750 21px var(--font-display); }
.cned-subject-row > div:first-child strong { margin-top: 4px; color: var(--muted); font-size: 12px; }
.cned-module-dots { display: flex; gap: 7px; }
.cned-module-dots i { width: clamp(18px,2vw,30px); height: 20px; border-radius: 999px; background: white; }
.cned-module-dots i.is-done { background: var(--emerald); }
.cned-module-dots i.is-live { background: var(--acid); box-shadow: 0 0 0 4px rgba(176,238,11,.18); }
.cned-subject-row > em { font-style: normal; font-weight: 750; }
.cned-subject-row > small { color: var(--muted); }
.cned-subject-row > button { display: grid; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--ink); color: white; place-items: center; cursor: pointer; }
.cned-actions { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; padding-top: 55px; }
.cned-actions article { min-height: 310px; padding: 35px; border-radius: 45px 63px 48px 67px; background: var(--oat); }
.cned-actions .cned-action--urgent { background: var(--coral); }
.cned-actions span { font: 750 11px var(--font-display); text-transform: uppercase; }
.cned-actions h2 { max-width: 650px; margin: 42px 0 10px; font-size: clamp(34px,3.7vw,58px); letter-spacing: -.055em; line-height: .92; }
.cned-actions p { max-width: 590px; opacity: .72; }
.cned-actions button { margin-top: 15px; padding: 11px 15px; border: 0; border-radius: 999px; background: white; cursor: pointer; }

/* Parent assessments */
.assessment-lanes { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding-top: clamp(70px,9vw,125px); }
.assessment-lane { display: flex; min-height: 540px; padding: 30px; border-radius: 46px 64px 49px 68px / 58px 44px 66px 46px; flex-direction: column; background: var(--soft); box-shadow: var(--soft-shadow-small); }
.assessment-lane--official { background: var(--ink); color: white; }
.assessment-lane--mastery { background: var(--acid); }
.assessment-lane--performance { background: var(--pink); }
.assessment-lane header { display: flex; align-items: center; justify-content: space-between; }
.assessment-lane header > span { font: 750 11px var(--font-display); text-transform: uppercase; }
.assessment-lane header > strong { display: grid; width: 48px; height: 48px; border-radius: 50%; background: white; color: var(--ink); place-items: center; }
.assessment-lane h2 { margin: 80px 0 12px; font-size: clamp(38px,3.6vw,55px); letter-spacing: -.055em; line-height: .92; }
.assessment-lane p { margin: 0; opacity: .7; }
.assessment-lane dl { margin: auto 0 20px; }
.assessment-lane dl > div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-top: 1px solid currentColor; }
.assessment-lane dt { opacity: .55; }
.assessment-lane dd { margin: 0; font-weight: 700; text-align: right; }
.assessment-lane button { align-self: flex-start; padding: 11px 15px; border: 0; border-radius: 999px; background: white; color: var(--ink); cursor: pointer; }
.recent-results { display: grid; grid-template-columns: .8fr repeat(2,1fr); gap: 18px; padding-top: 90px; }
.recent-results article { position: relative; min-height: 300px; padding: 30px; border-radius: 42px 58px 46px 62px; background: var(--oat); }
.recent-results article:nth-child(3) { background: var(--violet); color: white; }
.recent-results article > strong { display: block; font-size: 55px; }
.recent-results article > span { display: block; margin: 28px 0 8px; font: 750 22px var(--font-display); }
.recent-results article p { opacity: .72; }
.recent-results article button { position: absolute; right: 20px; bottom: 20px; display: grid; width: 46px; height: 46px; border: 0; border-radius: 50%; background: white; color: var(--ink); place-items: center; cursor: pointer; }

/* Parent reports */
.report-seal > span { font: 780 24px var(--font-display); }
.report-seal > strong { margin: 17px 0; font: 800 42px/.82 var(--font-display); letter-spacing: -.06em; }
.report-seal .good-ones-eyes { transform: scale(.62); }
.weekly-story { display: grid; grid-template-columns: 1.25fr .55fr; gap: 20px; padding-top: clamp(70px,9vw,125px); }
.weekly-story__main { padding: clamp(35px,5vw,65px); border-radius: 52px 72px 58px 78px / 65px 50px 76px 53px; background: var(--oat); }
.weekly-story__main > span { font: 750 11px var(--font-display); text-transform: uppercase; }
.weekly-story__main h2 { margin: 45px 0 20px; font-size: clamp(42px,5vw,76px); letter-spacing: -.065em; line-height: .9; }
.weekly-story__main > p { max-width: 800px; color: var(--muted); font-size: 18px; line-height: 1.5; }
.weekly-story__main blockquote { margin: 45px 0 0; padding: 24px; border-radius: 28px 37px 31px 41px; background: white; font: 720 23px/1.2 var(--font-display); }
.weekly-story aside { display: grid; gap: 12px; }
.weekly-story aside > div { display: flex; min-height: 190px; padding: 25px; border-radius: 38px 52px 41px 56px; flex-direction: column; justify-content: center; background: var(--soft); }
.weekly-story aside > div:nth-child(2) { background: var(--pink); }
.weekly-story aside > div:nth-child(3) { background: var(--acid); }
.weekly-story aside span { font: 750 11px var(--font-display); text-transform: uppercase; }
.weekly-story aside strong { display: block; margin: 12px 0 4px; font: 780 48px/.9 var(--font-display); }
.weekly-story aside small { color: var(--muted); }
.report-evidence { display: grid; grid-template-columns: .75fr repeat(3,1fr); gap: 18px; padding-top: 80px; }
.report-evidence article { min-height: 330px; padding: 28px; border-radius: 42px 58px 45px 62px; background: var(--soft); }
.report-evidence article:nth-child(3) { background: var(--sun); transform: translateY(28px); }
.report-evidence article:nth-child(4) { background: var(--violet); color: white; }
.report-evidence article span { font: 750 11px var(--font-display); text-transform: uppercase; }
.report-evidence article strong { display: block; margin: 75px 0 10px; font-size: clamp(25px,2.5vw,38px); line-height: 1; }
.report-evidence article small { opacity: .7; }

@media (min-width: 781px) and (max-width: 1050px) {
  .final-brand .grownup-lead__week { position: absolute; right: 5%; bottom: 7%; width: 280px; min-height: 250px; }
  .final-brand .grownup-lead > div:first-child { position: relative; z-index: 3; max-width: 75%; }
  .parent-page-hero { grid-template-columns: 1fr .52fr; }
  .assessment-lanes { grid-template-columns: 1fr; }
  .assessment-lane { min-height: 420px; }
  .recent-results { grid-template-columns: 1fr 1fr; }
  .recent-results > div:first-child { grid-column: span 2; }
  .report-evidence { grid-template-columns: 1fr 1fr; }
  .report-evidence > div:first-child { grid-column: span 2; }
}

@media (max-width: 780px) {
  .final-brand .grownup-lead__week { position: relative; display: flex; }
  h1 i, h2 i { white-space: normal; }
  .final-brand .topbar {
    position: sticky;
    top: 6px;
    grid-template-columns: 74px 1fr auto;
    grid-template-rows: 50px auto;
    row-gap: 6px;
    min-height: 116px;
    padding-bottom: 7px;
  }
  .final-brand .topbar .main-nav {
    position: static;
    z-index: 1;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    display: flex;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    gap: 0;
    justify-content: space-around;
    overflow: hidden;
    box-shadow: none;
  }
  .final-brand .topbar .main-nav button {
    min-width: 0;
    padding-inline: 4px;
    flex: 1 1 0;
    font-size: 9px;
  }
  .final-brand .topbar .main-nav button:last-child { display: block; }
  .final-brand .topbar .brand { grid-column: 1; grid-row: 1; }
  .final-brand .topbar .topbar-tools { grid-column: 3; grid-row: 1; }
  .parent-page-hero { grid-template-columns: 1fr; min-height: 720px; padding: 38px 23px; border-radius: 40px 56px 44px 60px / 51px 40px 63px 42px; }
  .parent-page-hero h1 { font-size: clamp(48px,13.5vw,70px); }
  .parent-time-orb, .cned-pace-orb, .assessment-month, .report-seal { width: 250px; justify-self: center; padding: 25px; }
  .parent-week-board { grid-template-columns: 45px repeat(5,150px); overflow-x: auto; }
  .schedule-signals { grid-template-columns: 1fr; }
  .cned-tracker__head { align-items: flex-start; flex-direction: column; }
  .cned-subject-row { grid-template-columns: 1fr 52px; }
  .cned-module-dots { grid-column: span 2; grid-row: 2; }
  .cned-subject-row > em { grid-column: 2; grid-row: 1; }
  .cned-subject-row > small { grid-column: 1; grid-row: 3; }
  .cned-subject-row > button { grid-column: 2; grid-row: 3; }
  .cned-actions, .assessment-lanes, .recent-results, .weekly-story, .report-evidence { grid-template-columns: 1fr; }
  .assessment-lane { min-height: 450px; }
  .recent-results > div:first-child, .report-evidence > div:first-child { grid-column: 1; }
  .weekly-story aside { grid-template-columns: 1fr; }
  .report-evidence article:nth-child(3) { transform: none; }
}

/* Live AI tutor — one organic voice room shared by all thirteen guides */
.guide-card > div { padding-bottom: 48px; }
.guide-card > div > button {
  position: absolute;
  right: 10px;
  bottom: 8px;
  left: 10px;
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  font: 720 11px var(--font-display);
  cursor: pointer;
}

.voice-guide-dock {
  position: fixed;
  z-index: 440;
  right: clamp(14px,2.2vw,34px);
  bottom: clamp(14px,2.2vw,34px);
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: min(560px,calc(100vw - 28px));
  min-height: 82px;
  padding: 10px 11px 10px 21px;
  border: 1px solid rgba(38,38,43,.09);
  border-radius: 35px 45px 38px 50px / 44px 34px 48px 36px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 55px rgba(38,38,43,.18);
  backdrop-filter: blur(18px);
  animation: voice-dock-arrive .6s var(--ease-spring) both;
}
@keyframes voice-dock-arrive { from { opacity: 0; transform: translateY(30px) rotate(2deg); } }
.voice-guide-dock__pulse { width: 12px; height: 12px; border-radius: 50%; flex: 0 0 auto; background: var(--acid); box-shadow: 0 0 0 0 rgba(176,238,11,.52); animation: tutor-pulse 1.8s ease-out infinite; }
@keyframes tutor-pulse { 60%,100% { box-shadow: 0 0 0 13px rgba(176,238,11,0); } }
.voice-guide-dock > div:nth-of-type(1) { min-width: 120px; }
.voice-guide-dock small, .voice-guide-dock strong { display: block; }
.voice-guide-dock small { color: var(--muted); font: 700 9px var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
.voice-guide-dock strong { margin-top: 3px; font: 760 15px var(--font-display); }
.voice-guide-dock__guides { display: flex; gap: 7px; }
.voice-guide-dock__guides button {
  position: relative;
  display: grid;
  width: 62px;
  height: 62px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--tutor-accent);
  cursor: pointer;
  overflow: hidden;
  box-shadow: inset 0 0 0 3px white;
  transition: transform .25s var(--ease-spring);
}
.voice-guide-dock__guides button:hover { transform: translateY(-4px) rotate(-3deg) scale(1.05); }
.voice-guide-dock__guides img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.voice-guide-dock__guides span { position: absolute; right: 3px; bottom: 2px; left: 3px; padding: 3px; border-radius: 999px; background: var(--ink); color: white; font: 700 8px var(--font-display); }

.voice-tutor-layer {
  position: fixed;
  z-index: 950;
  right: clamp(12px,2vw,26px);
  bottom: clamp(92px,9vh,112px);
  width: min(450px,calc(100vw - 24px));
  height: min(760px,calc(100dvh - 128px));
  pointer-events: none;
  animation: tutor-layer-in .35s ease both;
}
@keyframes tutor-layer-in { from { opacity: 0; transform: translateY(22px) scale(.98); } }
.voice-tutor-shell {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  border: 2px solid rgba(255,255,255,.82);
  border-radius: 45px 57px 48px 62px / 55px 43px 63px 47px;
  background: linear-gradient(180deg,color-mix(in srgb,var(--tutor-surface) 16%,var(--paper)) 0 32%,var(--paper) 48%);
  box-shadow: 0 34px 90px rgba(38,38,43,.31),0 10px 28px rgba(38,38,43,.14),inset 0 0 0 1px rgba(38,38,43,.06);
  overflow: hidden;
  pointer-events: auto;
  transform-origin: right bottom;
  animation: tutor-shell-in .55s var(--ease-spring) both;
}
@keyframes tutor-shell-in { from { opacity: 0; transform: translateY(36px) scale(.94) rotate(1deg); } }
.voice-tutor-close {
  position: absolute;
  z-index: 970;
  top: 12px;
  right: 12px;
  display: grid;
  width: 42px;
  height: 42px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: var(--tutor-subject);
  color: var(--ink);
  font-size: 22px;
  cursor: pointer;
  place-items: center;
}
.voice-tutor-character {
  position: relative;
  display: grid;
  min-height: 204px;
  padding: 16px 60px 16px 16px;
  grid-template-columns: 136px minmax(0,1fr);
  grid-template-rows: 1fr auto;
  column-gap: 16px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.65) 0 4px, transparent 5px),
    radial-gradient(circle at 85% 11%, rgba(255,255,255,.55) 0 7px, transparent 8px),
    var(--tutor-surface);
  overflow: hidden;
}
.voice-tutor-character::after {
  position: absolute;
  right: -9%;
  bottom: -58%;
  width: 48%;
  aspect-ratio: 1;
  border-radius: 48% 52% 43% 57% / 59% 43% 57% 41%;
  background: var(--tutor-accent);
  content: "";
  opacity: .8;
  transform: rotate(13deg);
}
.voice-tutor-character::before {
  position: absolute;
  z-index: 1;
  top: -52px;
  left: -40px;
  width: 200px;
  aspect-ratio: 1;
  border: 18px solid color-mix(in srgb,var(--tutor-accent) 44%,transparent);
  border-radius: 47% 53% 41% 59% / 58% 44% 56% 42%;
  content: "";
  opacity: .46;
  transform: rotate(-18deg);
}
.voice-tutor-motion {
  position: relative;
  z-index: 2;
  grid-row: 1 / 3;
  width: 136px;
  height: 172px;
  align-self: center;
  border: 4px solid rgba(255,255,255,.82);
  border-radius: 31px 39px 33px 43px / 38px 30px 44px 33px;
  background: color-mix(in srgb,var(--tutor-accent) 22%,white);
  box-shadow: 0 14px 32px rgba(38,38,43,.17),0 0 0 7px color-mix(in srgb,var(--tutor-accent) 13%,transparent);
  overflow: hidden;
}
.voice-tutor-motion video,
.voice-tutor-motion img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.voice-tutor-motion img { z-index: 1; object-fit: contain; object-position: center bottom; }
.voice-tutor-motion video { z-index: 2; background: var(--tutor-surface); opacity: 0; transition: opacity .22s ease; }
.voice-tutor-motion__listening { opacity: 1 !important; }
.voice-tutor-layer[data-tutor-status="speaking"] .voice-tutor-motion__listening { opacity: 0 !important; }
.voice-tutor-layer[data-tutor-status="speaking"] .voice-tutor-motion__talking { opacity: 1; }
.voice-tutor-character__copy { position: relative; z-index: 4; align-self: center; min-width: 0; }
.voice-tutor-character__copy small { display: block; font: 750 10px var(--font-display); letter-spacing: .07em; text-transform: uppercase; }
.voice-tutor-character__copy h2 { margin: 4px 0 7px; overflow: hidden; font-size: 34px; letter-spacing: -.055em; line-height: .9; text-overflow: ellipsis; white-space: nowrap; }
.voice-tutor-character__copy p { max-width: 225px; margin: 0; font-size: 13px; font-weight: 720; line-height: 1.3; }
.voice-tutor-status { position: relative; z-index: 5; display: flex; min-width: 0; align-items: center; gap: 8px; padding: 9px 11px; border-radius: 999px; background: rgba(255,255,255,.9); box-shadow:0 6px 16px rgba(38,38,43,.08); }
.voice-tutor-status > span { display: flex; height: 24px; align-items: center; gap: 3px; }
.voice-tutor-status > span i { width: 3px; height: 7px; border-radius: 4px; background: var(--ink); transition: height .2s ease; }
.voice-tutor-status strong { overflow: hidden; font: 720 11px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.voice-tutor-status[data-tutor-status="connecting"] > span i,
.voice-tutor-status[data-tutor-status="thinking"] > span i,
.voice-tutor-status[data-tutor-status="speaking"] > span i,
.voice-tutor-status[data-tutor-status="recording"] > span i { animation: tutor-wave .75s ease-in-out infinite alternate; }
.voice-tutor-status > span i:nth-child(2), .voice-tutor-status > span i:nth-child(4) { animation-delay: -.2s !important; }
.voice-tutor-status > span i:nth-child(3) { animation-delay: -.4s !important; }
@keyframes tutor-wave { to { height: 23px; } }
.voice-tutor-status[data-tutor-status="error"] { background: var(--coral); }
.voice-tutor-status[data-tutor-status="limit"] { background: var(--sun); }

.voice-tutor-conversation { display: flex; min-width: 0; min-height: 0; padding: 16px 18px 18px; flex: 1 1 auto; flex-direction: column; background: radial-gradient(circle at 96% 8%,color-mix(in srgb,var(--tutor-accent) 10%,transparent),transparent 32%),var(--paper); }
.voice-tutor-conversation > header { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; }
.voice-tutor-conversation > header span, .voice-tutor-conversation > header strong { display: block; }
.voice-tutor-conversation > header span { color: var(--muted); font: 720 10px var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
.voice-tutor-conversation > header strong { display: -webkit-box; max-width: 285px; margin-top: 4px; overflow: hidden; font-size: 16px; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.voice-tutor-private { flex: 0 0 auto; padding: 6px 8px; border-radius: 999px; background: rgba(15,188,83,.13); color: var(--emerald) !important; white-space: nowrap; }
.voice-tutor-budget {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 12px;
  margin-top: 10px;
  padding: 9px 13px 12px;
  border-radius: 25px 32px 27px 35px / 29px 24px 36px 26px;
  background: white;
  box-shadow: var(--soft-shadow-small);
  overflow: hidden;
}
.voice-tutor-budget::after { position: absolute; right: 0; bottom: 0; left: 0; height: 5px; background: linear-gradient(90deg,var(--tutor-accent) 0 var(--voice-budget,100%),rgba(38,38,43,.08) var(--voice-budget,100%)); content: ""; transition: background .4s ease; }
.voice-tutor-budget span { display: flex; align-items: center; gap: 8px; font: 750 11px var(--font-display); text-transform: uppercase; letter-spacing: .04em; }
.voice-tutor-budget span i { width: 9px; height: 9px; border-radius: 50% 45% 55% 48%; background: var(--acid); box-shadow: 0 0 0 5px rgba(176,238,11,.16); }
.voice-tutor-budget strong { grid-row: span 2; align-self: center; font: 780 20px var(--font-display); letter-spacing: -.04em; }
.voice-tutor-budget small { color: var(--muted); font-size: 11px; }
.voice-tutor-transcript { display:flex; min-height:130px; margin:10px -6px 8px; padding:16px 14px; flex:1 1 auto; flex-direction:column; gap:10px; overflow-y:auto; border:1px solid color-mix(in srgb,var(--tutor-accent) 16%,white); border-radius:20px; background:color-mix(in srgb,var(--tutor-surface) 70%,white); color:var(--ink); scrollbar-color:var(--tutor-accent) transparent; }
.voice-tutor-message { position:relative; max-width:76%; padding:9px 12px 10px; border-radius:5px 16px 16px 16px; background:white; color:var(--ink); box-shadow:0 1px 2px rgba(41,39,45,.1); }
.voice-tutor-message::before { position:absolute; top:0; left:-7px; width:10px; height:12px; background:linear-gradient(225deg,white 0 50%,transparent 51%); content:""; }
.voice-tutor-message--learner { align-self:flex-end; border-radius:16px 5px 16px 16px; background:var(--tutor-accent); color:var(--ink); }
.voice-tutor-message--learner > b { color:var(--tutor-surface); }
.voice-tutor-message--learner .voice-tutor-message__copy { color:white; }
.voice-tutor-message--guide > b { color:var(--tutor-subject); }
.voice-tutor-message--learner::before { right:-7px; left:auto; background:linear-gradient(135deg,var(--tutor-accent) 0 50%,transparent 51%); }
.voice-tutor-message b { font: 750 10px var(--font-display); letter-spacing: .05em; text-transform: uppercase; }
.voice-tutor-message__copy { margin-top:4px; font-size:14px; line-height:1.35; }
.voice-tutor-message__copy p { margin:0; }
.voice-tutor-message__copy p+p { margin-top:7px; }
.voice-tutor-message__copy ul { display:grid; margin:7px 0 0; padding-left:19px; gap:4px; }
.voice-tutor-message__copy strong { font:inherit; font-weight:850; letter-spacing:normal; text-transform:none; }
.voice-tutor-message--greeting { border:1px solid color-mix(in srgb,var(--tutor-accent) 18%,white); background:white; }
.voice-tutor-message--welcome { max-width:100%; padding:14px 16px; background:color-mix(in srgb,var(--tutor-surface) 20%,white); }
.voice-tutor-message--welcome small { display:block; margin-top:8px; color:var(--muted); font-size:11px; font-weight:720; }
.voice-tutor-message[data-live-message] { box-shadow: 0 0 0 4px color-mix(in srgb,var(--tutor-accent) 35%,transparent); }
.voice-tutor-prompts { display: grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap: 7px; padding: 2px 1px 7px; }
.voice-tutor-prompts button { display:grid; min-width:0; min-height:50px; padding:7px 8px; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:6px; border: 1px solid rgba(38,38,43,.13); border-radius: 18px 22px 19px 25px / 21px 17px 24px 19px; background: white; text-align:left; cursor: pointer; }
.voice-tutor-prompts button span { display:grid; width:24px; aspect-ratio:1; border-radius:50%; background:color-mix(in srgb,var(--tutor-accent) 18%,white); font:800 13px/1 var(--font-display); place-items:center; }
.voice-tutor-prompts button strong { overflow:hidden; font:750 10px/1.05 var(--font-display); text-overflow:ellipsis; }
.voice-tutor-prompts button:disabled { cursor: not-allowed; opacity: .45; }
.voice-tutor-controls { display: grid; grid-template-columns: 76px minmax(190px,1fr) 58px; gap: 8px; margin-top: 5px; align-items: stretch; }
.voice-tutor-controls button { min-height: 48px; min-width: 0; padding: 9px 11px; border: 0; border-radius: 999px; font: 750 12px var(--font-display); cursor: pointer; }
.voice-tutor-controls button:disabled { cursor: not-allowed; opacity: .42; }
.voice-tutor-start { background: var(--ink); color: white; }
.voice-tutor-start:not(:disabled) span { color: var(--acid); }
.voice-tutor-talk {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-rows: 1fr 1fr;
  min-height: 58px !important;
  padding: 8px 14px 8px 9px !important;
  border: 0;
  border-radius: 35px 43px 38px 48px / 41px 34px 47px 36px !important;
  background: var(--acid);
  color: var(--ink);
  font: 750 12px var(--font-display);
  text-align: left;
  cursor: pointer;
  touch-action: none;
  user-select: none;
  transition: transform .2s var(--ease-spring), background .2s ease, box-shadow .2s ease;
}
.voice-tutor-talk:disabled { cursor:not-allowed; opacity:.46; }
.voice-tutor-talk:not(:disabled):hover { transform: translateY(-2px) rotate(-.4deg); box-shadow: 0 13px 28px rgba(38,38,43,.14); }
.voice-tutor-talk__orb { display: grid; grid-row: 1 / 3; width: 40px; height: 40px; align-self: center; border-radius: 49% 51% 56% 44% / 54% 43% 57% 46%; background: var(--ink); place-items: center; }
.voice-tutor-talk__orb i { width: 13px; height: 19px; border: 3px solid white; border-top-left-radius: 8px; border-top-right-radius: 8px; }
.voice-tutor-talk__orb i::after { display: block; width: 20px; height: 11px; margin: 8px 0 0 -7px; border: 3px solid white; border-top: 0; border-radius: 0 0 12px 12px; content: ""; }
.voice-tutor-talk > [data-talk-label] { align-self: end; padding-left: 8px; font-size: 13px; }
.voice-tutor-talk > small { align-self: start; padding-left: 8px; font: 700 8px var(--font-display); opacity: .62; text-transform: uppercase; letter-spacing: .05em; }
.voice-tutor-talk.is-recording { background: var(--coral); transform: scale(.985); box-shadow: 0 0 0 8px rgba(253,118,102,.19); }
.voice-tutor-talk.is-recording .voice-tutor-talk__orb { animation: tutor-talk-pulse .72s ease-in-out infinite alternate; }
@keyframes tutor-talk-pulse { to { transform: scale(.84) rotate(-4deg); } }
.voice-tutor-stop { background: var(--coral); }
.voice-tutor-disclosure { display:flex; margin: 9px 0 0; align-items:flex-start; gap:7px; color: var(--muted); font-size: 10px; line-height: 1.3; }
.voice-tutor-disclosure i { display:grid; flex:0 0 18px; aspect-ratio:1; border-radius:50%; background:color-mix(in srgb,var(--tutor-accent) 22%,white); color:var(--ink); font:850 10px/1 var(--font-display); place-items:center; }

.voice-tutor-layer[data-tutor-age="early-primary"] { width:min(480px,calc(100vw - 24px)); height:min(790px,calc(100dvh - 128px)); }
.voice-tutor-layer[data-tutor-age="middle-primary"] { width:min(460px,calc(100vw - 24px)); height:min(775px,calc(100dvh - 128px)); }
.voice-tutor-layer[data-tutor-age="upper-primary"] { width:min(440px,calc(100vw - 24px)); }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-character { min-height:238px; grid-template-columns:160px minmax(0,1fr); }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-motion { width:160px; height:204px; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-character__copy h2 { font-size:39px; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-character__copy p { font-size:15px; line-height:1.32; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-message p { font-size:17px; line-height:1.4; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-message b { font-size:11px; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-message--welcome small { font-size:13px; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-prompts button { min-height:62px; grid-template-columns:30px minmax(0,1fr); }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-prompts button span { width:30px; font-size:16px; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-prompts button strong { font-size:12px; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-talk { min-height:68px !important; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-talk > [data-talk-label] { font-size:16px; }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-disclosure { font-size:11px; }
.voice-tutor-layer[data-tutor-age="middle-primary"] .voice-tutor-message p { font-size:15px; }
.voice-tutor-layer[data-tutor-age="upper-primary"] .voice-tutor-character { min-height:190px; grid-template-columns:126px minmax(0,1fr); }
.voice-tutor-layer[data-tutor-age="upper-primary"] .voice-tutor-motion { width:126px; height:158px; }

/* Wide lesson tutor: centered above the navigation with the portrait in its left column. */
.voice-tutor-layer {
  right:auto;
  bottom:clamp(88px,9vh,104px);
  left:50%;
  width:min(860px,calc(100vw - 24px));
  height:min(390px,calc(100dvh - 116px));
  translate:-50% 0;
}
.voice-tutor-shell {
  display:grid;
  grid-template-columns:minmax(220px,30%) minmax(0,1fr);
  grid-template-rows:1fr;
  border-radius:38px 49px 41px 55px / 47px 36px 56px 40px;
}
.voice-tutor-teacher {
  position:relative;
  min-width:0;
  min-height:0;
  padding:0;
  background:
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.72) 0 5px,transparent 6px),
    radial-gradient(circle at 84% 9%,rgba(255,255,255,.6) 0 8px,transparent 9px),
    var(--tutor-surface);
  overflow:hidden;
}
.voice-tutor-teacher::after {
  position:absolute;
  right:-36%;
  bottom:-40%;
  width:94%;
  aspect-ratio:1;
  border-radius:49% 51% 43% 57% / 58% 44% 56% 42%;
  background:var(--tutor-accent);
  content:"";
  opacity:.78;
  transform:rotate(12deg);
}
.voice-tutor-layer .voice-tutor-teacher .voice-tutor-motion {
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.voice-tutor-layer .voice-tutor-teacher .voice-tutor-motion video,
.voice-tutor-layer .voice-tutor-teacher .voice-tutor-motion img { object-fit:cover; object-position:center center; transform:none; }
.voice-tutor-conversation {
  display:grid;
  padding:18px 20px 18px;
  grid-template-columns:minmax(0,1fr) 158px;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:12px;
}
.voice-tutor-conversation__identity { grid-column:1 / -1; min-width:0; padding:1px 52px 0 0; }
.voice-tutor-conversation__identity h2 { display:flex; min-width:0; margin:0; align-items:center; gap:10px; font-size:clamp(23px,2.5vw,31px); line-height:.94; letter-spacing:-.045em; }
.voice-tutor-conversation > .voice-tutor-conversation__identity strong { display:block; max-width:none; margin:0; flex:0 0 auto; overflow:visible; color:var(--ink); font-size:1em; font-weight:900; line-height:.94; -webkit-line-clamp:unset; }
.voice-tutor-conversation__identity i { width:2px; height:.82em; flex:0 0 2px; border-radius:999px; background:color-mix(in srgb,var(--ink) 26%,transparent); }
.voice-tutor-conversation > .voice-tutor-conversation__identity span { display:block; min-width:0; overflow:hidden; color:var(--tutor-subject); font:800 1em/.94 var(--font-display); letter-spacing:-.045em; text-overflow:ellipsis; text-transform:none; white-space:nowrap; }
.voice-tutor-transcript { grid-column:1 / -1; min-height:0; margin:0; }
.voice-tutor-transcript.is-empty { background:linear-gradient(145deg,rgba(255,255,255,.72),color-mix(in srgb,var(--tutor-surface) 14%,white)); }
.voice-tutor-compose { position:relative; display:block; }
.voice-tutor-compose label { position:absolute; width:1px; height:1px; padding:0; border:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.voice-tutor-compose input { width:100%; min-height:58px; padding:13px 98px 13px 17px; border:1px solid color-mix(in srgb,var(--tutor-accent) 25%,white); border-radius:18px; outline:none; background:white; color:var(--ink); font:700 14px/1.25 var(--font-display); box-shadow:0 1px 2px rgba(41,39,45,.08); }
.voice-tutor-compose input:focus { border-color:var(--tutor-accent); box-shadow:0 0 0 5px color-mix(in srgb,var(--tutor-accent) 18%,transparent); }
.voice-tutor-compose input:focus-visible { outline:0; }
.voice-tutor-conversation > .voice-tutor-talk:focus-visible { outline:2px solid var(--tutor-accent); outline-offset:2px; }
.voice-tutor-compose input:disabled { opacity:.52; }
.voice-tutor-compose > button { position:absolute; top:7px; right:7px; bottom:7px; min-width:82px; padding:0 12px; border:0; border-radius:13px; background:var(--tutor-accent); color:var(--ink); cursor:pointer; font:850 12px/1 var(--font-display); }
.voice-tutor-compose > button:disabled { cursor:not-allowed; opacity:.48; }
.voice-tutor-compose > small { display:block; min-height:15px; margin:5px 8px 0; color:var(--muted); font-size:10px; font-weight:720; line-height:1.25; }
.voice-tutor-conversation > .voice-tutor-talk { width:100%; min-height:58px !important; margin:0; grid-template-columns:40px 1fr; padding:7px 10px 7px 8px !important; border:1px solid color-mix(in srgb,var(--tutor-accent) 24%,white); border-radius:18px !important; background:var(--tutor-surface); box-shadow:none; }
.voice-tutor-conversation > .voice-tutor-talk .voice-tutor-talk__orb { width:40px; height:40px; background:var(--tutor-accent); }
.voice-tutor-conversation > .voice-tutor-talk > [data-talk-label] { padding-left:7px; font-size:12px; }
.voice-tutor-conversation > .voice-tutor-talk > small { padding-left:7px; font-size:7px; }
.voice-tutor-status-copy { position:absolute; width:1px; height:1px; padding:0; border:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.voice-tutor-layer[data-tutor-age="early-primary"] { width:min(900px,calc(100vw - 24px)); height:min(400px,calc(100dvh - 116px)); }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-shell { grid-template-columns:minmax(240px,32%) minmax(0,1fr); }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-conversation__identity h2 { font-size:clamp(25px,2.7vw,34px); }
.voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-compose input { min-height:64px; font-size:16px; }
.voice-tutor-layer[data-tutor-age="middle-primary"] { width:min(880px,calc(100vw - 24px)); height:min(380px,calc(100dvh - 116px)); }
.voice-tutor-layer[data-tutor-age="upper-primary"] { width:min(860px,calc(100vw - 24px)); height:min(370px,calc(100dvh - 116px)); }

@media (max-width: 900px) {
  .voice-tutor-layer { right:auto; bottom:92px; left:50%; width:calc(100vw - 20px); height:min(390px,calc(100dvh - 108px)); }
}

@media (max-width: 620px) {
  .voice-guide-dock { left: 10px; right: 10px; bottom: 10px; min-height: 70px; padding-left: 15px; }
  .voice-guide-dock__pulse { display: none; }
  .voice-guide-dock > div:nth-of-type(1) { min-width: 0; flex: 1; }
  .voice-guide-dock__guides button { width: 54px; height: 54px; }
  .voice-tutor-layer { right:auto; bottom:84px; left:50%; width:calc(100vw - 12px); height:min(340px,calc(100dvh - 92px)); }
  .voice-tutor-shell { border-radius: 29px 37px 31px 41px / 35px 28px 43px 31px; }
  .voice-tutor-close { top: 9px; right: 9px; width: 34px; height: 34px; }
  .voice-tutor-character { min-height: 144px; padding: 10px 48px 10px 10px; grid-template-columns: 90px minmax(0,1fr); column-gap: 10px; }
  .voice-tutor-motion { width: 90px; height: 120px; }
  .voice-tutor-character__copy h2 { font-size: 23px; }
  .voice-tutor-character__copy p { max-width: 180px; font-size: 10px; }
  .voice-tutor-status { padding: 6px 8px; }
  .voice-tutor-conversation { padding: 11px 12px 13px; }
  .voice-tutor-conversation > header strong { max-width: 220px; font-size: 14px; }
  .voice-tutor-private { display: none !important; }
  .voice-tutor-transcript { margin-top: 7px; }
  .voice-tutor-message { max-width: 92%; }
  .voice-tutor-budget { margin-top: 8px; }
  .voice-tutor-controls { grid-template-columns: 46px 1fr 46px; }
  .voice-tutor-controls button { padding: 8px; }
  .voice-tutor-start, .voice-tutor-stop:not(:disabled) { font-size: 0; }
  .voice-tutor-start > span:first-child, .voice-tutor-stop > span:first-child { font-size: 17px; }
  .voice-tutor-stop [data-stop-label] { font-size: 0; }
  .voice-tutor-talk { grid-template-columns: 38px 1fr; min-height: 54px !important; padding: 7px 11px 7px 8px !important; }
  .voice-tutor-talk__orb { width: 38px; height: 38px; }
  .voice-tutor-talk > [data-talk-label] { font-size: 12px; }
  .voice-tutor-layer[data-tutor-age="early-primary"],
  .voice-tutor-layer[data-tutor-age="middle-primary"],
  .voice-tutor-layer[data-tutor-age="upper-primary"] { width:calc(100vw - 12px); height:min(690px,calc(100dvh - 92px)); }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-character,
  .voice-tutor-layer[data-tutor-age="upper-primary"] .voice-tutor-character { min-height:154px; grid-template-columns:96px minmax(0,1fr); }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-motion,
  .voice-tutor-layer[data-tutor-age="upper-primary"] .voice-tutor-motion { width:96px; height:128px; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-character__copy h2 { font-size:27px; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-character__copy p { font-size:12px; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-message p { font-size:15px; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-message--welcome small { font-size:11px; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-prompts button { min-height:54px; grid-template-columns:24px minmax(0,1fr); }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-prompts button span { width:24px; font-size:13px; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-prompts button strong { font-size:10px; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-talk { min-height:58px !important; }
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-talk > [data-talk-label] { font-size:13px; }
  .voice-tutor-disclosure { font-size:9px !important; }
  .voice-tutor-hero.voice-tutor-character,
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-hero.voice-tutor-character,
  .voice-tutor-layer[data-tutor-age="middle-primary"] .voice-tutor-hero.voice-tutor-character,
  .voice-tutor-layer[data-tutor-age="upper-primary"] .voice-tutor-hero.voice-tutor-character { min-height:210px; padding:10px 48px 10px 10px; grid-template-columns:142px minmax(0,1fr); }
  .voice-tutor-hero .voice-tutor-motion,
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-hero .voice-tutor-motion,
  .voice-tutor-layer[data-tutor-age="middle-primary"] .voice-tutor-hero .voice-tutor-motion,
  .voice-tutor-layer[data-tutor-age="upper-primary"] .voice-tutor-hero .voice-tutor-motion { width:142px; height:184px; }
  .voice-tutor-hero .voice-tutor-character__copy { padding-bottom:14px; }
  .voice-tutor-hero .voice-tutor-character__copy h2,
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-hero .voice-tutor-character__copy h2 { font-size:31px; }
  .voice-tutor-hero .voice-tutor-character__copy small { font-size:11px; }
  .voice-tutor-transcript { min-height:150px; }
  .voice-tutor-conversation > .voice-tutor-talk { min-height:62px !important; }
  .voice-tutor-layer[data-tutor-age="early-primary"],
  .voice-tutor-layer[data-tutor-age="middle-primary"],
  .voice-tutor-layer[data-tutor-age="upper-primary"] { right:auto; left:50%; width:calc(100vw - 12px); height:min(340px,calc(100dvh - 92px)); }
  .voice-tutor-shell,
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-shell { grid-template-columns:minmax(112px,29%) minmax(0,1fr); }
  .voice-tutor-teacher { padding:0; }
  .voice-tutor-teacher .voice-tutor-motion,
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-teacher .voice-tutor-motion,
  .voice-tutor-layer[data-tutor-age="middle-primary"] .voice-tutor-teacher .voice-tutor-motion,
  .voice-tutor-layer[data-tutor-age="upper-primary"] .voice-tutor-teacher .voice-tutor-motion { inset:0; width:100%; height:100%; }
  .voice-tutor-conversation { padding:12px 10px 10px; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr) auto auto; gap:7px; }
  .voice-tutor-conversation__identity { padding:0 38px 0 0; }
  .voice-tutor-conversation__identity h2,
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-conversation__identity h2 { gap:6px; font-size:clamp(18px,5vw,24px); }
  .voice-tutor-transcript { grid-column:1; min-height:0; margin:0; }
  .voice-tutor-compose input,
  .voice-tutor-layer[data-tutor-age="early-primary"] .voice-tutor-compose input { min-height:50px; padding:10px 88px 10px 12px; font-size:12px; }
  .voice-tutor-compose > button { min-width:72px; padding:0 9px; font-size:10px; }
  .voice-tutor-conversation > .voice-tutor-talk { min-height:54px !important; grid-template-columns:38px 1fr; padding:6px 10px 6px 7px !important; }
  .voice-tutor-conversation > .voice-tutor-talk .voice-tutor-talk__orb { width:38px; height:38px; }
  .voice-tutor-conversation > .voice-tutor-talk > [data-talk-label] { font-size:13px; }
}

@media (prefers-reduced-motion: reduce) {
  .voice-guide-dock, .voice-guide-dock__pulse, .voice-tutor-layer, .voice-tutor-shell,
  .voice-tutor-status > span i,
  .voice-tutor-talk__orb { animation: none !important; }
  .voice-tutor-motion video { display: none; }
  .voice-tutor-motion img { z-index: 3; }
}

/* Word Quest roulette: every word lives inside a protected, readable orbit. */
.play-game-screen .word-roulette { width:min(72vh,720px); max-width:82vw; border-width:15px; overflow:visible; background:var(--violet); box-shadow:0 20px 0 rgba(38,38,43,.18),inset 0 0 0 18px rgba(255,255,255,.17); }
.play-game-screen .word-roulette:before { inset:8%; border-color:rgba(255,255,255,.48); }
.play-game-screen .word-roulette__dial>span { width:142px; height:65px; padding:7px 10px; border-radius:18px 23px 19px 21px / 21px 18px 23px 19px; background:var(--soft-white); color:var(--graphite); box-shadow:0 4px 0 rgba(38,38,43,.18); transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(-220px) rotate(calc(var(--word-position) * -45deg)); }
.play-game-screen .word-roulette__dial b { max-width:100%; overflow-wrap:anywhere; font-size:clamp(14px,1.45vw,20px); line-height:.88; }
.play-game-screen .word-roulette__dial small { color:var(--violet); font-size:9px; line-height:1; }
.play-game-screen .word-roulette__core { width:43%; border-width:7px; background:var(--lime); color:var(--graphite); box-shadow:0 9px 0 rgba(38,38,43,.24); }
.play-game-screen .word-roulette__core strong { max-width:230px; font-size:clamp(34px,4vw,62px); }
@media (max-width:760px) { .play-game-screen .word-roulette { width:min(92vw,460px); max-width:none; border-width:11px; }.play-game-screen .word-roulette__dial>span { width:92px; height:53px; padding:5px 6px; border-radius:15px 18px 14px 17px / 17px 14px 18px 15px; transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(-118px) rotate(calc(var(--word-position) * -45deg)); }.play-game-screen .word-roulette__dial b { font-size:11px; line-height:.9; }.play-game-screen .word-roulette__dial small { margin-top:2px; font-size:6px; }.play-game-screen .word-roulette__core { width:45%; }.play-game-screen .word-roulette__core strong { max-width:150px; font-size:clamp(29px,8vw,43px); } }

/* Categories orbit the wheel; the chosen vocabulary word owns the centre. */
.play-game-screen .word-roulette { width:min(77vh,780px); max-width:88vw; }
.play-game-screen .word-roulette__dial>span { width:154px; height:50px; padding:8px 12px; transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(calc(-1 * clamp(180px,31vh,245px))) rotate(calc(var(--word-position) * -45deg)); }
.play-game-screen .word-roulette__dial b { overflow:visible; white-space:nowrap; font-size:clamp(13px,1.5vw,19px); line-height:1; }
.play-game-screen .word-roulette__core { width:55%; }
.play-game-screen .word-roulette__core strong { max-width:none; overflow:visible; white-space:nowrap; font-size:clamp(27px,3.6vw,52px); }
@media (max-width:760px) { .play-game-screen .word-roulette { width:min(95vw,510px); }.play-game-screen .word-roulette__dial>span { width:104px; height:42px; padding:5px 7px; transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(calc(-1 * clamp(105px,26vh,128px))) rotate(calc(var(--word-position) * -45deg)); }.play-game-screen .word-roulette__dial b { font-size:10px; }.play-game-screen .word-roulette__core { width:59%; }.play-game-screen .word-roulette__core strong { font-size:clamp(23px,6.6vw,34px); } }

/* Free, saved on-device guide voice controls. */
.play-game-screen__audio { position:absolute; z-index:5; top:24px; right:clamp(18px,4vw,64px); display:flex; gap:8px; }.play-game-screen__voice { display:flex; min-height:42px; padding:9px 14px; align-items:center; gap:7px; border:0; border-radius:999px; background:rgba(38,38,43,.1); color:var(--graphite); font:750 11px var(--font-display); cursor:pointer; }.play-game-screen__voice.is-on { background:var(--violet); color:var(--soft-white); }.play-game-screen__voice span { font-size:14px; letter-spacing:-2px; }.play-game-screen__audio .play-game-screen__sound { position:static; }.play-game-screen__audio .play-game-screen__sound span { margin-right:5px; }
@media (max-width:760px) { .play-game-screen__audio { top:14px; right:13px; gap:5px; }.play-game-screen__voice,.play-game-screen__audio .play-game-screen__sound { width:42px; min-height:42px; padding:0; justify-content:center; font-size:0; }.play-game-screen__voice span,.play-game-screen__audio .play-game-screen__sound span { margin:0; font-size:15px; } }

/* Word Quest is an actual full-viewport game, never a page inside a shell. */
.immersive-nav + .play-game-screen { position:fixed; inset:0; z-index:40; min-height:100dvh; padding:0; overflow:auto; background:radial-gradient(circle at 50% 43%,#f7efbd 0 10%,transparent 36%),radial-gradient(circle at 18% 88%,rgba(255,111,98,.38),transparent 33%),linear-gradient(135deg,var(--violet),#7455d5 55%,#49309c); }
.immersive-nav:has(+ .play-game-screen) { position:fixed; inset:0 0 auto; z-index:55; background:transparent; pointer-events:none; }.immersive-nav:has(+ .play-game-screen) a,.immersive-nav:has(+ .play-game-screen) button { pointer-events:auto; }
.play-game-screen .word-quest { min-height:100dvh; margin:0; padding:clamp(96px,10vh,126px) clamp(18px,5vw,78px) 34px; border-radius:0; background:transparent; }
.play-game-screen .word-quest__intro,.play-game-screen .word-quest__promise { display:none; }
.word-quest__stage-label { position:absolute; z-index:6; top:clamp(104px,12vh,144px); left:50%; display:grid; gap:4px; transform:translateX(-50%); text-align:center; color:var(--soft-white); }.word-quest__stage-label span { font:750 11px var(--font-display); letter-spacing:.12em; text-transform:uppercase; opacity:.78; }.word-quest__stage-label strong { font:800 clamp(26px,4vw,52px)/.9 var(--font-display); letter-spacing:-.065em; white-space:nowrap; }.word-quest__stage-label button { position:absolute; top:50%; left:calc(100% + 16px); display:grid; width:30px; height:30px; place-items:center; border:2px solid currentColor; border-radius:50%; background:transparent; color:inherit; font:800 17px/1 var(--font-display); cursor:pointer; transform:translateY(-50%); }
.play-game-screen .word-quest__board { width:100%; min-height:calc(100dvh - 160px); margin:0; }.play-game-screen .word-quest__arena { min-height:calc(100dvh - 160px); }.play-game-screen .word-quest__mission { display:none; }.play-game-screen .word-quest__mission.is-open { position:fixed; z-index:80; top:50%; left:50%; display:block; width:min(560px,calc(100vw - 32px)); min-height:0; max-height:min(680px,calc(100dvh - 48px)); margin:0; padding:clamp(32px,5vw,52px); overflow:auto; background:var(--soft-white); box-shadow:0 30px 90px rgba(21,13,62,.42); transform:translate(-50%,-50%); }.play-game-screen .word-quest__mission.is-open:before { position:fixed; z-index:-1; inset:-50vmax; background:rgba(19,11,48,.58); content:''; backdrop-filter:blur(8px); }.word-quest__mission-close { position:absolute; top:16px; right:18px; display:grid; width:36px; aspect-ratio:1; place-items:center; border:0; border-radius:50%; background:var(--graphite); color:var(--soft-white); font-size:25px; cursor:pointer; }.play-game-screen .word-quest__mission .word-quest__status strong { font-size:clamp(42px,7vw,76px); }
.play-game-screen .word-quest__timer--hero { width:min(72vh,700px); }.play-game-screen .word-quest__board--present .word-quest__timer--hero { background:rgba(255,255,255,.12); border-radius:50%; }
@media (max-width:760px) { .play-game-screen .word-quest { padding-top:86px; }.word-quest__stage-label { top:96px; }.word-quest__stage-label strong { max-width:72vw; overflow:hidden; text-overflow:ellipsis; }.play-game-screen .word-quest__arena,.play-game-screen .word-quest__board { min-height:calc(100dvh - 104px); }.play-game-screen .word-quest__timer--hero { width:min(88vw,480px); }.play-game-screen .word-quest__mission.is-open { padding:32px 25px; } }

/* Immersive subpages: no frosted banner, navigation chrome, or competing controls. */
.immersive-nav { position:fixed; z-index:300; top:0; left:0; right:0; display:flex; min-height:74px; padding:15px clamp(16px,3vw,44px); align-items:center; justify-content:space-between; pointer-events:none; }
.immersive-nav:before { display:none; }
.immersive-nav__logo,.immersive-nav__back { pointer-events:auto; }
.immersive-nav__logo { display:grid; width:112px; padding:0; border:0; background:transparent; color:var(--graphite); cursor:pointer; text-align:left; transition:transform .24s var(--ease-spring); }
.immersive-nav__logo:hover { transform:rotate(-3deg) scale(1.05); }
.immersive-nav__logo .good-ones-logo { width:100%; }
.immersive-nav__back { display:flex; min-height:44px; padding:7px 2px 7px 8px; align-items:center; gap:10px; border:0; border-bottom:4px solid var(--graphite); background:transparent; color:var(--graphite); cursor:pointer; font:800 12px/1 var(--font-display); letter-spacing:.01em; transition:transform .2s var(--ease-spring),border-color .2s ease; }
.immersive-nav__back:hover { border-color:var(--coral); transform:translateX(-5px); }
.immersive-nav__back span { font:700 26px/.8 var(--font-display); }
.immersive-nav__back i { font-style:normal; }
.immersive-nav + .learner-main,.immersive-nav + .play-game-screen { width:100%; max-width:none; min-height:100vh; padding-top:96px; }
.immersive-nav + .class-world-main { padding-inline:0; }
.immersive-nav + .class-world-main .class-back { display:none; }
.immersive-nav + .play-game-screen { min-height:100vh; }
@media (max-width:760px) { .immersive-nav { min-height:65px; padding:10px 14px; }.immersive-nav__logo { width:94px; }.immersive-nav__back { min-height:44px; font-size:10px; }.immersive-nav__back span { font-size:22px; }.immersive-nav + .learner-main,.immersive-nav + .play-game-screen { padding-top:76px; } }

/* The roulette itself spins under its fixed coral pointer. */
.word-roulette.is-spinning { animation:word-roulette-spin 2.2s cubic-bezier(.13,.77,.12,1) both; }
.word-roulette.is-spinning .word-roulette__dial { animation:none; }

/* A bright toy-like mission card, never a grey system modal. */
.play-game-screen .word-quest__mission.is-open { background:radial-gradient(circle at 87% 13%,var(--lime) 0 12%,transparent 12.5%),radial-gradient(circle at 13% 87%,var(--coral) 0 13%,transparent 13.5%),var(--oat); box-shadow:0 0 0 100vmax rgba(36,22,80,.42),0 30px 90px rgba(21,13,62,.42); transform:translate(-50%,-50%) rotate(-1deg); }
.play-game-screen .word-quest__mission.is-open:before { display:none; }
.word-quest__mission-close { background:var(--violet); }

/* Word Quest: flat, graphic and tactile—no gradient or decorative dot wallpaper. */
.immersive-nav + .play-game-screen { background:var(--violet); }
.play-game-screen .word-quest { position:relative; background:var(--violet); }
.play-game-screen .word-quest:before,.play-game-screen .word-quest:after { position:absolute; z-index:0; border-radius:50%; content:''; pointer-events:none; }.play-game-screen .word-quest:before { top:-16vh; right:-8vw; width:48vw; aspect-ratio:1; background:var(--coral); }.play-game-screen .word-quest:after { bottom:-24vh; left:-13vw; width:44vw; aspect-ratio:1; background:var(--lime); }
.word-quest__grain { display:none; }
.word-quest__stage-label { top:clamp(92px,11vh,126px); left:clamp(24px,7vw,120px); z-index:7; transform:none; text-align:left; }.word-quest__stage-label strong { font-size:clamp(28px,3.3vw,46px); }.word-quest__stage-label button { left:calc(100% + 12px); }
.play-game-screen .word-quest__board,.play-game-screen .word-quest__arena,.word-roulette-wrap { z-index:2; }
.play-game-screen .word-quest__arena { padding-top:50px; }.play-game-screen .word-roulette { background:var(--violet); box-shadow:0 18px 0 rgba(38,38,43,.24),inset 0 0 0 18px rgba(255,255,255,.15); }.play-game-screen .word-roulette:before { border-color:rgba(255,255,255,.68); }.play-game-screen .word-roulette__core { background:var(--lime); }.play-game-screen .word-roulette__dial>span { background:var(--soft-white); box-shadow:0 5px 0 rgba(38,38,43,.22); }
@keyframes word-roulette-spin { 0%{transform:rotate(var(--wheel-from))}68%{transform:rotate(calc(var(--wheel-angle) - 100deg))}84%{transform:rotate(calc(var(--wheel-angle) + 25deg))}100%{transform:rotate(var(--wheel-angle))} }
@media (max-width:760px) { .word-quest__stage-label { top:88px; left:24px; }.play-game-screen .word-quest__arena { padding-top:55px; }.play-game-screen .word-quest:before { width:68vw; }.play-game-screen .word-quest:after { width:72vw; } }

/* Keep the entire play object and its action inside one viewport. */
.play-game-screen .word-quest:before { top:17%; right:-8%; width:28vw; aspect-ratio:1.25; border-radius:63% 37% 58% 42% / 43% 59% 41% 57%; }.play-game-screen .word-quest:after { bottom:-9%; left:-7%; width:24vw; aspect-ratio:1.1; border-radius:42% 58% 35% 65% / 62% 38% 62% 38%; }
.play-game-screen .word-quest__arena { min-height:calc(100dvh - 112px); padding:48px 0 78px; }.play-game-screen .word-roulette { width:min(60vh,620px); max-width:66vw; }.play-game-screen .word-roulette__dial>span { transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(calc(-1 * min(24vh,215px))) rotate(calc(var(--word-position) * -45deg)); }.word-roulette-wrap { width:100%; }.play-game-screen .word-quest__spin { position:absolute; bottom:5px; left:50%; z-index:5; margin:0; transform:translateX(-50%); white-space:nowrap; }.play-game-screen .word-quest__spin:hover:not(:disabled) { transform:translateX(-50%) rotate(-2deg) scale(1.04); }
@media (max-width:760px) { .play-game-screen .word-quest:before { top:20%; right:-18%; width:47vw; }.play-game-screen .word-quest:after { bottom:-3%; left:-18%; width:45vw; }.play-game-screen .word-quest__arena { min-height:calc(100dvh - 78px); padding:38px 0 76px; }.play-game-screen .word-roulette { width:min(53vh,400px); max-width:88vw; }.play-game-screen .word-roulette__dial>span { transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(calc(-1 * min(20vh,128px))) rotate(calc(var(--word-position) * -45deg)); } }

/* The selection state always exposes the next mission; nothing important hides in a modal. */
.word-quest__stage-action { position:absolute; z-index:8; bottom:12px; left:50%; display:flex; min-height:62px; padding:11px 14px 11px 24px; align-items:center; gap:15px; border:0; border-radius:999px; background:var(--graphite); box-shadow:0 6px 0 rgba(38,38,43,.26); color:var(--soft-white); font:800 clamp(13px,1.2vw,17px) var(--font-display); cursor:pointer; transform:translateX(-50%); white-space:nowrap; }.word-quest__stage-action b { display:grid; width:35px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--lime); color:var(--graphite); font-size:21px; }.word-quest__stage-action:hover { transform:translateX(-50%) translateY(-3px) rotate(-1deg); }
.play-game-screen .word-quest__board--selected .word-quest__spin { bottom:84px; transform:translateX(-50%) scale(.8); }.play-game-screen .word-quest__board--selected .word-quest__spin:hover:not(:disabled) { transform:translateX(-50%) scale(.84) rotate(-2deg); }
.play-game-screen .word-quest:before { top:24%; right:-4%; width:14vw; aspect-ratio:1; }.play-game-screen .word-quest:after { bottom:-2%; left:-4%; width:13vw; aspect-ratio:1; }.play-game-screen .word-roulette { width:min(66vh,700px); max-width:70vw; }.play-game-screen .word-roulette__dial>span { transform:translate(-50%,-50%) rotate(calc(var(--word-position) * 45deg)) translateY(calc(-1 * min(26vh,240px))) rotate(calc(var(--word-position) * -45deg)); }.play-game-screen .word-roulette__core strong { font-size:clamp(42px,5.2vw,78px); }
@media (max-width:760px) { .play-game-screen .word-quest__stage-action { width:calc(100% - 32px); justify-content:center; font-size:13px; }.play-game-screen .word-quest__board--selected .word-quest__spin { bottom:78px; }.play-game-screen .word-quest:before { width:24vw; }.play-game-screen .word-quest:after { width:25vw; }.play-game-screen .word-roulette { width:min(56vh,430px); max-width:90vw; } }

/* Active-step tools remain visible beside the hero timer. */
.play-game-screen .word-quest__board { position:relative; }.play-game-screen .word-quest__board--research .word-quest__mission:not(.is-open),.play-game-screen .word-quest__board--outline .word-quest__mission:not(.is-open),.play-game-screen .word-quest__board--present .word-quest__mission:not(.is-open) { position:absolute; z-index:7; top:50%; right:clamp(18px,4vw,68px); display:block; width:min(380px,27vw); min-height:0; max-height:68dvh; margin:0; padding:24px; overflow:auto; border:3px solid var(--graphite); border-radius:38px 27px 42px 31px / 31px 43px 28px 39px; background:var(--oat); box-shadow:8px 9px 0 rgba(38,38,43,.2); transform:translateY(-50%); }.play-game-screen .word-quest__board--research .word-quest__mission:not(.is-open) .word-quest__mission-close,.play-game-screen .word-quest__board--outline .word-quest__mission:not(.is-open) .word-quest__mission-close,.play-game-screen .word-quest__board--present .word-quest__mission:not(.is-open) .word-quest__mission-close { display:none; }.play-game-screen .word-quest__mission:not(.is-open) .word-quest__status strong { font-size:36px; }.play-game-screen .word-quest__mission:not(.is-open) .word-quest__controls { display:none; }.play-game-screen .word-quest__mission:not(.is-open) .word-quest__research>div { grid-template-columns:1fr; }.play-game-screen .word-quest__mission:not(.is-open) .word-quest__research a { min-height:54px; }
.play-game-screen .word-quest__timer--hero strong { color:var(--soft-white); text-shadow:0 4px 0 rgba(38,38,43,.24); }.play-game-screen .word-quest__timer--hero small,.play-game-screen .word-quest__timer--hero span { color:var(--soft-white); }.play-game-screen .word-quest__timer--hero i { color:var(--lime); }.play-game-screen .word-quest__timer--hero circle { stroke:rgba(255,255,255,.2); }.play-game-screen .word-quest__timer--hero .word-quest__timer-progress { stroke:var(--lime); }
.play-game-screen .word-quest__mission.is-open { background:var(--oat); }
@media (max-width:900px) { .play-game-screen .word-quest__board--research .word-quest__mission:not(.is-open),.play-game-screen .word-quest__board--outline .word-quest__mission:not(.is-open),.play-game-screen .word-quest__board--present .word-quest__mission:not(.is-open) { top:auto; right:16px; bottom:86px; left:16px; width:auto; max-height:34dvh; transform:none; }.play-game-screen .word-quest__timer--hero { width:min(62vh,84vw); } }

/* Word Quest v3 — a flat, extra-wide arcade word reel with protected typography. */
.play-game-screen .word-quest {
  min-height:100dvh;
  padding:0;
  background:var(--violet);
}
.play-game-screen .word-quest:before,
.play-game-screen .word-quest:after { display:none; }
.play-game-screen__audio { top:24px; right:104px; }
.word-quest__stage-label {
  z-index:60;
  top:26px;
  left:50%;
  gap:1px;
  transform:translateX(-50%);
  text-align:center;
}
.word-quest__stage-label span { font-size:9px; }
.word-quest__stage-label strong {
  max-width:52vw;
  overflow:hidden;
  color:var(--soft-white);
  font-size:clamp(38px,4.5vw,62px);
  letter-spacing:-.055em;
  text-overflow:ellipsis;
}
.word-quest__stage-label button { left:calc(100% + 15px); }
.play-game-screen .word-quest__board,
.play-game-screen .word-quest__arena {
  width:100%;
  min-height:100dvh;
  margin:0;
}
.play-game-screen .word-quest__arena {
  padding:clamp(126px,15vh,174px) 0 clamp(102px,11vh,126px);
}
.word-slot-wrap {
  position:relative;
  z-index:3;
  display:grid;
  width:100%;
  min-height:calc(100dvh - 210px);
  place-items:center;
  transition:opacity .5s ease,transform .75s cubic-bezier(.18,.9,.24,1);
}
.word-slot {
  --slot-row-height:clamp(132px,18.5vh,214px);
  position:relative;
  z-index:2;
  width:min(76vw,1540px);
  padding:30px;
  border-radius:clamp(70px,7vw,128px);
  background:var(--graphite);
  box-shadow:0 17px 0 rgba(38,38,43,.24);
}
.word-slot__category {
  position:absolute;
  z-index:5;
  top:-70px;
  left:50%;
  display:grid;
  min-width:250px;
  min-height:82px;
  padding:18px 42px 12px;
  place-items:center;
  border-radius:56% 44% 0 0 / 72% 72% 0 0;
  background:var(--graphite);
  color:var(--soft-white);
  font:800 clamp(22px,2.2vw,38px)/1 var(--font-display);
  letter-spacing:-.04em;
  text-transform:uppercase;
  transform:translateX(-50%);
}
.word-slot__window {
  position:relative;
  height:calc(var(--slot-row-height) * 3);
  overflow:hidden;
  border-radius:clamp(46px,5vw,98px);
  background:var(--oat);
}
.word-slot__selection {
  position:absolute;
  z-index:2;
  top:var(--slot-row-height);
  right:0;
  left:0;
  height:var(--slot-row-height);
  background:var(--lime);
}
.word-slot__window:before,
.word-slot__window:after {
  position:absolute;
  z-index:4;
  right:0;
  left:0;
  height:8px;
  background:var(--graphite);
  content:"";
  pointer-events:none;
}
.word-slot__window:before { top:calc(var(--slot-row-height) - 4px); }
.word-slot__window:after { top:calc(var(--slot-row-height) * 2 - 4px); }
.word-slot__track { position:relative; z-index:1; will-change:transform; }
.word-slot__base-clip {
  position:absolute;
  z-index:1;
  right:0;
  left:0;
  height:var(--slot-row-height);
  overflow:hidden;
}
.word-slot__base-clip--top { top:0; }
.word-slot__base-clip--bottom { bottom:0; }
.word-slot__base-clip--bottom .word-slot__track { top:calc(var(--slot-row-height) * -2); }
.word-slot__focus-clip {
  position:absolute;
  z-index:3;
  top:var(--slot-row-height);
  right:0;
  left:0;
  height:var(--slot-row-height);
  overflow:hidden;
  pointer-events:none;
}
.word-slot__track--focus {
  top:calc(var(--slot-row-height) * -1);
  color:var(--graphite);
}
.word-slot__row {
  display:grid;
  height:var(--slot-row-height);
  padding:0 clamp(22px,2.2vw,46px);
  grid-template-columns:clamp(38px,5vw,86px) minmax(0,1fr) clamp(38px,5vw,86px);
  align-items:center;
  gap:clamp(15px,2.3vw,46px);
  color:var(--violet);
}
.word-slot__track--focus .word-slot__row { color:var(--graphite); }
.word-slot__safe {
  display:flex;
  width:100%;
  height:92%;
  min-width:0;
  padding:0 8px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.word-slot__word {
  --word-max:84px;
  --word-min:28px;
  display:block;
  max-width:100%;
  margin:0;
  color:inherit;
  font:800 84px/.78 var(--font-display);
  letter-spacing:-.052em;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
}
.word-slot__row.is-selected .word-slot__word {
  --word-max:142px;
  --word-min:34px;
  font-size:142px;
}
.word-slot__track--focus .word-slot__word {
  --word-max:142px;
  --word-min:34px;
  font-size:142px;
}
.word-slot__marks {
  display:grid;
  width:100%;
  gap:14px;
  justify-items:center;
}
.word-slot__marks i {
  display:block;
  width:min(100%,60px);
  height:8px;
  border-radius:999px;
  background:currentColor;
}
.word-slot__marks i:first-child { transform:translateX(-8px); }
.word-slot__marks i:last-child { transform:translateX(8px); }
.word-slot__marks--right i:first-child { transform:translateX(8px); }
.word-slot__marks--right i:last-child { transform:translateX(-8px); }
.word-slot.is-spinning { animation:word-slot-machine-rumble 4.1s linear both; }
.word-slot.is-spinning .word-slot__track {
  animation:word-slot-roll 4.08s linear both;
}
.word-slot.is-spinning .word-slot__category { color:var(--lime); }
@keyframes word-slot-roll {
  0% { transform:translateY(calc(var(--slot-row-height) * -1)); }
  3% { transform:translateY(calc(var(--slot-row-height) * -2.2)); }
  10% { transform:translateY(calc(var(--slot-row-height) * -8.5)); }
  24% { transform:translateY(calc(var(--slot-row-height) * -18)); }
  46% { transform:translateY(calc(var(--slot-row-height) * -29)); }
  62% { transform:translateY(calc(var(--slot-row-height) * -34.6)); }
  74% { transform:translateY(calc(var(--slot-row-height) * -37)); }
  84% { transform:translateY(calc(var(--slot-row-height) * -38.05)); }
  90% { transform:translateY(calc(var(--slot-row-height) * -38.55)); }
  94% { transform:translateY(calc(var(--slot-row-height) * -39.12)); }
  97% { transform:translateY(calc(var(--slot-row-height) * -38.9)); }
  100% { transform:translateY(calc(var(--slot-row-height) * -39)); }
}
@keyframes word-slot-machine-rumble {
  0%,7%,14%,21%,28%,35%,42%,49%,56% { transform:translateX(-1px) rotate(-.08deg); }
  3.5%,10.5%,17.5%,24.5%,31.5%,38.5%,45.5%,52.5%,59.5% { transform:translateX(1px) rotate(.08deg); }
  72% { transform:translateX(-.6px); }
  86% { transform:translateX(.4px); }
  94% { transform:translateY(0) scale(1); }
  96% { transform:translateY(3px) scale(.998); }
  100% { transform:none; }
}
.play-game-screen .word-quest[data-word-quest-phase="selected"] .word-slot__selection { animation:word-slot-lock-flash .58s var(--ease-spring) both; }
.play-game-screen .word-quest[data-word-quest-phase="selected"] .word-slot__track--focus .word-slot__row.is-selected .word-slot__word { animation:word-slot-word-lock .7s var(--ease-spring) both; }
@keyframes word-slot-lock-flash {
  0% { filter:brightness(1.7); transform:scaleY(.84); }
  55% { filter:brightness(1.05); transform:scaleY(1.04); }
  100% { filter:none; transform:none; }
}
@keyframes word-slot-word-lock {
  0% { opacity:.45; transform:translateY(-24px) scale(.82); }
  62% { opacity:1; transform:translateY(5px) scale(1.06); }
  100% { opacity:1; transform:none; }
}
.word-slot__spectators { position:absolute; z-index:4; inset:0; pointer-events:none; }
.play-game-screen .word-slot-wrap .word-quest__spin {
  position:absolute;
  z-index:8;
  bottom:0;
  left:50%;
  min-height:70px;
  margin:0;
  padding:12px 15px 12px 30px;
  gap:22px;
  font-size:clamp(15px,1.2vw,19px);
  transform:translateX(-50%);
}
.play-game-screen .word-slot-wrap .word-quest__spin b { width:46px; }
.play-game-screen .word-slot-wrap .word-quest__spin:hover:not(:disabled) { transform:translateX(-50%) translateY(-4px) rotate(-1deg) scale(1.02); }
.play-game-screen .word-quest__board--selected .word-slot-wrap .word-quest__spin { bottom:74px; transform:translateX(-50%) scale(.83); }
.play-game-screen .word-quest__board--selected .word-slot-wrap .word-quest__spin:hover:not(:disabled) { transform:translateX(-50%) translateY(-3px) rotate(-1deg) scale(.86); }
.play-game-screen .word-quest__board--research .word-slot-wrap,
.play-game-screen .word-quest__board--outline .word-slot-wrap,
.play-game-screen .word-quest__board--present .word-slot-wrap {
  opacity:0;
  transform:scale(.3) translateY(12vh);
  pointer-events:none;
}
.play-game-screen .word-quest__board--research .word-quest__timer--hero,
.play-game-screen .word-quest__board--outline .word-quest__timer--hero,
.play-game-screen .word-quest__board--present .word-quest__timer--hero {
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.play-game-screen .word-quest__timer--hero strong { color:var(--soft-white); }
.play-game-screen .word-quest__stage-action {
  position:fixed;
  bottom:16px;
}

@media (max-width:900px) {
  .play-game-screen__audio { top:13px; right:66px; }
  .word-quest__stage-label { top:72px; }
  .word-quest__stage-label span { display:none; }
  .word-quest__stage-label strong { max-width:70vw; font-size:clamp(29px,8vw,46px); }
  .play-game-screen .word-quest__arena { padding:142px 0 96px; }
  .word-slot-wrap { min-height:calc(100dvh - 150px); }
  .word-slot {
    --slot-row-height:clamp(104px,15.2vh,145px);
    width:94vw;
    padding:12px;
    border-radius:44px;
    box-shadow:0 10px 0 rgba(38,38,43,.22);
  }
  .word-slot__category { top:-50px; min-width:160px; min-height:58px; padding:11px 24px 8px; font-size:21px; }
  .word-slot__window { border-radius:32px; }
  .word-slot__window:before,.word-slot__window:after { height:5px; }
  .word-slot__row { padding:0 13px; grid-template-columns:30px minmax(0,1fr) 30px; gap:8px; }
  .word-slot__word { --word-max:48px; --word-min:18px; font-size:48px; }
  .word-slot__row.is-selected .word-slot__word { --word-max:68px; --word-min:21px; font-size:68px; }
  .word-slot__marks { gap:8px; }
  .word-slot__marks i { height:5px; }
  .word-slot__marks i:first-child { transform:translateX(-3px); }
  .word-slot__marks i:last-child { transform:translateX(3px); }
  .word-slot__marks--right i:first-child { transform:translateX(3px); }
  .word-slot__marks--right i:last-child { transform:translateX(-3px); }
  .word-slot__track--focus .word-slot__word { --word-max:68px; --word-min:21px; font-size:68px; }
  .play-game-screen .word-slot-wrap .word-quest__spin { position:fixed; z-index:20; bottom:18px; min-height:58px; padding:9px 11px 9px 20px; gap:13px; font-size:13px; }
  .play-game-screen .word-slot-wrap .word-quest__spin b { width:38px; }
  .play-game-screen .word-quest__board--selected .word-slot-wrap .word-quest__spin {
    position:fixed;
    bottom:88px;
  }
}

@media (max-height:780px) and (min-width:901px) {
  .word-slot { --slot-row-height:106px; width:min(74vw,1400px); padding:18px; }
  .word-slot__category { top:-48px; min-height:62px; }
  .play-game-screen .word-quest__arena { padding-top:108px; }
  .word-quest__stage-label { top:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .word-slot.is-spinning,
  .word-slot.is-spinning .word-slot__track,
  .play-game-screen .word-quest[data-word-quest-phase="selected"] .word-slot__selection,
  .play-game-screen .word-quest[data-word-quest-phase="selected"] .word-slot__track--focus .word-slot__row.is-selected .word-slot__word { animation-duration:.01ms; }
}

/* WORD QUEST — approved Research Safari v11
   One trusted source · approved timer · clean fact-finder journey. */
.play-game-screen .word-quest[data-word-quest-phase="research"] {
  min-height:100dvh;
  padding:0;
  overflow:hidden;
  background:var(--violet);
}
.play-game-screen .word-quest[data-word-quest-phase="research"]::before {
  position:absolute;
  z-index:0;
  bottom:-16vh;
  left:-7vw;
  width:34vw;
  min-width:390px;
  aspect-ratio:2.15/1;
  border-radius:51% 49% 42% 58% / 61% 41% 59% 39%;
  background:var(--oat);
  content:"";
  transform:rotate(8deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"]::after {
  position:absolute;
  z-index:0;
  bottom:-19vh;
  left:3vw;
  width:25vw;
  min-width:300px;
  aspect-ratio:2/1;
  border-radius:54% 46% 58% 42% / 48% 56% 44% 52%;
  background:var(--acid);
  content:"";
  transform:rotate(-5deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__grain,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__intro,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__promise,
.play-game-screen .word-quest__board--research .word-slot-wrap,
.play-game-screen .word-quest__board--research .word-quest__mission:not(.is-open) {
  display:none !important;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__board,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__arena {
  width:100%;
  min-height:100dvh;
  margin:0;
  padding:0;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__arena::after {
  display:none;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label {
  z-index:20;
  top:clamp(28px,4.2vh,54px);
  left:50%;
  display:flex;
  width:auto;
  max-width:46vw;
  align-items:center;
  gap:16px;
  color:var(--soft);
  transform:translateX(-50%);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label span:empty { display:none; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong {
  position:relative;
  display:block;
  max-width:none;
  padding-bottom:18px;
  overflow:visible;
  color:var(--soft);
  font:800 clamp(32px,2.7vw,52px)/.9 var(--font-display);
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-overflow:clip;
  white-space:nowrap;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong::after {
  position:absolute;
  right:7%;
  bottom:0;
  left:7%;
  height:10px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label button {
  width:38px;
  height:38px;
  flex:none;
  border:3px solid var(--soft);
  background:transparent;
  color:var(--soft);
  font:700 21px/1 var(--font-body);
}

.word-quest-research-stage {
  position:absolute;
  z-index:3;
  inset:0;
  display:grid;
  grid-template-columns:minmax(235px,.62fr) minmax(470px,1.45fr) minmax(420px,1fr);
  grid-template-areas:"source timer details";
  align-items:center;
  gap:clamp(24px,2.7vw,58px);
  width:min(1920px,calc(100vw - 72px));
  height:100dvh;
  margin:0 auto;
  padding:clamp(125px,13vh,158px) 0 clamp(26px,3.5vh,46px);
}
.word-quest-research__source {
  position:relative;
  grid-area:source;
  display:block;
  width:min(100%,330px);
  aspect-ratio:.69;
  justify-self:center;
  color:var(--ink);
  text-decoration:none;
  transform:rotate(-3deg);
  transition:transform .25s var(--ease-spring),filter .25s ease;
}
.word-quest-research__source:hover {
  filter:drop-shadow(0 12px 0 rgba(38,38,43,.12));
  transform:translateY(-8px) rotate(-1deg);
}
.word-quest-research__source-shadow,
.word-quest-research__source-book,
.word-quest-research__source-page {
  position:absolute;
  display:block;
}
.word-quest-research__source-shadow {
  inset:13px -12px -15px 15px;
  border-radius:47% 8% 12% 10% / 7% 9% 13% 9%;
  background:rgba(38,38,43,.16);
}
.word-quest-research__source-book {
  inset:0;
  overflow:hidden;
  border-radius:48% 8% 10% 11% / 8% 9% 11% 8%;
  background:var(--oat);
}
.word-quest-research__source-book::before {
  position:absolute;
  inset:0 auto 0 0;
  width:42px;
  background:var(--sun);
  content:"";
}
.word-quest-research__source-page {
  inset:10% 11% 21% 19%;
  background:var(--soft);
  clip-path:polygon(0 3%,93% 0,100% 94%,7% 100%);
}
.word-quest-research__source-copy {
  position:absolute;
  z-index:2;
  top:17%;
  right:13%;
  left:25%;
}
.word-quest-research__source-copy small {
  display:block;
  margin-bottom:18px;
  color:var(--violet);
  font:700 11px/1 var(--font-body);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.word-quest-research__source-copy strong {
  display:block;
  font:800 clamp(22px,1.55vw,31px)/.9 var(--font-display);
  letter-spacing:-.06em;
  text-transform:uppercase;
}
.word-quest-research__source-art {
  position:absolute;
  z-index:2;
  top:46%;
  left:26%;
  display:block;
  width:56%;
  transform:rotate(3deg);
}
.word-quest-research__source-art svg { display:block; width:100%; height:auto; }
.word-quest-research__source-match {
  position:absolute;
  z-index:3;
  right:42%;
  bottom:11%;
  left:20%;
  font:700 clamp(12px,.85vw,16px)/1.12 var(--font-body);
}
.word-quest-research__source>b {
  position:absolute;
  z-index:4;
  right:-4px;
  bottom:-13px;
  display:grid;
  width:116px;
  height:70px;
  place-items:center;
  clip-path:polygon(0 8%,100% 0,90% 100%,53% 75%,12% 100%);
  background:var(--ink);
  color:var(--soft);
  font:700 13px/1 var(--font-body);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.word-quest-research__timer-stage {
  position:relative;
  grid-area:timer;
  display:grid;
  width:100%;
  place-items:center;
}
.word-quest-research__pause {
  position:absolute;
  z-index:6;
  bottom:4.5%;
  left:50%;
  display:flex;
  min-width:136px;
  min-height:58px;
  padding:8px 19px 8px 9px;
  align-items:center;
  gap:11px;
  border:0;
  border-radius:46% 54% 43% 57% / 58% 45% 55% 42%;
  background:var(--pink);
  box-shadow:0 8px 0 rgba(38,38,43,.16);
  color:var(--ink);
  cursor:pointer;
  font:800 16px/1 var(--font-display);
  letter-spacing:-.02em;
  transform:translateX(-50%) rotate(-1deg);
  transition:transform .2s var(--ease-spring),box-shadow .2s ease;
}
.word-quest-research__pause:hover:not(:disabled) {
  box-shadow:0 11px 0 rgba(38,38,43,.14);
  transform:translateX(-50%) translateY(-4px) rotate(1deg);
}
.word-quest-research__pause i {
  display:grid;
  width:40px;
  height:40px;
  flex:none;
  border-radius:55% 45% 52% 48% / 48% 57% 43% 52%;
  background:var(--sun);
  color:var(--ink);
  font:900 20px/1 var(--font-display);
  font-style:normal;
  place-items:center;
}
.word-quest-research__pause.is-paused { background:var(--soft); }
.word-quest-research__pause.is-paused i { background:var(--acid); font-size:16px; }
.word-quest-research__pause:disabled { cursor:default; opacity:.68; }
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero {
  position:relative;
  z-index:2;
  width:min(69vh,700px,42vw);
  max-width:none;
  margin:0;
  opacity:1;
  pointer-events:auto;
  transform:none;
  animation:word-research-timer-arrive .72s cubic-bezier(.18,1,.25,1) both;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero::before {
  position:absolute;
  inset:-16px;
  z-index:-1;
  border:25px solid rgba(243,243,243,.11);
  border-radius:50%;
  content:"";
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero circle {
  stroke:rgba(243,243,243,.19);
  stroke-width:8;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero .word-quest__timer-progress {
  stroke:var(--acid);
  stroke-width:8;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero>div {
  width:80%;
  place-items:center;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero small { display:none; }
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero strong {
  margin:0;
  color:var(--soft);
  font:800 clamp(86px,8.8vw,170px)/.78 var(--font-display);
  letter-spacing:-.075em;
  text-shadow:0 8px 0 rgba(38,38,43,.18);
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero i {
  display:block;
  width:100%;
  max-width:none;
  margin-top:clamp(18px,2.4vh,32px);
  overflow-wrap:anywhere;
  color:var(--acid);
  font:800 clamp(42px,4.7vw,86px)/.86 var(--font-display);
  letter-spacing:-.075em;
  text-align:center;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero span {
  margin-top:clamp(12px,2vh,24px);
  color:var(--soft);
  font:700 clamp(16px,1.3vw,25px)/1 var(--font-body);
}

.word-quest-research__details {
  position:relative;
  grid-area:details;
  align-self:center;
  min-width:0;
  padding-top:10px;
}
.word-quest-research__question {
  position:relative;
  min-height:205px;
  padding-right:clamp(90px,7vw,132px);
}
.word-quest-research__question>small {
  display:block;
  color:var(--sun);
  font:700 clamp(11px,.8vw,15px)/1 var(--font-body);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.word-quest-research__question h2 {
  max-width:500px;
  margin:15px 0 0;
  color:var(--soft);
  font:800 clamp(32px,2.65vw,50px)/.92 var(--font-display);
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.word-quest-research__question h2 em {
  position:relative;
  display:inline-block;
  max-width:100%;
  padding-bottom:12px;
  color:var(--ink);
  font-style:normal;
}
.word-quest-research__question h2 em::after {
  position:absolute;
  right:-4px;
  bottom:0;
  left:-3px;
  height:7px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-2deg);
}
.word-quest-research__question-blob {
  position:absolute;
  top:-12px;
  right:0;
  width:clamp(88px,6.8vw,128px);
  height:auto;
  overflow:visible;
  filter:drop-shadow(0 8px 0 rgba(38,38,43,.1));
  animation:word-question-think 3s ease-in-out infinite;
  transform-box:fill-box;
  transform-origin:center;
}
.word-quest-research__details>h3 {
  margin:18px 0 0;
  color:var(--ink);
  font:800 clamp(31px,2.35vw,45px)/1 var(--font-display);
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.word-quest-research__details>p {
  margin:5px 0 14px;
  color:var(--soft);
  font:700 clamp(13px,.95vw,17px)/1.1 var(--font-body);
}
.word-quest-research__facts {
  display:grid;
  gap:3px;
}
.word-quest-research__fact {
  position:relative;
  display:grid;
  min-height:96px;
  padding:0;
  grid-template-columns:95px minmax(0,1fr);
  align-items:center;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  text-align:left;
}
.word-quest-research__fact:hover .word-quest-research__fact-character { transform:translateY(-5px) rotate(3deg); }
.word-quest-research__fact:focus-visible { border-radius:18px; }
.word-quest-research__fact-character {
  display:block;
  width:86px;
  transition:transform .22s var(--ease-spring);
}
.word-quest-research__fact-character svg {
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.word-quest-research__fact-copy {
  position:relative;
  display:block;
  padding:0 0 13px 2px;
}
.word-quest-research__fact-copy::after {
  position:absolute;
  bottom:4px;
  left:2px;
  width:min(54%,210px);
  height:5px;
  border-radius:50%;
  background:var(--pink);
  content:"";
  transform:rotate(-1deg);
  transition:width .24s ease;
}
.word-quest-research__fact--2 .word-quest-research__fact-copy::after { width:min(65%,250px); background:var(--coral); transform:rotate(1deg); }
.word-quest-research__fact--3 .word-quest-research__fact-copy::after { width:min(59%,230px); background:var(--sun); }
.word-quest-research__fact-copy small {
  display:block;
  margin-bottom:3px;
  color:var(--sun);
  font:700 clamp(10px,.72vw,13px)/1 var(--font-body);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.word-quest-research__fact-copy strong {
  display:block;
  max-width:430px;
  color:var(--soft);
  font:800 clamp(18px,1.35vw,25px)/1.04 var(--font-display);
  letter-spacing:-.035em;
}
.word-quest-research__fact.is-found .word-quest-research__fact-character::after {
  position:absolute;
  top:0;
  right:0;
  display:grid;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--acid);
  color:var(--ink);
  content:"✓";
  font:800 18px/1 var(--font-display);
  place-items:center;
}
.word-quest-research__fact.is-found .word-quest-research__fact-copy::after { width:88%; background:var(--acid); }
.word-quest-research__next-kicker {
  display:block;
  margin:9px 0 6px 52px;
  color:var(--soft);
  font:800 clamp(17px,1.15vw,22px)/1 var(--font-display);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.word-quest-research__next {
  position:relative;
  display:flex;
  width:min(100%,600px);
  min-height:98px;
  padding:0 clamp(22px,2vw,38px) 0 clamp(86px,5vw,104px);
  align-items:center;
  gap:16px;
  border:0;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  transition:transform .22s var(--ease-spring);
}
.word-quest-research__next:hover { transform:translateY(-5px) rotate(-1deg); }
.word-quest-research__next>svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  filter:drop-shadow(0 10px 0 rgba(38,38,43,.14));
}
.word-quest-research__next-number {
  position:absolute;
  z-index:2;
  left:30px;
  display:block;
  color:var(--soft);
  font:800 clamp(20px,1.5vw,28px)/1 var(--font-display);
  letter-spacing:-.04em;
}
.word-quest-research__next>strong {
  position:relative;
  z-index:2;
  flex:1;
  color:var(--ink);
  font:800 clamp(19px,1.42vw,27px)/.94 var(--font-display);
  letter-spacing:-.045em;
  text-transform:uppercase;
  white-space:nowrap;
}
.word-quest-research__next>b {
  position:relative;
  z-index:2;
  display:grid;
  width:56px;
  height:56px;
  flex:none;
  border-radius:48% 52% 41% 59% / 62% 39% 61% 38%;
  background:var(--acid);
  box-shadow:0 7px 0 rgba(38,38,43,.15);
  color:var(--ink);
  font:800 36px/1 var(--font-display);
  place-items:center;
}

@keyframes word-research-timer-arrive {
  0% { opacity:0; transform:scale(.72) rotate(-7deg); }
  100% { opacity:1; transform:scale(1) rotate(0); }
}
@keyframes word-question-think {
  0%,100% { transform:translateY(0) rotate(-2deg); }
  50% { transform:translateY(-10px) rotate(3deg); }
}

@media (max-width:1320px) and (min-width:901px) {
  .word-quest-research-stage {
    grid-template-columns:minmax(190px,.55fr) minmax(390px,1.25fr) minmax(330px,1fr);
    gap:22px;
    width:calc(100vw - 42px);
  }
  .word-quest-research__source { width:min(100%,270px); }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero { width:min(65vh,620px,41vw); }
  .word-quest-research__question { min-height:175px; padding-right:98px; }
  .word-quest-research__fact { min-height:82px; grid-template-columns:78px minmax(0,1fr); }
  .word-quest-research__fact-character { width:72px; }
  .word-quest-research__next { min-height:78px; }
  .word-quest-research__next>b { width:48px; height:48px; font-size:30px; }
}

@media (max-width:900px) {
  .play-game-screen .word-quest[data-word-quest-phase="research"] { overflow:auto; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label {
    position:absolute;
    top:84px;
    max-width:78vw;
  }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong { font-size:clamp(30px,8vw,44px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label button { width:34px; height:34px; }
  .word-quest-research-stage {
    position:relative;
    display:grid;
    width:100%;
    height:auto;
    min-height:100dvh;
    padding:170px 18px 120px;
    grid-template-columns:1fr;
    grid-template-areas:"timer" "source" "details";
    gap:55px;
    overflow:visible;
  }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero { width:min(82vw,520px); }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero strong { font-size:clamp(72px,20vw,112px); }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero i { font-size:clamp(36px,11vw,60px); }
  .word-quest-research__source { width:min(78vw,315px); }
  .word-quest-research__details { width:min(100%,580px); justify-self:center; }
  .word-quest-research__question { min-height:190px; padding-right:105px; }
  .word-quest-research__question h2 { font-size:clamp(34px,9.5vw,48px); }
  .word-quest-research__details>h3 { font-size:38px; }
  .word-quest-research__fact { min-height:96px; grid-template-columns:92px minmax(0,1fr); }
  .word-quest-research__fact-character { width:84px; }
  .word-quest-research__fact-copy strong { font-size:clamp(19px,5.5vw,24px); }
  .word-quest-research__next-kicker { margin-left:42px; }
  .word-quest-research__next { min-height:92px; padding-left:88px; }
  .word-quest-research__next-number { left:28px; }
  .word-quest-research__next>strong { font-size:clamp(16px,4.6vw,22px); white-space:normal; }
  .word-quest-research__pause { bottom:2%; min-width:126px; min-height:52px; font-size:14px; }
  .word-quest-research__pause i { width:35px; height:35px; font-size:18px; }
}

@media (max-height:760px) and (min-width:901px) {
  .word-quest-research-stage { padding-top:92px; padding-bottom:18px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label { top:18px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong { font-size:36px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong::after { bottom:0; height:7px; }
  .word-quest-research__source { width:min(100%,235px); }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero { width:min(66vh,540px,40vw); }
  .word-quest-research__question { min-height:135px; }
  .word-quest-research__question h2 { font-size:clamp(28px,2.25vw,39px); }
  .word-quest-research__question-blob { width:88px; }
  .word-quest-research__details>h3 { margin-top:8px; font-size:32px; }
  .word-quest-research__details>p { margin-bottom:5px; }
  .word-quest-research__fact { min-height:70px; grid-template-columns:68px minmax(0,1fr); }
  .word-quest-research__fact-character { width:62px; }
  .word-quest-research__fact-copy strong { font-size:17px; }
  .word-quest-research__next-kicker { margin-top:2px; font-size:13px; }
  .word-quest-research__next { min-height:64px; }
  .word-quest-research__next>b { width:40px; height:40px; font-size:26px; }
}

@media (max-height:1000px) and (min-width:901px) {
  .word-quest-research-stage {
    padding-top:108px;
    padding-bottom:18px;
  }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label { top:26px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong { font-size:clamp(34px,2.5vw,44px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong::after { bottom:0; height:7px; }
  .word-quest-research__source { width:min(100%,275px); }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero { width:min(64vh,610px,41vw); }
  .word-quest-research__question { min-height:158px; padding-right:105px; }
  .word-quest-research__question h2 { margin-top:11px; font-size:clamp(30px,2.35vw,42px); }
  .word-quest-research__question-blob { width:94px; }
  .word-quest-research__details>h3 { margin-top:8px; font-size:clamp(30px,2.05vw,37px); }
  .word-quest-research__details>p { margin-bottom:5px; }
  .word-quest-research__fact { min-height:76px; grid-template-columns:72px minmax(0,1fr); }
  .word-quest-research__fact-character { width:66px; }
  .word-quest-research__fact-copy { padding-bottom:10px; }
  .word-quest-research__fact-copy strong { font-size:clamp(17px,1.2vw,21px); }
  .word-quest-research__fact-copy small { font-size:10px; }
  .word-quest-research__next-kicker { margin-top:3px; margin-bottom:3px; font-size:14px; }
  .word-quest-research__next { min-height:72px; }
  .word-quest-research__next>strong { font-size:clamp(17px,1.2vw,21px); }
  .word-quest-research__next>b { width:44px; height:44px; font-size:28px; }
  .word-quest-research__pause { min-width:116px; min-height:46px; padding:6px 14px 6px 7px; font-size:13px; }
  .word-quest-research__pause i { width:32px; height:32px; font-size:16px; }
}

@media (prefers-reduced-motion:reduce) {
  .word-quest-research__question-blob,
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero { animation:none !important; }
}

/* WORD QUEST — Research Safari: one uninterrupted violet stage.
   No panels, cards, pills, badges, rails, or raster scene backgrounds. */
.play-game-screen .word-quest[data-word-quest-phase="research"] {
  overflow:hidden;
  background:var(--violet);
  color:var(--soft);
}
.play-game-screen .word-quest[data-word-quest-phase="research"]::before,
.play-game-screen .word-quest[data-word-quest-phase="research"]::after { display:none; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__grain { opacity:.06; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label {
  top:clamp(24px,4vh,44px);
  left:clamp(34px,4vw,64px);
  max-width:48vw;
  color:var(--soft);
  text-align:left;
  transform:none;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong {
  position:relative;
  padding:0 0 14px;
  color:var(--soft);
  font-size:clamp(32px,2.65vw,50px);
  letter-spacing:-.05em;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong::after {
  position:absolute;
  right:8%;
  bottom:0;
  left:0;
  display:block;
  height:8px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1.5deg);
}

.word-quest-research-stage {
  position:absolute;
  z-index:3;
  inset:0;
  display:grid;
  width:min(1880px,calc(100vw - 90px));
  height:100dvh;
  margin:0 auto;
  padding:clamp(100px,11.5vh,126px) 0 clamp(112px,14vh,138px);
  grid-template-columns:minmax(350px,.95fr) minmax(350px,1.05fr);
  grid-template-rows:minmax(230px,1fr) auto;
  grid-template-areas:"timer source" "details details";
  align-items:center;
  gap:clamp(4px,1vh,12px) clamp(34px,5vw,84px);
}

.word-quest-research__source {
  position:relative;
  grid-area:source;
  display:block;
  width:min(42vh,400px,100%);
  aspect-ratio:1.5;
  justify-self:center;
  color:var(--soft);
  text-decoration:none;
  transform:rotate(-2deg);
  transition:filter .24s ease,transform .24s var(--ease-spring);
}
.word-quest-research__source:hover {
  filter:brightness(1.04);
  transform:translateY(-8px) rotate(-.5deg);
}
.word-quest-research__source-object {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 17px 0 rgba(38,38,43,.2));
}
.word-quest-research__source-cue {
  position:absolute;
  z-index:2;
  right:-2%;
  bottom:-4%;
  display:block;
  width:clamp(110px,10vw,160px);
  transform:rotate(4deg);
}
.word-quest-research__source-cue svg { display:block; width:100%; height:auto; overflow:visible; }
.word-quest-research__source-cue path {
  fill:none;
  stroke:var(--acid);
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.word-quest-research__timer-stage {
  position:relative;
  grid-area:timer;
  display:grid;
  width:min(32vh,320px,100%);
  height:min(43vh,380px);
  padding-top:clamp(54px,7vh,72px);
  aspect-ratio:auto;
  justify-self:center;
  place-items:center;
}
.word-quest-research__timer-object {
  position:absolute;
  z-index:1;
  inset:clamp(54px,7vh,72px) 0 0;
  display:block;
  width:100%;
  height:calc(100% - clamp(54px,7vh,72px));
  object-fit:contain;
  filter:drop-shadow(0 20px 0 rgba(38,38,43,.2));
  animation:word-research-timer-arrive .72s cubic-bezier(.18,1,.25,1) both;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero {
  position:absolute;
  z-index:2;
  inset:clamp(54px,7vh,72px) 0 0;
  display:block;
  width:100%;
  height:calc(100% - clamp(54px,7vh,72px));
  margin:0;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  animation:none;
}
.word-quest-research__timer-stage>.word-quest__timer-word {
  position:absolute;
  z-index:4;
  top:0;
  left:50%;
  display:block;
  width:150%;
  overflow:hidden;
  color:var(--acid);
  font:800 clamp(54px,5.2vw,94px)/.84 var(--font-display);
  letter-spacing:-.07em;
  text-align:center;
  text-overflow:ellipsis;
  text-shadow:0 7px 0 var(--graphite),0 16px 24px rgba(38,38,43,.2);
  white-space:nowrap;
  transform:translateX(-50%);
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero::before,
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero>svg { display:none; }
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero>div {
  position:absolute;
  top:56%;
  left:50%;
  display:grid;
  width:64%;
  place-items:center;
  transform:translate(-50%,-50%);
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero small { display:none; }
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero strong {
  margin:0;
  color:var(--graphite);
  font:800 clamp(60px,5.8vw,108px)/.82 var(--font-display);
  letter-spacing:-.08em;
  text-shadow:none;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero i {
  display:block;
  width:100%;
  margin:clamp(9px,1.3vh,14px) 0 0;
  overflow:hidden;
  color:var(--violet);
  font:800 clamp(24px,2.65vw,45px)/.9 var(--font-display);
  letter-spacing:-.055em;
  overflow-wrap:normal;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero span {
  max-width:90%;
  margin-top:clamp(9px,1.2vh,14px);
  color:#4b5550;
  font:700 clamp(11px,.86vw,15px)/1.08 var(--font-body);
  text-align:center;
}
.word-quest-research__pause {
  z-index:6;
  bottom:-1%;
  min-width:0;
  min-height:44px;
  padding:4px;
  gap:8px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--soft);
  font:800 14px/1 var(--font-display);
}
.word-quest-research__pause:hover:not(:disabled) {
  box-shadow:none;
  color:var(--acid);
  transform:translateX(-50%) translateY(-3px);
}
.word-quest-research__pause i {
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  color:var(--acid);
  font-size:21px;
}

.word-quest-research__details {
  position:absolute;
  right:clamp(45px,4vw,72px);
  bottom:clamp(108px,12vh,126px);
  left:clamp(45px,4vw,72px);
  grid-area:auto;
  display:grid;
  min-width:0;
  padding:0 clamp(8px,2vw,28px);
  grid-template-columns:minmax(340px,.95fr) minmax(460px,1.05fr);
  grid-template-areas:"question heading" "question facts" "question next";
  align-items:center;
  gap:6px clamp(54px,7vw,118px);
  color:var(--soft);
}
.word-quest-research__question { grid-area:question; min-height:0; padding:0; }
.word-quest-research__question>small {
  color:var(--acid);
  font:800 clamp(11px,.78vw,14px)/1 var(--font-body);
  letter-spacing:.14em;
}
.word-quest-research__question h2 {
  max-width:610px;
  margin:12px 0 0;
  color:var(--soft);
  font:800 clamp(27px,2.1vw,40px)/.94 var(--font-display);
  letter-spacing:-.055em;
  text-transform:none;
}
.word-quest-research__question h2 em {
  padding:0;
  color:var(--acid);
}
.word-quest-research__question h2 em::after { display:none; }
.word-quest-research__trail-heading {
  grid-area:heading;
  display:block;
  margin:0;
  color:var(--acid);
  font:800 clamp(11px,.78vw,14px)/1 var(--font-body);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.word-quest-research__facts {
  grid-area:facts;
  display:block;
}
.word-quest-research__fact {
  position:relative;
  display:flex;
  width:100%;
  max-width:100%;
  min-height:62px;
  padding:8px 92px 12px 0;
  align-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  text-align:left;
  transform-origin:left center;
  transition:transform .2s var(--ease-spring),opacity .2s ease;
}
.word-quest-research__fact--2,
.word-quest-research__fact--3 { margin-left:0; }
.word-quest-research__fact:hover { transform:translateX(9px) rotate(-.4deg); }
.word-quest-research__fact-copy { padding:0; }
.word-quest-research__fact-copy::after {
  position:absolute;
  right:18%;
  bottom:4px;
  left:0;
  display:block;
  height:6px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1deg);
}
.word-quest-research__fact-copy strong {
  display:block;
  max-width:500px;
  color:var(--soft);
  font:800 clamp(25px,2vw,38px)/1 var(--font-display);
  letter-spacing:-.03em;
}
.word-quest-research__fact>b {
  position:absolute;
  right:4px;
  bottom:7px;
  display:grid;
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--acid);
  color:var(--graphite);
  font:900 28px/1 var(--font-display);
  place-items:center;
  transform:rotate(-5deg);
}
.word-quest-research__fact.is-found { opacity:.78; }
.word-quest-research__fact.is-found>b { display:block; }
.word-quest-research__fact.is-found .word-quest-research__fact-copy::after { background:var(--acid); }
.play-game-screen .word-quest__board--research .word-quest-research__next {
  grid-area:next;
  display:none;
  width:fit-content;
  min-height:48px;
  margin:8px 0 0;
  padding:6px 0;
  align-items:center;
  gap:16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--soft);
}
.play-game-screen .word-quest__board--research .word-quest-research__next.is-ready { display:flex; }
.play-game-screen .word-quest__board--research .word-quest-research__next:hover {
  box-shadow:none;
  transform:translateX(8px);
}
.play-game-screen .word-quest__board--research .word-quest-research__next>strong {
  color:var(--soft);
  font:800 clamp(23px,1.8vw,34px)/1 var(--font-display);
  letter-spacing:-.04em;
  text-transform:none;
  white-space:nowrap;
}
.play-game-screen .word-quest__board--research .word-quest-research__next>svg {
  position:static;
  display:block;
  width:clamp(78px,7vw,112px);
  height:auto;
  overflow:visible;
  filter:none;
}
.play-game-screen .word-quest__board--research .word-quest-research__next>svg path {
  fill:none;
  stroke:var(--acid);
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:1100px) and (min-width:901px) {
  .word-quest-research-stage {
    width:calc(100vw - 36px);
    grid-template-columns:minmax(310px,.95fr) minmax(310px,1.05fr);
    gap:8px 28px;
  }
  .word-quest-research__details { grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr); gap:4px 32px; }
}

@media (max-width:900px) {
  .play-game-screen .word-quest[data-word-quest-phase="research"] { overflow:auto; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label { top:calc(var(--word-quest-shell-top,112px) + 18px); }
  .word-quest-research-stage {
    position:relative;
    display:grid;
    width:100%;
    height:auto;
    min-height:100dvh;
    padding:96px 18px 104px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"timer source" "details details";
    grid-template-rows:minmax(220px,auto) auto;
    align-items:center;
    align-content:start;
    gap:24px 12px;
  }
  .word-quest-research__timer-stage { width:min(40vw,250px); height:min(58vw,320px); }
  .word-quest-research__timer-stage>.word-quest__timer-word {
    width:165%;
    color:var(--acid);
    font-size:clamp(34px,9.5vw,48px);
    text-shadow:0 5px 0 var(--graphite),0 10px 18px rgba(38,38,43,.18);
  }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero strong { font-size:clamp(40px,12vw,64px); }
  .play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero i { font-size:clamp(24px,8vw,42px); }
  .word-quest-research__source { width:min(44vw,260px); }
  .word-quest-research__details {
    position:relative;
    inset:auto;
    grid-area:details;
    width:min(100%,620px);
    padding:0;
    grid-template-columns:1fr;
    grid-template-areas:"question" "heading" "facts" "next";
    gap:12px;
    justify-self:center;
  }
  .word-quest-research__question h2 { font-size:clamp(28px,7.5vw,42px); }
  .word-quest-research__facts { grid-template-columns:1fr; gap:5px; }
  .word-quest-research__fact { padding-right:38px; }
  .word-quest-research__fact-copy strong { font-size:clamp(25px,7vw,34px); }
  .play-game-screen .word-quest__board--research .word-quest-research__next>strong { font-size:clamp(24px,7vw,34px); white-space:normal; }
}

@media (max-height:760px) and (min-width:901px) {
  .word-quest-research-stage { padding-top:90px; padding-bottom:104px; }
  .word-quest-research__source { width:min(52vh,390px,100%); }
  .word-quest-research__timer-stage { width:min(39vh,340px,100%); height:min(52vh,420px); }
  .word-quest-research__details { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  .word-quest-research__timer-object { animation:none !important; }
}

/* WORD QUEST — Missions 2 + 3
   Same immersive universe as the approved Research Safari. */
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) {
  min-height:100dvh;
  padding:0;
  overflow:hidden;
  background:var(--violet);
}
.play-game-screen .word-quest[data-word-quest-phase="outline"]::before,
.play-game-screen .word-quest[data-word-quest-phase="present"]::before {
  position:absolute;
  z-index:0;
  bottom:-17vh;
  left:-7vw;
  width:34vw;
  min-width:390px;
  aspect-ratio:2.15/1;
  border-radius:51% 49% 42% 58% / 61% 41% 59% 39%;
  background:var(--pink);
  content:"";
  transform:rotate(8deg);
}
.play-game-screen .word-quest[data-word-quest-phase="outline"]::after,
.play-game-screen .word-quest[data-word-quest-phase="present"]::after {
  position:absolute;
  z-index:0;
  right:-4vw;
  bottom:-18vh;
  width:28vw;
  min-width:320px;
  aspect-ratio:2/1;
  border-radius:54% 46% 58% 42% / 48% 56% 44% 52%;
  background:var(--coral);
  content:"";
  transform:rotate(-5deg);
}
.play-game-screen .word-quest[data-word-quest-phase="present"]::before { background:var(--oat); }
.play-game-screen .word-quest[data-word-quest-phase="present"]::after { background:var(--sun); }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__grain,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__intro,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__promise,
.play-game-screen .word-quest__board--outline .word-slot-wrap,
.play-game-screen .word-quest__board--present .word-slot-wrap,
.play-game-screen .word-quest__board--outline .word-quest__mission:not(.is-open),
.play-game-screen .word-quest__board--present .word-quest__mission:not(.is-open) {
  display:none !important;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__board,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__arena {
  width:100%;
  min-height:100dvh;
  margin:0;
  padding:0;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__arena::after { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label {
  z-index:20;
  top:clamp(28px,4.2vh,54px);
  left:50%;
  display:flex;
  width:auto;
  max-width:54vw;
  align-items:center;
  gap:16px;
  color:var(--soft);
  transform:translateX(-50%);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label span:empty { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong {
  position:relative;
  display:block;
  max-width:none;
  padding-bottom:18px;
  overflow:visible;
  color:var(--soft);
  font:800 clamp(32px,2.7vw,52px)/.9 var(--font-display);
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-overflow:clip;
  white-space:nowrap;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong::after {
  position:absolute;
  right:7%;
  bottom:0;
  left:7%;
  height:10px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label button {
  width:38px;
  height:38px;
  flex:none;
  border:3px solid var(--soft);
  background:transparent;
  color:var(--soft);
  font:700 21px/1 var(--font-body);
}

.word-quest-continuation-stage {
  position:absolute;
  z-index:3;
  inset:0;
  display:grid;
  grid-template-columns:minmax(235px,.62fr) minmax(470px,1.45fr) minmax(420px,1fr);
  grid-template-areas:"prop timer details";
  align-items:center;
  gap:clamp(24px,2.7vw,58px);
  width:min(1920px,calc(100vw - 72px));
  height:100dvh;
  margin:0 auto;
  padding:clamp(125px,13vh,158px) 0 clamp(26px,3.5vh,46px);
}
.word-quest-continuation-stage>.word-quest-research__timer-stage { grid-area:timer; }
.word-quest-continuation__details {
  position:relative;
  grid-area:details;
  align-self:center;
  min-width:0;
  padding-top:8px;
}
.word-quest-continuation__lead {
  position:relative;
  min-height:180px;
  padding-right:clamp(90px,7vw,126px);
}
.word-quest-continuation__lead>small {
  display:block;
  color:var(--sun);
  font:700 clamp(11px,.8vw,15px)/1 var(--font-body);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.word-quest-continuation__lead h2 {
  max-width:510px;
  margin:15px 0 0;
  color:var(--soft);
  font:800 clamp(31px,2.5vw,48px)/.92 var(--font-display);
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.word-quest-continuation__lead h2 em {
  position:relative;
  display:inline-block;
  max-width:100%;
  padding-bottom:12px;
  color:var(--ink);
  font-style:normal;
}
.word-quest-continuation__lead h2 em::after {
  position:absolute;
  right:-4px;
  bottom:0;
  left:-3px;
  height:7px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-2deg);
}
.word-quest-continuation__lead-blob {
  position:absolute;
  top:-18px;
  right:0;
  display:block;
  width:clamp(84px,6.4vw,118px);
  filter:drop-shadow(0 8px 0 rgba(38,38,43,.1));
  animation:word-question-think 3s ease-in-out infinite;
}
.word-quest-continuation__lead-blob svg { display:block; width:100%; height:auto; overflow:visible; }
.word-quest-continuation__details>h3 {
  margin:12px 0 0;
  color:var(--ink);
  font:800 clamp(29px,2.15vw,42px)/1 var(--font-display);
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.word-quest-continuation__details>p {
  margin:5px 0 10px;
  color:var(--soft);
  font:700 clamp(13px,.95vw,17px)/1.1 var(--font-body);
}
.word-quest-continuation__cues { display:grid; gap:2px; }
.word-quest-continuation__cues article {
  position:relative;
  display:grid;
  min-height:78px;
  grid-template-columns:74px minmax(0,1fr);
  align-items:center;
}
.word-quest-continuation__cues article>span { display:block; width:66px; transition:transform .22s var(--ease-spring); }
.word-quest-continuation__cues article:hover>span { transform:translateY(-4px) rotate(3deg); }
.word-quest-continuation__cues article>span svg { display:block; width:100%; height:auto; overflow:visible; }
.word-quest-continuation__cues article>div {
  position:relative;
  padding:0 0 11px 1px;
}
.word-quest-continuation__cues article>div::after {
  position:absolute;
  bottom:3px;
  left:1px;
  width:min(62%,240px);
  height:5px;
  border-radius:50%;
  background:var(--pink);
  content:"";
}
.word-quest-continuation__cues article:nth-child(2)>div::after { width:min(70%,270px); background:var(--coral); }
.word-quest-continuation__cues article:nth-child(3)>div::after { width:min(66%,250px); background:var(--sun); }
.word-quest-continuation__cues article:nth-child(4)>div::after { width:min(58%,220px); background:var(--acid); }
.word-quest-continuation__cues small {
  display:block;
  margin-bottom:3px;
  color:var(--sun);
  font:700 clamp(9px,.68vw,12px)/1 var(--font-body);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.word-quest-continuation__cues strong {
  display:block;
  max-width:430px;
  color:var(--soft);
  font:800 clamp(16px,1.15vw,21px)/1.03 var(--font-display);
  letter-spacing:-.03em;
}

/* Mission 2 — physical plan book */
.word-quest-outline__plan {
  position:relative;
  grid-area:prop;
  width:min(100%,326px);
  aspect-ratio:.7;
  justify-self:center;
  color:var(--ink);
  transform:rotate(3deg);
}
.word-quest-outline__plan-shadow,
.word-quest-outline__plan-cover,
.word-quest-outline__plan-page { position:absolute; display:block; }
.word-quest-outline__plan-shadow {
  inset:14px -13px -14px 14px;
  border-radius:10% 46% 12% 9% / 9% 7% 13% 10%;
  background:rgba(38,38,43,.16);
}
.word-quest-outline__plan-cover {
  inset:0;
  overflow:hidden;
  border-radius:11% 47% 10% 9% / 10% 8% 11% 9%;
  background:var(--oat);
}
.word-quest-outline__plan-cover::before {
  position:absolute;
  inset:0 auto 0 0;
  width:45px;
  background:var(--coral);
  content:"";
}
.word-quest-outline__plan-page {
  inset:8% 10% 18% 19%;
  background:var(--soft);
  clip-path:polygon(4% 0,100% 4%,94% 100%,0 94%);
}
.word-quest-outline__plan-copy {
  position:absolute;
  z-index:2;
  top:15%;
  right:14%;
  left:25%;
}
.word-quest-outline__plan-copy small {
  display:block;
  margin-bottom:12px;
  color:var(--violet);
  font:700 11px/1 var(--font-body);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.word-quest-outline__plan-copy strong {
  display:block;
  font:800 clamp(21px,1.45vw,29px)/.9 var(--font-display);
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.word-quest-outline__plan-blob {
  position:absolute;
  z-index:3;
  top:39%;
  left:28%;
  display:block;
  width:34%;
  filter:drop-shadow(0 6px 0 rgba(38,38,43,.12));
  transform:rotate(-8deg);
}
.word-quest-outline__plan-blob svg { display:block; width:100%; height:auto; overflow:visible; }
.word-quest-outline__plan-lines {
  position:absolute;
  z-index:2;
  top:44%;
  right:16%;
  display:grid;
  width:34%;
  gap:13px;
}
.word-quest-outline__plan-lines i { display:block; height:7px; border-radius:50%; background:var(--pink); transform:rotate(-2deg); }
.word-quest-outline__plan-lines i:nth-child(2) { width:86%; background:var(--coral); transform:rotate(1deg); }
.word-quest-outline__plan-lines i:nth-child(3) { width:94%; background:var(--sun); }
.word-quest-outline__plan-lines i:nth-child(4) { width:72%; background:var(--acid); transform:rotate(-1deg); }
.word-quest-outline__plan>b {
  position:absolute;
  z-index:3;
  right:14%;
  bottom:23%;
  left:24%;
  overflow:hidden;
  color:var(--violet);
  font:800 clamp(25px,1.7vw,34px)/.9 var(--font-display);
  letter-spacing:-.06em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.word-quest-outline__plan>em {
  position:absolute;
  z-index:3;
  right:9%;
  bottom:8%;
  left:20%;
  color:var(--ink);
  font:700 clamp(12px,.8vw,15px)/1.1 var(--font-body);
  font-style:normal;
}

/* Mission 3 — a physical spotlight stage and blob audience */
.word-quest-present__set {
  position:relative;
  grid-area:prop;
  width:min(100%,340px);
  aspect-ratio:.72;
  justify-self:center;
  color:var(--ink);
}
.word-quest-present__beam {
  position:absolute;
  top:1%;
  right:6%;
  bottom:20%;
  left:6%;
  background:rgba(243,243,243,.7);
  clip-path:polygon(41% 0,59% 0,100% 100%,0 100%);
  transform:rotate(-2deg);
}
.word-quest-present__stage {
  position:absolute;
  right:0;
  bottom:10%;
  left:0;
  height:25%;
  border-radius:50%;
  background:var(--coral);
  box-shadow:0 12px 0 rgba(38,38,43,.15);
  transform:rotate(2deg);
}
.word-quest-present__audience {
  position:absolute;
  z-index:3;
  bottom:15%;
  display:block;
  width:29%;
  filter:drop-shadow(0 7px 0 rgba(38,38,43,.12));
  animation:word-blob-bob 2.5s ease-in-out infinite;
}
.word-quest-present__audience svg { display:block; width:100%; height:auto; overflow:visible; }
.word-quest-present__audience--one { left:4%; transform:rotate(-9deg); }
.word-quest-present__audience--two { bottom:20%; left:36%; animation-delay:-.8s; }
.word-quest-present__audience--three { right:2%; transform:rotate(8deg); animation-delay:-1.5s; }
.word-quest-present__set>strong {
  position:absolute;
  z-index:4;
  top:8%;
  left:50%;
  width:100%;
  color:var(--ink);
  font:800 clamp(27px,1.8vw,36px)/.92 var(--font-display);
  letter-spacing:-.055em;
  text-align:center;
  text-transform:uppercase;
  transform:translateX(-50%) rotate(-2deg);
}
.word-quest-present__set>p {
  position:absolute;
  z-index:4;
  top:21%;
  left:50%;
  width:86%;
  margin:0;
  color:var(--ink);
  font:700 clamp(12px,.8vw,15px)/1.1 var(--font-body);
  text-align:center;
  transform:translateX(-50%);
}
.word-quest-present__set>b {
  position:absolute;
  z-index:5;
  right:12%;
  bottom:2%;
  left:12%;
  overflow:hidden;
  color:var(--ink);
  font:800 clamp(25px,1.75vw,35px)/.9 var(--font-display);
  letter-spacing:-.06em;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.word-quest-present__lead { padding-right:95px; }
.word-quest-present__mic {
  position:absolute;
  top:3px;
  right:7px;
  display:grid;
  width:72px;
  height:105px;
  border:7px solid var(--ink);
  border-radius:50% 50% 42% 58% / 36% 38% 62% 64%;
  background:var(--coral);
  color:var(--ink);
  font-size:38px;
  place-items:center;
  transform:rotate(16deg);
}
.word-quest-present__mic::after {
  position:absolute;
  bottom:-46px;
  left:31px;
  width:8px;
  height:52px;
  border-radius:8px;
  background:var(--ink);
  content:"";
}

/* Reuse the approved timer treatment across every mission. */
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero {
  position:relative;
  z-index:2;
  width:min(69vh,700px,42vw);
  max-width:none;
  margin:0;
  opacity:1;
  pointer-events:auto;
  transform:none;
  animation:word-research-timer-arrive .72s cubic-bezier(.18,1,.25,1) both;
}
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero::before {
  position:absolute;
  inset:-16px;
  z-index:-1;
  border:25px solid rgba(243,243,243,.11);
  border-radius:50%;
  content:"";
}
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero circle { stroke:rgba(243,243,243,.19); stroke-width:8; }
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero .word-quest__timer-progress { stroke:var(--acid); stroke-width:8; }
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero>div { width:80%; place-items:center; }
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero small { display:none; }
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero strong {
  margin:0;
  color:var(--soft);
  font:800 clamp(86px,8.8vw,170px)/.78 var(--font-display);
  letter-spacing:-.075em;
  text-shadow:0 8px 0 rgba(38,38,43,.18);
}
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero i {
  display:block;
  width:100%;
  max-width:none;
  margin-top:clamp(18px,2.4vh,32px);
  overflow-wrap:anywhere;
  color:var(--acid);
  font:800 clamp(42px,4.7vw,86px)/.86 var(--font-display);
  letter-spacing:-.075em;
  text-align:center;
}
.play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero span {
  max-width:340px;
  margin-top:clamp(12px,2vh,24px);
  color:var(--soft);
  font:700 clamp(14px,1.15vw,22px)/1.05 var(--font-body);
  text-align:center;
}

@media (max-width:1320px) and (min-width:901px) {
  .word-quest-continuation-stage {
    grid-template-columns:minmax(190px,.55fr) minmax(390px,1.25fr) minmax(330px,1fr);
    gap:22px;
    width:calc(100vw - 42px);
  }
  .word-quest-outline__plan { width:min(100%,270px); }
  .word-quest-present__set { width:min(100%,280px); }
  .play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero { width:min(65vh,620px,41vw); }
  .word-quest-continuation__lead { min-height:160px; padding-right:90px; }
  .word-quest-continuation__cues article { min-height:68px; grid-template-columns:64px minmax(0,1fr); }
  .word-quest-continuation__cues article>span { width:58px; }
}

@media (max-width:900px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) { overflow:auto; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label {
    position:absolute;
    top:84px;
    max-width:78vw;
  }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong {
    max-width:66vw;
    overflow:visible;
    font-size:clamp(23px,6.4vw,34px);
    line-height:.9;
    text-align:center;
    text-overflow:clip;
    white-space:normal;
  }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label button { width:34px; height:34px; }
  .word-quest-continuation-stage {
    position:relative;
    width:100%;
    height:auto;
    min-height:100dvh;
    padding:170px 18px 120px;
    grid-template-columns:1fr;
    grid-template-areas:"timer" "prop" "details";
    gap:55px;
    overflow:visible;
  }
  .play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero { width:min(82vw,520px); }
  .play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero strong { font-size:clamp(72px,20vw,112px); }
  .play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero i { font-size:clamp(36px,11vw,60px); }
  .word-quest-outline__plan { width:min(78vw,315px); }
  .word-quest-present__set { width:min(80vw,330px); }
  .word-quest-continuation__details { width:min(100%,580px); justify-self:center; }
  .word-quest-continuation__lead { min-height:180px; padding-right:100px; }
  .word-quest-continuation__lead h2 { font-size:clamp(32px,9vw,46px); }
  .word-quest-continuation__details>h3 { font-size:36px; }
  .word-quest-continuation__cues article { min-height:84px; grid-template-columns:78px minmax(0,1fr); }
  .word-quest-continuation__cues article>span { width:70px; }
  .word-quest-continuation__cues strong { font-size:clamp(17px,5vw,22px); }
}

@media (max-height:1000px) and (min-width:901px) {
  .word-quest-continuation-stage { padding-top:108px; padding-bottom:18px; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label { top:26px; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong { font-size:clamp(34px,2.5vw,44px); }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong::after { bottom:0; height:7px; }
  .word-quest-outline__plan { width:min(100%,275px); }
  .word-quest-present__set { width:min(100%,282px); }
  .play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero { width:min(64vh,610px,41vw); }
  .word-quest-continuation__details { transform:translateY(-10px); }
  .word-quest-continuation__lead { min-height:118px; padding-right:90px; }
  .word-quest-continuation__lead h2 { margin-top:8px; font-size:clamp(27px,2.05vw,36px); }
  .word-quest-continuation__lead-blob { width:76px; }
  .word-quest-continuation__details>h3 { margin-top:4px; font-size:clamp(27px,1.8vw,33px); }
  .word-quest-continuation__details>p { margin-bottom:3px; }
  .word-quest-continuation__cues article { min-height:51px; grid-template-columns:52px minmax(0,1fr); }
  .word-quest-continuation__cues article>span { width:46px; }
  .word-quest-continuation__cues strong { font-size:clamp(14px,1vw,18px); }
  .word-quest-continuation__cues small { font-size:9px; }
  .word-quest-continuation__details .word-quest-research__next-kicker { margin-top:2px; margin-bottom:3px; font-size:14px; }
  .word-quest-continuation__details .word-quest-research__next { min-height:64px; }
  .word-quest-continuation__details .word-quest-research__next>strong { font-size:clamp(16px,1.15vw,20px); }
  .word-quest-continuation__details .word-quest-research__next>b { width:39px; height:39px; font-size:25px; }
  .word-quest-continuation__details .word-quest-research__next-number { left:27px; font-size:19px; }
}

@media (prefers-reduced-motion:reduce) {
  .word-quest-continuation__lead-blob,
  .word-quest-present__audience,
  .play-game-screen :is(.word-quest__board--outline,.word-quest__board--present) .word-quest-research__timer-stage .word-quest__timer--hero { animation:none !important; }
}

/* WORD QUEST — calm focus rail
   Missions 2 and 3 now show only the one job the child is doing right now. */
@media (min-width:901px) {
  .word-quest-continuation-stage {
    grid-template-columns:minmax(210px,.58fr) minmax(500px,1.55fr) minmax(300px,.78fr);
    gap:clamp(22px,2.25vw,46px);
  }
}

.word-quest-focus-rail {
  display:flex;
  width:min(100%,390px);
  padding:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.word-quest-focus-rail__eyebrow {
  display:block;
  color:var(--sun);
  font:800 clamp(11px,.82vw,15px)/1 var(--font-body);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.word-quest-focus-rail>h2 {
  max-width:370px;
  margin:13px 0 clamp(24px,3vh,34px);
  color:var(--soft);
  font:800 clamp(38px,3.35vw,62px)/.88 var(--font-display);
  letter-spacing:-.07em;
  text-transform:uppercase;
}
.word-quest-focus-rail__notes {
  display:grid;
  width:100%;
  gap:clamp(12px,1.7vh,19px);
}
.word-quest-focus-rail__notes>span {
  position:relative;
  display:grid;
  min-height:48px;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:13px;
  color:var(--soft);
}
.word-quest-focus-rail__notes>span::after {
  position:absolute;
  right:6%;
  bottom:0;
  left:66px;
  height:5px;
  border-radius:50%;
  background:var(--pink);
  content:"";
  transform:rotate(-1deg);
}
.word-quest-focus-rail__notes>span:nth-child(2)::after { right:18%; background:var(--coral); transform:rotate(1deg); }
.word-quest-focus-rail__notes>span:nth-child(3)::after { right:10%; background:var(--sun); }
.word-quest-focus-rail__notes b {
  display:grid;
  width:50px;
  height:46px;
  background:var(--pink);
  clip-path:polygon(48% 0,77% 9%,96% 34%,91% 69%,68% 95%,32% 100%,7% 74%,0 41%,19% 12%);
  color:var(--ink);
  font:800 18px/1 var(--font-display);
  place-items:center;
  transform:rotate(-4deg);
}
.word-quest-focus-rail__notes>span:nth-child(2) b { background:var(--coral); transform:rotate(4deg); }
.word-quest-focus-rail__notes>span:nth-child(3) b { background:var(--sun); transform:rotate(-2deg); }
.word-quest-focus-rail__notes strong {
  padding-bottom:7px;
  color:var(--soft);
  font:800 clamp(21px,1.6vw,30px)/1 var(--font-display);
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.word-quest-focus-rail__tip {
  margin:clamp(24px,3vh,34px) 0 0;
  color:var(--oat);
  font:750 clamp(14px,1vw,18px)/1.25 var(--font-body);
}
.word-quest-focus-rail__next {
  width:100%;
  min-height:82px;
  margin-top:clamp(17px,2.4vh,28px);
  padding-left:clamp(76px,5vw,94px);
}
.word-quest-focus-rail__next>strong {
  font-size:clamp(17px,1.18vw,22px);
  white-space:normal;
}

@media (max-width:1320px) and (min-width:901px) {
  .word-quest-focus-rail>h2 { margin-bottom:20px; font-size:clamp(34px,3vw,48px); }
  .word-quest-focus-rail__notes { gap:8px; }
  .word-quest-focus-rail__notes>span { min-height:42px; grid-template-columns:47px minmax(0,1fr); gap:10px; }
  .word-quest-focus-rail__notes b { width:44px; height:41px; font-size:16px; }
  .word-quest-focus-rail__notes strong { font-size:clamp(18px,1.55vw,23px); }
  .word-quest-focus-rail__notes>span::after { left:56px; }
  .word-quest-focus-rail__tip { margin-top:18px; font-size:14px; }
  .word-quest-focus-rail__next { min-height:70px; margin-top:14px; }
}

@media (max-height:1000px) and (min-width:901px) {
  .word-quest-focus-rail { transform:none; }
  .word-quest-focus-rail>h2 { margin:9px 0 17px; font-size:clamp(32px,2.8vw,48px); }
  .word-quest-focus-rail__notes { gap:6px; }
  .word-quest-focus-rail__notes>span { min-height:40px; }
  .word-quest-focus-rail__tip { margin-top:15px; }
  .word-quest-focus-rail__next { min-height:66px; margin-top:12px; }
}

@media (max-width:900px) {
  .word-quest-focus-rail {
    width:min(100%,520px);
    align-items:center;
    text-align:center;
  }
  .word-quest-focus-rail>h2 {
    max-width:480px;
    margin:12px 0 28px;
    font-size:clamp(40px,12vw,62px);
  }
  .word-quest-focus-rail__notes { width:min(100%,390px); }
  .word-quest-focus-rail__notes>span { grid-template-columns:58px minmax(0,1fr); text-align:left; }
  .word-quest-focus-rail__notes b { width:54px; height:50px; }
  .word-quest-focus-rail__notes strong { font-size:clamp(22px,6.5vw,30px); }
  .word-quest-focus-rail__tip { max-width:340px; font-size:16px; }
  .word-quest-focus-rail__next { width:min(100%,430px); }
}

/* WORD QUEST — persistent Word Garden */
.word-garden-toggle {
  position:fixed;
  z-index:24;
  top:22px;
  left:clamp(122px,9.5vw,182px);
  display:flex;
  min-height:48px;
  padding:8px 15px 8px 10px;
  align-items:center;
  gap:9px;
  border:0;
  border-radius:46% 54% 43% 57% / 58% 45% 55% 42%;
  background:var(--acid);
  box-shadow:0 7px 0 rgba(38,38,43,.16);
  color:var(--ink);
  cursor:pointer;
  transition:transform .22s var(--ease-spring);
}
.word-garden-toggle:hover { transform:translateY(-3px) rotate(-1deg); }
.word-garden-toggle>i {
  display:grid;
  width:31px;
  height:31px;
  place-items:center;
  border-radius:50%;
  background:var(--pink);
  font:800 18px/1 var(--font-display);
  font-style:normal;
}
.word-garden-toggle>span { font:800 12px/1 var(--font-display); text-transform:uppercase; }
.word-garden-toggle>b { font:800 17px/1 var(--font-display); letter-spacing:-.04em; }
.word-garden-toggle>b small { font-size:10px; }

.word-garden {
  position:fixed;
  z-index:90;
  inset:0;
  min-height:100dvh;
  overflow:auto;
  background:var(--oat);
  color:var(--ink);
  isolation:isolate;
}
.word-garden::before {
  position:absolute;
  z-index:-2;
  top:0;
  right:0;
  left:0;
  height:440px;
  background:var(--violet);
  clip-path:polygon(0 0,100% 0,100% 79%,91% 87%,79% 82%,66% 92%,51% 84%,38% 94%,24% 83%,11% 91%,0 82%);
  content:"";
}
.word-garden::after {
  position:absolute;
  z-index:-1;
  top:88px;
  right:-95px;
  width:270px;
  height:220px;
  border-radius:61% 39% 53% 47% / 38% 58% 42% 62%;
  background:var(--coral);
  content:"";
  transform:rotate(-12deg);
}
.word-garden__grain { position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.08; }
.word-garden__close {
  position:fixed;
  z-index:3;
  top:20px;
  right:92px;
  display:flex;
  min-width:154px;
  height:58px;
  padding:0 19px;
  gap:9px;
  align-items:center;
  justify-content:center;
  place-items:center;
  border:0;
  border-radius:56% 44% 51% 49% / 46% 58% 42% 54%;
  background:var(--acid);
  box-shadow:0 7px 0 rgba(38,38,43,.18);
  color:var(--ink);
  font:800 12px/1 var(--font-display);
  text-transform:uppercase;
  cursor:pointer;
}
.word-garden__close b { font-size:23px; line-height:1; }
.word-garden__hero {
  position:relative;
  z-index:1;
  display:grid;
  width:min(1500px,calc(100% - 96px));
  min-height:380px;
  margin:0 auto;
  padding:72px 84px 72px 0;
  grid-template-columns:minmax(0,1fr) 250px 170px;
  align-items:center;
  gap:clamp(35px,5vw,85px);
}
.word-garden__hero>div:first-child>span {
  display:block;
  color:var(--sun);
  font:800 12px/1 var(--font-body);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.word-garden__hero h2 {
  margin:14px 0 13px;
  color:var(--soft);
  font:800 clamp(55px,6vw,102px)/.76 var(--font-display);
  letter-spacing:-.08em;
  text-transform:uppercase;
}
.word-garden__hero h2 i { color:var(--acid); font-style:normal; }
.word-garden__hero>div:first-child>p {
  max-width:670px;
  margin:0;
  color:var(--soft);
  font:700 clamp(15px,1.15vw,20px)/1.25 var(--font-body);
}
.word-garden__progress {
  position:relative;
  display:grid;
  width:230px;
  aspect-ratio:1;
  place-items:center;
  color:var(--soft);
}
.word-garden__progress svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.word-garden__progress circle { fill:none; stroke:rgba(243,243,243,.22); stroke-width:8; }
.word-garden__progress .word-garden__progress-line {
  stroke:var(--acid);
  stroke-dasharray:1;
  stroke-dashoffset:calc(1 - var(--word-progress));
  stroke-linecap:round;
}
.word-garden__progress strong {
  margin-top:-28px;
  font:800 clamp(62px,5vw,88px)/1 var(--font-display);
  letter-spacing:-.08em;
}
.word-garden__progress>span { position:absolute; top:59%; font:800 14px/1 var(--font-display); text-transform:uppercase; }
.word-garden__progress>small { position:absolute; top:69%; color:var(--acid); font:800 13px/1 var(--font-body); text-transform:uppercase; }
.word-garden__practice {
  display:grid;
  align-content:center;
  color:var(--soft);
}
.word-garden__practice strong { color:var(--pink); font:800 58px/.85 var(--font-display); letter-spacing:-.07em; }
.word-garden__practice span { max-width:140px; margin-top:10px; font:800 13px/1.05 var(--font-body); text-transform:uppercase; }

.word-garden__filters {
  position:relative;
  z-index:2;
  display:flex;
  width:min(1500px,calc(100% - 64px));
  margin:4px auto 0;
  padding:22px 8px 24px;
  gap:12px;
  overflow-x:auto;
  scrollbar-width:none;
}
.word-garden__filters::-webkit-scrollbar { display:none; }
.word-garden__filters button {
  position:relative;
  display:flex;
  min-width:max-content;
  min-height:56px;
  padding:10px 17px;
  align-items:center;
  gap:11px;
  border:0;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
}
.word-garden__filters button::before {
  position:absolute;
  z-index:-1;
  inset:0;
  border-radius:48% 52% 45% 55% / 58% 43% 57% 42%;
  background:rgba(146,103,234,.12);
  content:"";
  transform:rotate(-1deg);
}
.word-garden__filters button:nth-child(3n+2)::before { background:rgba(253,118,102,.16); transform:rotate(1deg); }
.word-garden__filters button:nth-child(3n)::before { background:rgba(246,204,36,.22); }
.word-garden__filters button.is-active::before { background:var(--acid); box-shadow:0 6px 0 rgba(38,38,43,.14); }
.word-garden__filters button span { font:800 13px/1 var(--font-display); text-transform:uppercase; }
.word-garden__filters button b { display:grid; min-width:32px; height:28px; padding:0 7px; place-items:center; border-radius:50%; background:var(--soft); font:800 11px/1 var(--font-body); }

.word-garden__collection {
  position:relative;
  z-index:1;
  width:min(1500px,calc(100% - 80px));
  min-height:380px;
  margin:0 auto;
  padding:30px 0 80px;
}
.word-garden__collection>header {
  display:flex;
  margin-bottom:30px;
  align-items:end;
  justify-content:space-between;
  gap:25px;
}
.word-garden__collection>header span { display:block; color:var(--violet); font:800 13px/1 var(--font-body); letter-spacing:.13em; text-transform:uppercase; }
.word-garden__collection>header strong { display:block; margin-top:7px; font:800 clamp(32px,3.2vw,52px)/.9 var(--font-display); letter-spacing:-.055em; text-transform:uppercase; }
.word-garden__collection>header p { margin:0; font:700 14px/1 var(--font-body); }
.word-garden__seeds {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.word-garden__seeds>button {
  position:relative;
  display:flex;
  min-height:170px;
  padding:25px 24px;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  border:0;
  border-radius:28% 72% 30% 70% / 63% 34% 66% 37%;
  background:var(--pink);
  color:var(--ink);
  box-shadow:0 8px 0 rgba(38,38,43,.13);
  transform:rotate(-1deg);
  text-align:left;
  cursor:pointer;
  transition:transform .2s var(--ease-spring),box-shadow .2s ease;
}
.word-garden__seeds>button:hover { z-index:2; box-shadow:0 12px 0 rgba(38,38,43,.16); transform:translateY(-5px) rotate(1deg); }
.word-garden__seeds>button:focus-visible { outline:5px solid var(--ink); outline-offset:4px; }
.word-garden__seeds>button:nth-child(5n+2) { border-radius:63% 37% 58% 42% / 39% 66% 34% 61%; background:var(--acid); transform:rotate(1deg); }
.word-garden__seeds>button:nth-child(5n+3) { border-radius:42% 58% 72% 28% / 66% 35% 65% 34%; background:var(--coral); }
.word-garden__seeds>button:nth-child(5n+4) { border-radius:71% 29% 40% 60% / 45% 69% 31% 55%; background:var(--sun); transform:rotate(1.5deg); }
.word-garden__seeds>button:nth-child(5n) { border-radius:36% 64% 55% 45% / 65% 42% 58% 35%; background:var(--violet); color:var(--soft); }
.word-garden__seeds>button::after {
  position:absolute;
  right:-18px;
  bottom:-22px;
  width:75px;
  height:72px;
  border-radius:50%;
  background:rgba(243,243,243,.25);
  content:"";
}
.word-garden__seeds>button small { font:800 10px/1 var(--font-body); letter-spacing:.12em; text-transform:uppercase; }
.word-garden__seeds>button strong { margin:9px 0 13px; overflow-wrap:anywhere; font:800 clamp(24px,2vw,34px)/.86 var(--font-display); letter-spacing:-.06em; text-transform:uppercase; }
.word-garden__seeds>button span { font:750 11px/1.1 var(--font-body); }
.word-garden__seeds>button>b { position:absolute; right:18px; top:17px; padding:6px 9px; border-radius:999px; background:var(--soft); color:var(--ink); font:800 10px/1 var(--font-body); text-transform:uppercase; }
.word-garden__seeds>button>i { position:absolute; right:20px; bottom:18px; z-index:1; color:currentColor; font:800 21px/1 var(--font-display); font-style:normal; transition:transform .2s var(--ease-spring); }
.word-garden__seeds>button:hover>i { transform:translate(3px,-3px); }
.word-garden__empty {
  display:grid;
  width:min(760px,100%);
  min-height:280px;
  margin:25px auto 0;
  grid-template-columns:210px minmax(0,1fr);
  align-items:center;
  gap:35px;
}
.word-garden__empty>span { display:block; width:200px; filter:drop-shadow(0 10px 0 rgba(38,38,43,.12)); animation:word-blob-bob 2.6s ease-in-out infinite; }
.word-garden__empty>span svg { display:block; width:100%; }
.word-garden__empty strong { display:block; font:800 clamp(36px,4vw,60px)/.88 var(--font-display); letter-spacing:-.065em; text-transform:uppercase; }
.word-garden__empty p { max-width:450px; margin:14px 0 22px; font:700 16px/1.3 var(--font-body); }
.word-garden__empty button { min-height:56px; padding:12px 22px; border:0; border-radius:55% 45% 48% 52% / 60% 46% 54% 40%; background:var(--acid); box-shadow:0 6px 0 rgba(38,38,43,.14); color:var(--ink); font:800 14px/1 var(--font-display); text-transform:uppercase; cursor:pointer; }

.word-garden__drawer-backdrop {
  position:fixed;
  z-index:7;
  inset:0;
  border:0;
  background:rgba(38,38,43,.46);
  cursor:pointer;
  animation:word-garden-fade-in .24s ease both;
}
.word-garden__drawer {
  position:fixed;
  z-index:8;
  top:0;
  right:0;
  bottom:0;
  width:min(620px,92vw);
  padding:clamp(78px,9vh,112px) 62px 60px 102px;
  overflow:auto;
  background:var(--pink);
  color:var(--ink);
  clip-path:polygon(9% 0,100% 0,100% 100%,7% 100%,2% 90%,8% 79%,3% 67%,8% 54%,2% 42%,7% 29%,3% 16%);
  filter:drop-shadow(-18px 0 0 rgba(38,38,43,.2));
  animation:word-garden-drawer-in .5s cubic-bezier(.18,.9,.24,1) both;
}
.word-garden__drawer::before {
  position:absolute;
  top:0;
  right:-8%;
  width:55%;
  height:19px;
  border-radius:0 0 54% 46%;
  background:var(--acid);
  content:"";
}
.word-garden__drawer-close {
  position:absolute;
  z-index:3;
  top:24px;
  right:86px;
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border:0;
  border-radius:50%;
  background:var(--acid);
  box-shadow:0 6px 0 rgba(38,38,43,.16);
  color:var(--ink);
  font:800 31px/1 var(--font-display);
  cursor:pointer;
}
.word-garden__drawer-copy { position:relative; z-index:2; min-height:100%; }
.word-garden__drawer-kicker {
  display:inline-block;
  max-width:340px;
  margin-bottom:38px;
  color:var(--violet);
  font:800 12px/1.05 var(--font-body);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.word-garden__drawer-copy>small { display:block; font:800 14px/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; }
.word-garden__drawer-word { display:flex; width:100%; min-height:108px; align-items:center; }
.word-garden__drawer h3 {
  --word-max:92;
  --word-min:38;
  max-width:100%;
  margin:8px 0 14px;
  color:var(--ink);
  font:800 92px/.78 var(--font-display);
  letter-spacing:-.075em;
  text-transform:uppercase;
  white-space:nowrap;
}
.word-garden__say {
  display:flex;
  min-height:57px;
  padding:8px 19px 8px 9px;
  align-items:center;
  gap:12px;
  border:0;
  border-radius:58% 42% 53% 47% / 48% 59% 41% 52%;
  background:var(--ink);
  box-shadow:0 6px 0 rgba(38,38,43,.18);
  color:var(--soft);
  cursor:pointer;
  font:800 12px/1 var(--font-display);
  text-transform:uppercase;
}
.word-garden__say i { display:grid; width:40px; height:40px; place-items:center; border-radius:50%; background:var(--coral); color:var(--ink); font:800 14px/1 var(--font-body); font-style:normal; }
.word-garden__meaning {
  margin-top:48px;
  padding-top:26px;
  border-top:7px solid var(--ink);
}
.word-garden__meaning>span,.word-garden__remember>span { display:block; color:var(--violet); font:800 12px/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; }
.word-garden__meaning p { max-width:460px; margin:15px 0 0; font:750 clamp(25px,2.4vw,35px)/1.08 var(--font-body); letter-spacing:-.035em; }
.word-garden__remember { max-width:460px; margin-top:38px; padding-left:25px; border-left:8px solid var(--coral); }
.word-garden__remember strong { display:block; margin-top:10px; font:800 clamp(19px,1.7vw,26px)/1.12 var(--font-display); }
.word-garden__drawer footer { display:flex; max-width:460px; margin-top:42px; padding-top:20px; justify-content:space-between; gap:20px; border-top:2px solid rgba(38,38,43,.2); font:750 11px/1.2 var(--font-body); text-transform:uppercase; }
.word-garden__drawer-blob { position:absolute; z-index:0; right:-24px; bottom:-16px; display:block; width:190px; transform:rotate(-11deg); opacity:.9; }
.word-garden__drawer-blob svg { display:block; width:100%; filter:drop-shadow(0 8px 0 rgba(38,38,43,.14)); }
@keyframes word-garden-fade-in { from { opacity:0; } }
@keyframes word-garden-drawer-in { from { transform:translateX(105%); } to { transform:none; } }

/* Keep the primary action low in the viewport without letting it slip below laptop screens. */
.play-game-screen .word-slot-wrap .word-quest__spin {
  position:fixed;
  bottom:14px;
}
.play-game-screen .word-quest__board--selected .word-slot-wrap .word-quest__spin {
  position:fixed;
  bottom:86px;
}

@media (max-width:1100px) {
  .word-garden__hero { grid-template-columns:minmax(0,1fr) 210px; }
  .word-garden__practice { display:none; }
  .word-garden__seeds { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:700px) {
  .word-garden-toggle { top:14px; left:92px; min-height:42px; padding:6px 10px 6px 7px; }
  .word-garden-toggle>i { width:28px; height:28px; }
  .word-garden-toggle>span { display:none; }
  .word-garden-toggle>b { font-size:14px; }
  .word-garden__close { top:12px; right:72px; min-width:48px; width:48px; height:48px; padding:0; }
  .word-garden__close span { display:none; }
  .word-garden::before { height:510px; clip-path:polygon(0 0,100% 0,100% 90%,79% 84%,60% 94%,39% 86%,17% 94%,0 88%); }
  .word-garden::after { top:260px; right:-100px; width:210px; height:160px; }
  .word-garden__hero {
    width:calc(100% - 36px);
    min-height:480px;
    padding:72px 0 80px;
    grid-template-columns:1fr 145px;
    align-items:end;
    gap:10px;
  }
  .word-garden__hero>div:first-child { grid-column:1/-1; align-self:start; padding-right:40px; }
  .word-garden__hero h2 { font-size:clamp(54px,18vw,80px); }
  .word-garden__hero>div:first-child>p { max-width:330px; font-size:14px; }
  .word-garden__progress { width:145px; justify-self:start; }
  .word-garden__progress strong { margin-top:-20px; font-size:55px; }
  .word-garden__progress>span { font-size:10px; }
  .word-garden__progress>small { font-size:10px; }
  .word-garden__practice { display:grid; align-self:center; }
  .word-garden__practice strong { font-size:44px; }
  .word-garden__practice span { font-size:10px; }
  .word-garden__filters { width:100%; margin-top:0; padding:14px 16px 20px; }
  .word-garden__filters button { min-height:48px; padding:8px 13px; }
  .word-garden__collection { width:calc(100% - 32px); padding-top:20px; }
  .word-garden__collection>header { align-items:start; }
  .word-garden__collection>header p { display:none; }
  .word-garden__collection>header strong { font-size:32px; }
  .word-garden__seeds { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  .word-garden__seeds>button { min-height:145px; padding:21px 18px; }
  .word-garden__seeds>button strong { font-size:clamp(20px,6.4vw,28px); }
  .word-garden__empty { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .word-garden__empty>span { width:150px; }
  .word-garden__empty strong { font-size:38px; }
  .word-garden__drawer {
    top:66px;
    width:100%;
    padding:82px 25px 44px;
    clip-path:polygon(0 6%,12% 2%,28% 5%,43% 1%,59% 5%,76% 2%,100% 6%,100% 100%,0 100%);
    filter:none;
  }
  .word-garden__drawer::before { right:0; width:62%; height:12px; }
  .word-garden__drawer-close { position:fixed; top:78px; right:22px; width:48px; height:48px; }
  .word-garden__drawer-kicker { max-width:245px; margin-bottom:26px; font-size:10px; }
  .word-garden__drawer-word { min-height:78px; }
  .word-garden__drawer h3 { --word-max:64; --word-min:30; font-size:64px; }
  .word-garden__meaning { margin-top:34px; padding-top:20px; border-top-width:6px; }
  .word-garden__meaning p { font-size:25px; }
  .word-garden__remember { margin-top:30px; padding-left:18px; border-left-width:6px; }
  .word-garden__remember strong { font-size:20px; }
  .word-garden__drawer footer { margin-top:30px; padding-right:95px; flex-direction:column; gap:7px; }
  .word-garden__drawer-blob { right:-24px; width:145px; }
  .play-game-screen .word-slot-wrap .word-quest__spin { bottom:8px; }
  .play-game-screen .word-quest__board--selected .word-slot-wrap .word-quest__spin { bottom:88px; }
}

/* Higher specificity keeps later mission-stage placement rules from moving the standalone clock. */
body .play-game-screen .word-quest--timer-tool .word-quest-timer-tool__clock.word-quest-scene__timer {
  position:relative;
  inset:auto;
  grid-column:2;
  grid-row:1 / span 2;
  justify-self:center;
  width:min(46vw,65vh,650px);
  height:auto;
  margin:0;
  transform:none;
}
body .play-game-screen .word-quest--timer-tool .word-quest-timer-tool__clock .word-quest__timer--hero {
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  width:100%;
  max-width:none;
  height:100%;
  margin:0;
  place-items:center;
  opacity:1;
  pointer-events:none;
  transform:none;
  transition:none;
}
body .play-game-screen .word-quest--timer-tool .word-quest-timer-tool__clock .word-quest__timer--hero>div {
  position:absolute;
  top:56%;
  left:49.6%;
  display:grid;
  width:80%;
  place-items:center;
  transform:translate(-50%,-50%);
}
body .play-game-screen .word-quest--timer-tool .word-quest-timer-tool__clock [data-word-quest-tool-time] {
  display:block;
  margin:0;
  color:var(--graphite);
  font:900 22cqw/.85 var(--font-display);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.075em;
  text-align:center;
  text-shadow:0 3px 0 #15121c,0 7px 4px rgba(38,25,20,.2);
}
@media (max-width:800px) {
  body .play-game-screen .word-quest--timer-tool .word-quest-timer-tool__clock.word-quest-scene__timer {
    order:2;
    width:min(94vw,480px);
  }
}

/* Word Quest second-device timer. It intentionally reuses the mission's
   illustrated clock while keeping its state and controls entirely separate. */
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch {
  position:fixed;
  z-index:8;
  top:22px;
  left:50%;
  display:grid;
  min-width:180px;
  min-height:58px;
  padding:9px 22px 10px 58px;
  border:2px solid #ff9ed0;
  border-radius:28px 32px 27px 30px;
  background:linear-gradient(180deg,#ff8bc6 0%,#e84d9a 72%);
  box-shadow:inset 0 4px 0 #ffffff80,0 6px 0 #9f2b69,0 10px 0 #342052,0 14px 18px #34205238;
  color:#fff;
  text-decoration:none;
  transform:translateX(-50%);
  transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch>span { position:absolute; top:50%; left:20px; font:900 31px/1 var(--font-display); transform:translateY(-52%); }
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch>strong { font:900 19px/1 var(--font-display); letter-spacing:.02em; text-transform:uppercase; text-shadow:0 2px 0 #8c285d; }
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch>small { margin-top:3px; font:750 9px/1.1 var(--font-body); }
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch:hover { filter:brightness(1.06); transform:translate(-50%,-2px); }
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch:active { box-shadow:inset 0 3px 0 #ffffff66,0 2px 0 #9f2b69,0 5px 0 #342052; transform:translate(-50%,5px); }
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch:focus-visible { outline:4px solid #fff; outline-offset:6px; }

/* Private Word Quest recording setup. This exists only behind
   /play/word-quest?demo=word-picker and disappears after the word is locked. */
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup {
  position:fixed;
  inset:0;
  z-index:280;
  display:grid;
  padding:28px;
  place-items:center;
  background:rgba(35,22,79,.9);
  backdrop-filter:blur(14px);
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card {
  width:min(620px,100%);
  padding:clamp(30px,5vw,54px);
  border:5px solid #342052;
  border-radius:38px;
  background:#fff3ce;
  box-shadow:inset 0 5px 0 #fff,0 12px 0 #342052,0 28px 55px rgba(23,12,48,.42);
  color:#26262b;
  text-align:left;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card>span {
  color:#7950cc;
  font:900 13px/1 var(--font-display);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card h2 {
  margin:14px 0 14px;
  font:900 clamp(34px,5vw,58px)/.9 var(--font-display);
  letter-spacing:-.055em;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card p {
  max-width:480px;
  margin:0 0 28px;
  font:700 16px/1.4 var(--font-body);
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 14px;
  align-items:end;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card label {
  grid-column:1 / -1;
  font:900 15px/1 var(--font-display);
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card select {
  min-width:0;
  min-height:62px;
  padding:10px 45px 10px 18px;
  border:4px solid #342052;
  border-radius:18px;
  background:#fff;
  color:#26262b;
  font:900 22px/1 var(--font-display);
  text-transform:capitalize;
  box-shadow:inset 0 3px 0 #eee3c7,0 5px 0 #342052;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card button {
  min-height:62px;
  padding:13px 24px;
  border:2px solid #ff9ed0;
  border-radius:29px 33px 28px 31px;
  background:linear-gradient(180deg,#ff8bc6,#e84d9a 70%);
  box-shadow:inset 0 4px 0 #ffffff80,0 6px 0 #9f2b69,0 10px 0 #342052;
  color:#fff;
  font:900 18px/1 var(--font-display);
  text-shadow:0 2px 0 #8c285d;
  cursor:pointer;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card button:active {
  transform:translateY(5px);
  box-shadow:inset 0 3px 0 #ffffff66,0 2px 0 #9f2b69,0 5px 0 #342052;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card :is(select,button):focus-visible { outline:5px solid #b0ee0b; outline-offset:5px; }
@media (max-width:620px) {
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup { padding:18px; }
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card { padding:30px 24px; border-radius:28px; }
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card form { grid-template-columns:1fr; }
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-demo-setup__card button { width:100%; margin-top:8px; }
}

.play-game-screen.app-shell-game-page[data-game-page="word-quest-timer"] {
  min-height:100dvh;
  background:#794ddd;
}
.play-game-screen [data-word-quest-phase="research"].word-quest--timer-tool {
  position:fixed;
  inset:0;
  z-index:1;
  min-height:100dvh;
  padding:0 0 108px;
  overflow:auto;
  background:radial-gradient(ellipse at 22% 16%,#9868ed 0%,#794ddd 52%,#6038b8 100%);
}
.word-quest-timer-tool__canvas {
  position:relative;
  display:grid;
  width:min(1500px,100%);
  min-height:calc(100dvh - 108px);
  margin:auto;
  padding:clamp(34px,5vw,76px);
  grid-template-columns:minmax(320px,.85fr) minmax(460px,1.15fr);
  grid-template-rows:auto 1fr;
  align-items:center;
  gap:12px clamp(30px,4vw,76px);
}
.word-quest-timer-tool__heading { align-self:start; color:#fff; }
.word-quest-timer-tool__heading>a {
  display:inline-flex;
  margin-bottom:clamp(34px,6vh,72px);
  align-items:center;
  gap:12px;
  color:#fff;
  font:850 15px/1 var(--font-display);
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}
.word-quest-timer-tool__heading>a span { color:var(--acid); font-size:25px; }
.word-quest-timer-tool__heading>a:focus-visible { outline:4px solid var(--acid); outline-offset:8px; }
.word-quest-timer-tool__heading div>span { color:var(--acid); font:900 15px/1 var(--font-display); letter-spacing:.13em; text-transform:uppercase; }
.word-quest-timer-tool__heading h1 { max-width:620px; margin:16px 0 20px; color:#fff; font:900 clamp(62px,6.7vw,112px)/.83 var(--font-display); letter-spacing:-.07em; text-shadow:0 7px 0 #342052; }
.word-quest-timer-tool__heading p { max-width:470px; margin:0; color:#fff; font:650 clamp(17px,1.5vw,22px)/1.45 var(--font-body); }
.word-quest-timer-tool__setup { align-self:start; color:#fff; }
.word-quest-timer-tool__setup h2 { margin:0 0 18px; font:900 clamp(25px,2.2vw,34px)/1 var(--font-display); letter-spacing:-.035em; }
.word-quest-timer-tool__presets { display:flex; flex-wrap:wrap; gap:14px; }
.word-quest-timer-tool__presets button,
.word-quest-timer-tool__setup form button,
.word-quest-timer-tool__actions button {
  min-height:58px;
  border:2px solid #ff9ed0;
  border-radius:29px 33px 28px 31px;
  background:linear-gradient(180deg,#ff8bc6,#e84d9a 70%);
  box-shadow:inset 0 4px 0 #ffffff80,0 6px 0 #9f2b69,0 10px 0 #342052;
  color:#fff;
  font:900 20px/1 var(--font-display);
  text-shadow:0 2px 0 #8c285d;
  cursor:pointer;
}
.word-quest-timer-tool__presets button { min-width:108px; padding:13px 21px; }
.word-quest-timer-tool__presets button.is-selected { border-color:#dfff83; background:linear-gradient(180deg,#bdff22,#9bd000 72%); box-shadow:inset 0 4px 0 #e8ff96,0 6px 0 #638609,0 10px 0 #342052; color:#342052; text-shadow:0 1px 0 #eaffac; }
.word-quest-timer-tool__presets button:active,
.word-quest-timer-tool__setup form button:active,
.word-quest-timer-tool__actions button:active { transform:translateY(5px); box-shadow:inset 0 3px 0 #ffffff66,0 2px 0 #9f2b69,0 5px 0 #342052; }
.word-quest-timer-tool__setup button:focus-visible,
.word-quest-timer-tool__setup input:focus-visible { outline:4px solid var(--acid); outline-offset:5px; }
.word-quest-timer-tool__setup form { max-width:470px; margin-top:32px; }
.word-quest-timer-tool__setup form label { display:block; margin-bottom:10px; font:850 18px/1.1 var(--font-display); }
.word-quest-timer-tool__setup form label small { display:block; margin-top:7px; font:650 12px/1.2 var(--font-body); opacity:.9; }
.word-quest-timer-tool__setup form>div { display:flex; gap:12px; }
.word-quest-timer-tool__setup input { min-width:0; width:190px; min-height:58px; padding:10px 18px; border:3px solid #342052; border-radius:18px; background:#fff7e5; color:#26262b; font:900 25px/1 var(--font-display); font-variant-numeric:tabular-nums; text-align:center; box-shadow:inset 0 3px 0 #fff,0 6px 0 #342052; }
.word-quest-timer-tool__setup form button { padding:12px 22px; font-size:17px; }
.word-quest-timer-tool__setup form>span { display:block; min-height:22px; margin-top:12px; color:#fff; font:750 13px/1.3 var(--font-body); }
.word-quest-timer-tool__actions { margin-top:18px; }
.word-quest-timer-tool__actions button { min-width:240px; padding:15px 28px; }
.word-quest-timer-tool__status { position:absolute; z-index:5; right:6%; bottom:8%; display:none; color:#fff; text-align:center; transform:rotate(-3deg); }
.word-quest-timer-tool__status.is-visible { display:grid; animation:word-quest-timer-tool-pop .5s cubic-bezier(.2,1.6,.4,1) both; }
.word-quest-timer-tool__status strong { color:var(--acid); font:900 clamp(44px,5vw,78px)/.9 var(--font-display); letter-spacing:-.06em; text-shadow:0 6px 0 #342052; }
.word-quest-timer-tool__status span { margin-top:9px; font:850 20px/1 var(--font-display); }
@keyframes word-quest-timer-tool-pop { from { opacity:0; transform:rotate(-7deg) scale(.55); } to { opacity:1; transform:rotate(-3deg) scale(1); } }

@media (max-width:800px) {
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch { top:178px; min-width:154px; min-height:50px; padding:8px 17px 9px 49px; }
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch>span { left:16px; font-size:27px; }
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch>strong { font-size:16px; }
  .play-game-screen.app-shell-game-page[data-game-page="word-quest"] .word-quest-timer-launch>small { font-size:8px; }
  .word-quest-timer-tool__canvas { display:flex; min-height:calc(100dvh - 112px); padding:30px 18px 64px; flex-direction:column; gap:30px; text-align:center; }
  .word-quest-timer-tool__heading { width:100%; }
  .word-quest-timer-tool__heading>a { display:flex; width:max-content; margin:0 0 34px 4px; }
  .word-quest-timer-tool__heading h1 { margin:13px auto 18px; font-size:clamp(55px,17vw,82px); }
  .word-quest-timer-tool__heading p { margin:auto; font-size:17px; }
  .word-quest-timer-tool__setup { order:3; width:100%; }
  .word-quest-timer-tool__presets { justify-content:center; }
  .word-quest-timer-tool__setup form { margin:32px auto 0; }
  .word-quest-timer-tool__setup form>div { justify-content:center; }
  .word-quest-timer-tool__setup input { width:min(45vw,180px); }
  .word-quest-timer-tool__setup form button { padding-inline:18px; }
  .word-quest-timer-tool__status { position:relative; inset:auto; order:1; margin:0 0 -12px; }
}
@media (prefers-reduced-motion:reduce) { .word-quest-timer-tool__status.is-visible { animation:none; } }

@media (prefers-reduced-motion:reduce) {
  .word-garden__empty>span { animation:none; }
}

/* WORD QUEST — pull-to-play cabinet
   The cabinet, bulbs and oversized handle form one tactile arcade object. */
.play-game-screen .word-slot {
  width:min(68vw,1380px);
  border:9px solid var(--soft-white);
  outline:6px solid var(--graphite);
  outline-offset:-1px;
  box-shadow:0 20px 0 var(--graphite),0 40px 58px rgba(38,38,43,.24),inset 0 0 0 6px rgba(255,255,255,.1);
}
.play-game-screen .word-slot::before,
.play-game-screen .word-slot::after { display:none; }
.word-slot__bulbs {
  position:absolute;
  z-index:14;
  display:flex;
  justify-content:space-between;
  pointer-events:none;
}
.word-slot__bulbs--top,.word-slot__bulbs--bottom { right:54px; left:54px; }
.word-slot__bulbs--top { top:-26px; }
.word-slot__bulbs--bottom { bottom:-27px; }
.word-slot__bulbs--left,.word-slot__bulbs--right { top:52px; bottom:52px; flex-direction:column; }
.word-slot__bulbs--left { left:-27px; }
.word-slot__bulbs--right { right:-27px; }
.word-slot__bulbs i {
  display:block;
  width:18px;
  height:18px;
  border:4px solid var(--graphite);
  border-radius:50%;
  background:var(--sun);
  box-shadow:0 3px 0 rgba(38,38,43,.25),inset 0 3px 0 rgba(255,255,255,.38);
  animation:word-cabinet-bulb-a 1.37s steps(1,end) calc(var(--bulb-index) * -.17s) infinite;
}
.word-slot__bulbs i:nth-child(3n+2) { background:var(--coral); animation-name:word-cabinet-bulb-b; animation-duration:1.93s; }
.word-slot__bulbs i:nth-child(4n) { background:var(--lime); animation-name:word-cabinet-bulb-c; animation-duration:2.21s; }
.word-slot__bulbs i:nth-child(5n) { background:var(--pink); animation-duration:1.71s; }
.word-slot__bulbs--top i:nth-child(5),
.word-slot__bulbs--top i:nth-child(6),
.word-slot__bulbs--top i:nth-child(7),
.word-slot__bulbs--top i:nth-child(8) { visibility:hidden; }
@keyframes word-cabinet-bulb-a { 0%,19%,52%,84% { filter:brightness(.42); transform:scale(.78); } 20%,51%,85%,100% { filter:brightness(1.16); transform:scale(1); } }
@keyframes word-cabinet-bulb-b { 0%,31%,67%,88% { filter:brightness(1.12); transform:scale(1); } 32%,66%,89%,100% { filter:brightness(.38); transform:scale(.8); } }
@keyframes word-cabinet-bulb-c { 0%,14%,46%,74% { filter:brightness(.4); transform:scale(.8); } 15%,45%,75%,100% { filter:brightness(1.2); transform:scale(1.05); } }
.play-game-screen .word-slot__window {
  border:6px solid var(--graphite);
  box-shadow:inset 0 12px 0 rgba(38,38,43,.08),inset 0 -12px 0 rgba(38,38,43,.08);
}
.play-game-screen .word-slot__selection {
  box-shadow:inset 0 8px 0 rgba(255,255,255,.28),inset 0 -8px 0 rgba(38,38,43,.08);
}
.word-quest-lever {
  --lever-pull:0;
  position:absolute;
  z-index:12;
  top:50%;
  right:clamp(-162px,-9vw,-132px);
  width:216px;
  height:378px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--soft-white);
  cursor:grab;
  touch-action:none;
  transform:translateY(-50%);
  -webkit-tap-highlight-color:transparent;
}
.word-quest-lever:disabled { cursor:wait; }
.word-quest-lever.is-pulling { cursor:grabbing; }
.word-quest-lever__callout {
  position:absolute;
  z-index:4;
  top:-10px;
  left:-82px;
  display:grid;
  min-width:190px;
  padding:15px 23px 16px;
  justify-items:center;
  border:5px solid var(--graphite);
  border-radius:30px 19px 26px 18px;
  background:var(--sun);
  box-shadow:8px 9px 0 rgba(38,38,43,.28);
  color:var(--graphite);
  text-transform:uppercase;
  transform:rotate(-4deg);
  animation:word-lever-invite 3.4s cubic-bezier(.35,0,.25,1) infinite;
}
.word-quest-lever__callout em {
  display:inline-grid;
  min-height:23px;
  padding:5px 9px 4px;
  place-items:center;
  border-radius:999px;
  background:var(--coral);
  color:var(--graphite);
  font:800 9px/1 var(--font-body);
  font-style:normal;
  letter-spacing:.13em;
}
.word-quest-lever__callout small {
  margin-top:7px;
  font:800 9px/1 var(--font-body);
  letter-spacing:.14em;
}
.word-quest-lever__callout strong {
  display:block;
  max-width:150px;
  margin-top:7px;
  font:800 29px/.86 var(--font-display);
  letter-spacing:-.055em;
  text-align:center;
  white-space:normal;
}
.word-quest-lever__callout i {
  position:absolute;
  right:-24px;
  bottom:-18px;
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border:5px solid var(--graphite);
  border-radius:50%;
  background:var(--lime);
  font:900 28px/1 var(--font-body);
  font-style:normal;
  animation:word-lever-arrow 1s ease-in-out infinite;
}
.word-quest-lever__housing {
  position:absolute;
  right:0;
  bottom:22px;
  width:130px;
  height:270px;
  border:9px solid var(--soft-white);
  outline:6px solid var(--graphite);
  outline-offset:-1px;
  border-radius:66px;
  background:var(--graphite);
  box-shadow:0 18px 0 var(--graphite),0 29px 38px rgba(38,38,43,.22),inset 0 0 0 6px rgba(255,255,255,.11);
}
.word-quest-lever__slot {
  position:absolute;
  top:22px;
  right:31px;
  bottom:32px;
  left:31px;
  border:5px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:var(--oat);
  box-shadow:inset 0 7px 0 rgba(38,38,43,.14);
}
.word-quest-lever__slot::after {
  position:absolute;
  top:12px;
  bottom:12px;
  left:50%;
  width:9px;
  border-radius:999px;
  background:var(--graphite);
  content:"";
  opacity:.82;
  transform:translateX(-50%);
}
.word-quest-lever__arm {
  position:absolute;
  z-index:2;
  top:30px;
  left:50%;
  width:13px;
  height:112px;
  border:4px solid var(--graphite);
  border-radius:999px;
  background:var(--soft-white);
  box-shadow:3px 0 0 rgba(38,38,43,.18);
  transform:translate(-50%,calc(var(--lever-pull) * 116px));
  transition:transform .24s cubic-bezier(.22,.88,.3,1.35);
}
.word-quest-lever.is-pulling .word-quest-lever__arm { transition:none; }
.word-quest-lever__knob {
  z-index:9;
  position:absolute;
  top:-42px;
  left:50%;
  display:grid;
  width:88px;
  height:88px;
  place-items:center;
  border:7px solid var(--graphite);
  border-radius:48% 52% 45% 55% / 54% 47% 53% 46%;
  background:var(--coral);
  box-shadow:0 10px 0 #c34b45,inset 0 9px 0 rgba(255,255,255,.24);
  transform:translateX(-50%) rotate(calc(-7deg + var(--lever-pull) * 14deg));
}
.word-quest-lever__knob b,
.word-quest-lever__knob b::before,
.word-quest-lever__knob b::after {
  display:block;
  width:30px;
  height:5px;
  border-radius:999px;
  background:rgba(38,38,43,.55);
  content:"";
}
.word-quest-lever__knob b::before { transform:translateY(-10px) scaleX(.7); }
.word-quest-lever__knob b::after { transform:translateY(5px) scaleX(.7); }
.word-quest-lever__meter {
  position:absolute;
  right:-17px;
  bottom:76px;
  display:grid;
  gap:8px;
}
.word-quest-lever__meter i {
  width:14px;
  height:14px;
  border:2px solid var(--soft-white);
  border-radius:50%;
  background:rgba(255,255,255,.18);
}
.word-quest-lever.is-pulling .word-quest-lever__meter i:first-child,
.word-quest-lever.is-armed .word-quest-lever__meter i { background:var(--lime); }
.word-quest-lever__status {
  position:absolute;
  right:-4px;
  bottom:-12px;
  width:138px;
  color:var(--soft-white);
  font:800 10px/1.08 var(--font-body);
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
}
.word-quest-lever:focus-visible .word-quest-lever__housing {
  outline:6px solid var(--sun);
  outline-offset:7px;
}
.word-quest-lever:hover:not(:disabled) .word-quest-lever__knob {
  transform:translateX(-50%) rotate(calc(-7deg + var(--lever-pull) * 14deg)) scale(1.06);
}
.word-quest-lever.is-armed .word-quest-lever__callout {
  background:var(--lime);
  animation:none;
  transform:rotate(2deg) scale(1.04);
}
.word-quest-lever.is-armed .word-quest-lever__callout strong::after {
  content:"!";
}
.word-quest-lever.is-spinning .word-quest-lever__callout {
  background:var(--lime);
  animation:word-lever-callout-pop .7s var(--ease-spring) both;
}
.word-quest-lever.is-spinning .word-quest-lever__knob {
  animation:word-lever-release .72s .2s var(--ease-spring) both;
}
.play-game-screen .word-quest__board--selected .word-quest__stage-action {
  z-index:30;
  top:250px;
  bottom:auto;
  min-height:58px;
  background:var(--graphite) !important;
  box-shadow:0 8px 0 rgba(38,38,43,.3),0 15px 28px rgba(38,38,43,.16) !important;
}
@keyframes word-lever-callout-pop {
  0% { transform:rotate(-4deg) scale(.8); }
  65% { transform:rotate(3deg) scale(1.08); }
  100% { transform:rotate(-1deg) scale(1); }
}
@keyframes word-lever-invite {
  0%,62%,100% { transform:rotate(-4deg) translateY(0) scale(1); }
  68% { transform:rotate(1deg) translateY(-8px) scale(1.05); }
  74% { transform:rotate(-6deg) translateY(2px) scale(.98); }
  80% { transform:rotate(0) translateY(-5px) scale(1.03); }
  87% { transform:rotate(-4deg) translateY(0) scale(1); }
}
@keyframes word-lever-arrow { 0%,100% { transform:translateY(-3px); } 50% { transform:translateY(5px); } }
@keyframes word-lever-release {
  0% { transform:translateX(-50%) rotate(7deg); }
  100% { transform:translateX(-50%) rotate(-7deg); }
}

@media (max-width:900px) {
  .play-game-screen .word-slot {
    width:calc(100vw - 154px);
    border-width:7px;
    transform:translateX(-52px);
  }
  .word-slot__bulbs i { width:13px; height:13px; border-width:3px; }
  .word-slot__bulbs--top,.word-slot__bulbs--bottom { right:38px; left:38px; }
  .word-slot__bulbs--top { top:-21px; }
  .word-slot__bulbs--bottom { bottom:-22px; }
  .word-slot__bulbs--left { left:-22px; }
  .word-slot__bulbs--right { right:-22px; }
  .word-slot__bulbs--top i:nth-child(n+3):nth-child(-n+10) { visibility:hidden; }
  .word-quest-lever {
    top:50%;
    right:-116px;
    bottom:auto;
    width:158px;
    height:300px;
    transform:translateY(-50%);
  }
  .word-quest-lever__housing { width:94px; height:210px; border-width:7px; }
  .word-quest-lever__slot { right:22px; left:22px; }
  .word-quest-lever__arm { height:82px; transform:translate(-50%,calc(var(--lever-pull) * 84px)); }
  .word-quest-lever__knob { width:68px; height:68px; border-width:6px; }
  .word-quest-lever__callout { top:-2px; left:-55px; min-width:142px; padding:12px 16px; }
  .word-quest-lever__callout em { font-size:7px; }
  .word-quest-lever__callout small { font-size:7px; }
  .word-quest-lever__callout strong { max-width:110px; font-size:20px; }
  .word-quest-lever__callout i { right:-17px; bottom:-14px; width:36px; height:36px; border-width:4px; font-size:20px; }
  .word-quest-lever__meter { right:-12px; bottom:60px; gap:5px; }
  .word-quest-lever__meter i { width:10px; height:10px; }
  .word-quest-lever__status { right:-7px; width:100px; font-size:8px; }
}

@media (max-width:560px) {
  .play-game-screen .word-quest__arena { padding-right:0; padding-left:0; }
  .play-game-screen .word-slot {
    width:calc(100vw - 98px);
    transform:translateX(-35px);
  }
  .word-quest-lever {
    top:50%;
    right:-82px;
    bottom:auto;
    width:142px;
    height:278px;
    transform:translateY(-50%) scale(.9);
    transform-origin:center;
  }
  .word-quest-lever__callout { top:-4px; left:-48px; min-width:128px; }
  .word-quest-lever__callout strong { max-width:94px; font-size:18px; }
  .play-game-screen .word-quest__board--selected .word-quest__stage-action {
    top:242px;
    width:auto;
    max-width:calc(100% - 40px);
    min-height:52px;
    padding:9px 11px 9px 17px;
    font-size:12px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .word-quest-lever__arm,
  .word-quest-lever__callout,
  .word-quest-lever__knob { transition-duration:.01ms; animation-duration:.01ms !important; }
  .word-slot__bulbs i { animation:none; filter:none; transform:none; }
}

/* WORD GARDEN - one organic invitation, without nested badge or dashboard styling. */
.word-garden-toggle {
  min-height:58px;
  padding:8px 17px 8px 9px;
  gap:10px;
  border:0;
  border-radius:49% 51% 45% 55% / 57% 44% 56% 43%;
  background:var(--acid);
  box-shadow:0 8px 0 rgba(38,38,43,.16);
  color:var(--graphite);
}
.word-garden-toggle:hover { transform:translateY(-4px) rotate(-1deg); }
.word-garden-toggle:focus-visible { outline:4px solid var(--sun); outline-offset:5px; }
.word-garden-toggle>i {
  width:39px;
  height:39px;
  flex:0 0 39px;
  border:0;
  background:var(--pink);
  font-size:20px;
  transform:rotate(-8deg);
}
.word-garden-toggle>span {
  min-width:0;
  font:800 12px/1 var(--font-display);
  text-align:left;
  text-transform:uppercase;
}
.word-garden-toggle>b {
  font:800 17px/1 var(--font-display);
  letter-spacing:-.04em;
  color:var(--violet);
}
.word-garden-toggle>b small { font-size:9px; }

@media (max-width:700px) {
  .word-garden-toggle {
    min-height:46px;
    padding:6px 11px 6px 7px;
    gap:7px;
    box-shadow:0 6px 0 rgba(38,38,43,.16);
  }
  .word-garden-toggle>i { width:32px; height:32px; flex-basis:32px; font-size:16px; }
  .word-garden-toggle>span { display:block; max-width:92px; font-size:9px; }
  .word-garden-toggle>b { font-size:14px; }
  .word-garden-toggle>b small { font-size:7px; }
}

/* WORD QUEST STAGE - Kamelia-approved calm violet focus. */
.session-authenticated #app:has(.play-game-screen.app-shell-game-page[data-game-page="word-quest"]) {
  --word-quest-shell-top:154px;
  background:linear-gradient(to bottom,#fffefa 0 var(--word-quest-shell-top),var(--violet) var(--word-quest-shell-top) 100%) !important;
}
.play-game-screen .word-quest { background:var(--violet); box-shadow:none; }
.word-quest__stage-label strong { text-shadow:0 3px 0 rgba(38,38,43,.2); }

@media (max-width:900px) {
  .session-authenticated #app:has(.play-game-screen.app-shell-game-page[data-game-page="word-quest"]) {
    --word-quest-shell-top:112px;
  }
}

/* WORD QUEST CABINET - a sculpted TGO word machine, never a dashboard card. */
.play-game-screen .word-slot {
  padding:30px;
  border:0;
  border-radius:clamp(58px,6vw,112px);
  outline:0;
  background:var(--graphite);
  box-shadow:
    0 20px 0 #17171c,
    0 38px 54px rgba(38,38,43,.25),
    inset 0 0 0 8px var(--soft-white),
    inset 0 0 0 17px var(--violet),
    inset 0 0 0 23px var(--graphite);
}
.play-game-screen .word-slot__window {
  border:8px solid var(--graphite);
  border-radius:clamp(38px,4.4vw,82px);
  background:var(--oat);
  box-shadow:inset 0 13px 0 rgba(38,38,43,.08),inset 0 -13px 0 rgba(38,38,43,.08),0 0 0 4px rgba(255,255,255,.22);
}
.play-game-screen .word-slot__selection {
  background:var(--lime);
  box-shadow:inset 0 8px 0 rgba(255,255,255,.28),inset 0 -8px 0 rgba(38,38,43,.08);
}
.play-game-screen .word-slot__window::before,
.play-game-screen .word-slot__window::after { height:8px; background:var(--graphite); box-shadow:none; }
.play-game-screen .word-slot__category {
  isolation:isolate;
  top:-92px;
  min-width:300px;
  min-height:108px;
  padding:42px 58px 20px;
  border:0;
  border-radius:52% 48% 5px 5px / 76% 76% 5px 5px;
  background:var(--graphite);
  box-shadow:none;
  color:var(--graphite);
  text-shadow:none;
}
.play-game-screen .word-slot__category::before {
  position:absolute;
  z-index:-1;
  inset:8px 9px 7px;
  border-radius:52% 48% 3px 3px / 76% 76% 3px 3px;
  background:var(--coral);
  box-shadow:inset 0 6px 0 rgba(255,255,255,.22);
  content:"";
}
.play-game-screen .word-slot__category::after {
  position:absolute;
  z-index:-2;
  right:-24px;
  bottom:-14px;
  left:-24px;
  height:26px;
  border-radius:9px 9px 2px 2px;
  background:var(--graphite);
  content:"";
}
.play-game-screen .word-slot__category>strong {
  position:relative;
  z-index:2;
  font:inherit;
}
.word-slot__category-lights,
.word-quest-lever__lights { position:absolute; z-index:3; inset:0; pointer-events:none; }
.word-slot__category-lights i,
.word-quest-lever__lights i {
  position:absolute;
  width:16px;
  height:16px;
  border:4px solid var(--graphite);
  border-radius:50%;
  background:var(--sun);
  box-shadow:0 0 14px var(--sun),inset 0 3px 0 rgba(255,255,255,.46);
  animation:word-cabinet-bulb-a 1.37s steps(1,end) calc(var(--bulb-index) * -.17s) infinite;
}
.word-slot__category-lights i:nth-child(1) { top:51px; left:12px; }
.word-slot__category-lights i:nth-child(2) { top:25px; left:27px; }
.word-slot__category-lights i:nth-child(3) { top:9px; left:62px; }
.word-slot__category-lights i:nth-child(4) { top:4px; left:calc(50% - 25px); }
.word-slot__category-lights i:nth-child(5) { top:4px; right:calc(50% - 25px); }
.word-slot__category-lights i:nth-child(6) { top:9px; right:62px; }
.word-slot__category-lights i:nth-child(7) { top:25px; right:27px; }
.word-slot__category-lights i:nth-child(8) { top:51px; right:12px; }
.play-game-screen .word-slot__bulbs i {
  width:24px;
  height:24px;
  border:5px solid var(--graphite);
  color:var(--sun);
  background:currentColor;
  box-shadow:0 4px 0 rgba(38,38,43,.25),0 0 18px currentColor,inset 0 4px 0 rgba(255,255,255,.5);
}
.play-game-screen .word-slot__bulbs i:nth-child(3n+2) { color:var(--coral); }
.play-game-screen .word-slot__bulbs i:nth-child(4n) { color:var(--lime); }
.play-game-screen .word-slot__bulbs i:nth-child(5n) { color:var(--pink); }
.play-game-screen .word-slot__bulbs--top { top:-12px; }
.play-game-screen .word-slot__bulbs--bottom { bottom:-12px; }
.play-game-screen .word-slot__bulbs--left { left:-12px; }
.play-game-screen .word-slot__bulbs--right { right:-12px; }
.play-game-screen .word-slot__bulbs--top i { visibility:visible; }
.play-game-screen .word-slot__word { text-shadow:none; }

.word-slot__spectators { overflow:visible; }

.word-quest-lever__housing {
  border:0;
  outline:0;
  background:var(--graphite);
  box-shadow:0 18px 0 #17171c,0 29px 38px rgba(38,38,43,.22),inset 0 0 0 8px var(--soft-white),inset 0 0 0 17px var(--violet);
}
.word-quest-lever__slot {
  border:5px solid var(--graphite);
  background:var(--oat);
  box-shadow:inset 0 7px 0 rgba(38,38,43,.14);
}
.word-quest-lever__slot::after { background:var(--graphite); box-shadow:none; }
.word-quest-lever__arm {
  border:4px solid var(--graphite);
  background:var(--soft-white);
  box-shadow:3px 0 0 rgba(38,38,43,.18);
}
.word-quest-lever__knob {
  border:7px solid var(--graphite);
  background:var(--pink);
  box-shadow:0 10px 0 #c94ead,inset 0 9px 0 rgba(255,255,255,.26);
}
.word-quest-lever__callout {
  isolation:isolate;
  top:-8px;
  right:-8px;
  left:auto;
  width:154px;
  min-width:0;
  min-height:128px;
  padding:33px 20px 22px;
  border:0;
  border-radius:0;
  background:var(--graphite);
  box-shadow:0 10px 0 rgba(38,38,43,.22);
  clip-path:polygon(17% 0,83% 0,100% 24%,94% 100%,6% 100%,0 24%);
  color:var(--graphite);
  transform:none;
}
.word-quest-lever__callout::before {
  position:absolute;
  z-index:0;
  inset:7px;
  background:var(--sun);
  clip-path:inherit;
  content:"";
}
.word-quest-lever__callout em,
.word-quest-lever__callout strong,
.word-quest-lever__callout small,
.word-quest-lever__callout>i { position:relative; z-index:2; }
.word-quest-lever__callout em {
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--violet);
}
.word-quest-lever__callout strong { margin-top:5px; font-size:27px; }
.word-quest-lever__callout small { margin-top:5px; font-size:8px; }
.word-quest-lever__callout>i {
  position:absolute;
  right:auto;
  bottom:5px;
  left:50%;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--violet);
  font-size:24px;
  transform:translateX(-50%);
}
.word-quest-lever__lights i { width:13px; height:13px; border-width:3px; }
.word-quest-lever__lights i:nth-child(1) { top:20px; left:10px; }
.word-quest-lever__lights i:nth-child(2) { top:6px; left:31px; }
.word-quest-lever__lights i:nth-child(3) { top:4px; left:58px; }
.word-quest-lever__lights i:nth-child(4) { top:6px; right:31px; }
.word-quest-lever__lights i:nth-child(5) { top:20px; right:10px; }
.word-quest-lever__lights i:nth-child(6) { right:8px; bottom:15px; }
.word-quest-lever__lights i:nth-child(7) { bottom:7px; left:calc(50% - 6px); }
.word-quest-lever__lights i:nth-child(8) { bottom:15px; left:8px; }

@media (max-width:900px) {
  .play-game-screen .word-slot { padding:16px; }
  .play-game-screen .word-slot__bulbs i { width:18px; height:18px; border-width:4px; }
  .play-game-screen .word-slot__bulbs--top { top:-9px; }
  .play-game-screen .word-slot__bulbs--bottom { bottom:-9px; }
  .play-game-screen .word-slot__bulbs--left { left:-9px; }
  .play-game-screen .word-slot__bulbs--right { right:-9px; }
  .play-game-screen .word-slot__category { top:-78px; min-width:240px; min-height:92px; padding:36px 44px 17px; font-size:20px; }
  .word-slot__category-lights i { width:13px; height:13px; border-width:3px; }
  .word-slot__category-lights i:nth-child(1),.word-slot__category-lights i:nth-child(8) { top:43px; }
  .word-slot__category-lights i:nth-child(2),.word-slot__category-lights i:nth-child(7) { top:21px; }
  .word-slot__category-lights i:nth-child(3) { top:7px; left:50px; }
  .word-slot__category-lights i:nth-child(6) { top:7px; right:50px; }
  .word-quest-lever__callout { top:-4px; right:-4px; left:auto; width:132px; min-width:0; min-height:112px; padding:29px 16px 19px; }
  .word-quest-lever__callout strong { max-width:106px; font-size:21px; }
  .word-quest-lever__callout small { font-size:7px; }
  .word-quest-lever__callout>i { bottom:3px; width:auto; height:auto; border:0; font-size:20px; }
  .word-quest-lever__lights i { width:10px; height:10px; border-width:2px; }
}

@media (max-width:700px) {
  .play-game-screen .word-slot { padding:14px; }
  .play-game-screen .word-slot__category { top:-68px; min-width:190px; min-height:82px; padding:31px 34px 15px; font-size:18px; }
  .word-slot__category-lights i:nth-child(1),.word-slot__category-lights i:nth-child(8) { top:37px; }
  .word-slot__category-lights i:nth-child(2) { top:18px; left:22px; }
  .word-slot__category-lights i:nth-child(7) { top:18px; right:22px; }
  .word-slot__category-lights i:nth-child(3) { left:40px; }
  .word-slot__category-lights i:nth-child(6) { right:40px; }
  .word-quest-lever__callout { width:122px; min-height:104px; padding:27px 13px 18px; }
  .word-quest-lever__callout strong { max-width:96px; font-size:19px; }
}

/* Classes and games are true routed documents, never fixed overlays. */
.lesson-shell.lesson-page {
  position:relative;
  z-index:0;
  inset:auto;
  min-height:100dvh;
  padding:94px clamp(12px,2vw,30px) clamp(20px,3vw,44px);
  overflow:visible;
  animation:subpage-arrive .48s cubic-bezier(.18,.86,.24,1) both;
}
.lesson-page .lesson-header--page {
  top:74px;
  grid-template-columns:1fr;
  width:min(calc(100% - 12px),1500px);
  margin:0 auto;
  padding-inline:150px 80px;
  background:var(--soft-white);
  box-shadow:0 8px 0 rgba(38,38,43,.1);
  backdrop-filter:none;
}
.lesson-header__route { display:none; }
.lesson-page .lesson-layout { min-height:calc(100dvh - 190px); }
.immersive-nav + .play-game-screen { position:relative; z-index:0; inset:auto; min-height:100dvh; overflow:visible; }

.game-subpage { --game-field:var(--coral); min-height:100dvh; padding:92px clamp(16px,4vw,62px) clamp(28px,5vw,70px); background:var(--soft-white); overflow:hidden; }
.game-subpage--yellow { --game-field:var(--yellow); }
.game-subpage--lime { --game-field:var(--lime); }
.game-subpage--pink { --game-field:var(--pink); }
.game-subpage__stage {
  position:relative;
  display:grid;
  width:min(100%,1500px);
  min-height:calc(100dvh - 130px);
  margin:0 auto;
  padding:clamp(46px,7vw,104px);
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.8fr);
  align-items:center;
  gap:clamp(30px,6vw,100px);
  background:var(--game-field);
  clip-path:polygon(3% 5%,18% 1%,37% 4%,56% 1%,78% 5%,96% 2%,100% 21%,97% 43%,100% 63%,96% 84%,100% 97%,77% 100%,56% 97%,37% 100%,18% 96%,1% 99%,4% 78%,0 57%,4% 37%,0 17%);
  animation:subpage-arrive .5s cubic-bezier(.18,.86,.24,1) both;
}
.game-subpage__copy { position:relative; z-index:2; }
.game-subpage__copy>span { display:inline-block; border-bottom:5px solid var(--graphite); padding-bottom:5px; font:800 13px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.game-subpage__copy h1 { max-width:820px; margin:24px 0; font:800 clamp(68px,9vw,148px)/.78 var(--font-display); letter-spacing:-.08em; text-transform:uppercase; }
.game-subpage__copy p { max-width:610px; margin:0; font-size:clamp(18px,1.6vw,25px); font-weight:700; line-height:1.35; }
.game-subpage__copy button { display:flex; min-height:58px; margin-top:36px; padding:0 24px; align-items:center; gap:13px; border:0; border-radius:999px; background:var(--graphite); color:var(--soft-white); font:800 15px/1 var(--font-display); }
.game-subpage__copy button b { color:var(--lime); font-size:24px; }
.game-subpage__playmark { position:relative; display:grid; min-height:480px; place-items:center; }
.game-subpage__playmark::before { position:absolute; width:min(100%,470px); aspect-ratio:1; background:var(--violet); clip-path:polygon(50% 0,62% 12%,78% 5%,85% 22%,100% 28%,91% 46%,100% 61%,84% 71%,82% 91%,62% 87%,50% 100%,36% 88%,18% 94%,15% 73%,0 62%,9% 45%,0 29%,18% 21%,22% 4%,39% 12%); content:''; rotate:-7deg; }
.game-subpage__playmark strong { position:relative; z-index:2; color:var(--soft-white); font:800 clamp(46px,5vw,80px)/1 var(--font-display); letter-spacing:-.06em; rotate:5deg; }
.game-subpage__playmark .goodie-companion { position:absolute; z-index:3; right:0; bottom:2%; width:150px; }
.game-subpage__stage footer { position:absolute; z-index:3; left:clamp(46px,7vw,104px); right:clamp(46px,7vw,104px); bottom:34px; display:flex; justify-content:space-between; gap:30px; font-size:13px; }
.game-subpage__stage footer b { font-family:var(--font-display); text-transform:uppercase; }
.game-subpage__stage footer span { max-width:490px; text-align:right; }
@keyframes subpage-arrive { from { opacity:0; translate:0 26px; } to { opacity:1; translate:0; } }

@media (max-width:760px) {
  .lesson-shell.lesson-page { padding:78px 7px 14px; }
  .lesson-page .lesson-header--page { top:66px; grid-template-columns:1fr; gap:10px; padding:13px 58px; }
  .game-subpage { padding:76px 9px 12px; }
  .game-subpage__stage { min-height:calc(100dvh - 88px); padding:52px 24px 132px; grid-template-columns:1fr; align-content:center; gap:16px; }
  .game-subpage__copy h1 { font-size:clamp(58px,18vw,88px); }
  .game-subpage__copy p { font-size:17px; }
  .game-subpage__playmark { min-height:260px; }
  .game-subpage__playmark::before { width:260px; }
  .game-subpage__playmark strong { font-size:48px; }
.game-subpage__playmark .goodie-companion { width:100px; right:7%; }
  .game-subpage__stage footer { left:25px; right:25px; bottom:34px; display:grid; gap:6px; }
  .game-subpage__stage footer span { text-align:left; }
}

/* WILDWORLD RESCUE — a living field-guide game, never a modal. */
.smart-game--animal .game-visual--wildworld { position:absolute; z-index:1; right:2%; bottom:-4%; width:48%; height:96%; }
.game-visual--wildworld>.nature-mark { position:absolute; color:var(--emerald); }
.game-visual--wildworld>.nature-mark--oak { right:2%; bottom:3%; width:82%; height:82%; }
.game-visual--wildworld>.nature-mark--rabbit { right:43%; bottom:4%; width:42%; color:var(--soft); filter:drop-shadow(0 8px 0 rgba(38,38,43,.12)); }
.game-visual--wildworld>.goodie-companion { right:6%; bottom:15%; transform:scale(1.04) rotate(6deg); }

.wildworld-page { position:relative; min-height:100dvh; background:var(--oat); }
.wildworld {
  --wild-accent:var(--acid);
  --wild-land:#70cf67;
  position:relative;
  min-height:100dvh;
  padding:88px clamp(18px,3.8vw,62px) clamp(24px,3vw,46px);
  overflow:hidden;
  background:var(--oat);
  isolation:isolate;
}
.wildworld--violet { --wild-accent:var(--violet); --wild-land:#68cfc5; }
.wildworld--pink { --wild-accent:var(--pink); --wild-land:#82ca59; }
.wildworld--coral { --wild-accent:var(--coral); --wild-land:#54c59c; }
.wildworld::before {
  position:absolute;
  z-index:-2;
  top:-18%;
  right:-9%;
  width:58vw;
  height:62vh;
  background:var(--wild-accent);
  clip-path:polygon(9% 12%,29% 0,49% 8%,70% 1%,91% 17%,100% 40%,91% 63%,100% 84%,78% 100%,55% 91%,32% 100%,9% 85%,16% 60%,0 39%);
  content:"";
  rotate:8deg;
  opacity:.7;
}
.wildworld::after {
  position:absolute;
  z-index:-1;
  left:-8vw;
  bottom:-19vh;
  width:47vw;
  height:51vh;
  background:var(--emerald);
  clip-path:polygon(4% 22%,27% 1%,53% 9%,76% 0,100% 25%,92% 54%,100% 82%,71% 100%,42% 92%,13% 100%,20% 67%,0 47%);
  content:"";
  rotate:-5deg;
}
.wildworld__texture { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.wildworld__texture::before,.wildworld__texture::after { position:absolute; border:8px solid var(--ink); border-radius:50%; content:""; opacity:.09; }
.wildworld__texture::before { top:23%; left:4%; width:16px; height:16px; }
.wildworld__texture::after { right:3%; bottom:9%; width:48px; height:48px; border-width:11px; }
.wildworld__hud {
  position:relative;
  z-index:5;
  display:grid;
  width:min(100%,1540px);
  min-height:58px;
  margin:0 auto 12px;
  padding:0 112px 0 126px;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:22px;
}
.wildworld__hud>div { display:grid; gap:2px; }
.wildworld__hud>div:last-child { justify-items:end; }
.wildworld__hud small { font:800 10px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.wildworld__hud strong { font:800 20px/1 var(--font-display); }
.wildworld__hud ol { display:flex; margin:0; padding:0; align-items:center; gap:20px; list-style:none; }
.wildworld__hud li { position:relative; display:grid; width:34px; aspect-ratio:1; place-items:center; color:rgba(38,38,43,.35); }
.wildworld__hud li::before { position:absolute; inset:0; background:rgba(38,38,43,.12); clip-path:polygon(50% 0,62% 27%,90% 13%,76% 42%,100% 53%,71% 62%,88% 89%,58% 76%,47% 100%,39% 72%,9% 88%,24% 58%,0 45%,30% 38%,17% 9%,44% 25%); content:""; }
.wildworld__hud li+li::after { position:absolute; top:16px; right:100%; width:21px; height:3px; background:rgba(38,38,43,.16); content:""; }
.wildworld__hud li span { position:relative; z-index:1; font:800 11px/1 var(--font-display); }
.wildworld__hud li.is-current,.wildworld__hud li.is-done { color:var(--ink); }
.wildworld__hud li.is-current::before { background:var(--wild-accent); animation:wildworld-pulse 1.8s ease-in-out infinite; }
.wildworld__hud li.is-done::before { background:var(--emerald); }
.wildworld__stage {
  position:relative;
  z-index:2;
  display:grid;
  width:min(100%,1540px);
  min-height:calc(100dvh - 174px);
  margin:0 auto;
  grid-template-columns:minmax(390px,.82fr) minmax(540px,1.18fr);
  align-items:center;
  gap:clamp(28px,4vw,72px);
}
.wildworld__scene { position:relative; display:grid; min-height:min(73vh,760px); place-items:center; }
.wildworld__scene-label {
  position:absolute;
  z-index:5;
  top:1%;
  left:2%;
  max-width:330px;
  color:var(--ink);
  font:800 clamp(19px,1.8vw,28px)/1.04 var(--font-display);
  letter-spacing:-.035em;
  rotate:-3deg;
}
.wildworld-habitat {
  position:relative;
  width:min(46vw,680px);
  aspect-ratio:1.02;
  overflow:hidden;
  background:#a9dfeb;
  clip-path:polygon(7% 12%,23% 3%,40% 9%,59% 1%,77% 8%,95% 4%,100% 25%,95% 47%,100% 68%,92% 91%,72% 96%,52% 100%,31% 95%,10% 100%,3% 78%,7% 56%,0 35%);
  filter:drop-shadow(0 18px 0 rgba(38,38,43,.13));
  animation:wildworld-land-in .7s cubic-bezier(.16,.82,.24,1) both;
}
.wildworld-habitat--pond { background:#9cded7; }
.wildworld-habitat--forest { background:#e7b7d7; }
.wildworld-habitat--mangrove { background:#92ded0; }
.wildworld-habitat__ground { position:absolute; z-index:1; right:-8%; bottom:-13%; left:-9%; height:55%; background:var(--wild-land); clip-path:polygon(0 21%,18% 5%,36% 14%,55% 0,75% 12%,100% 2%,100% 100%,0 100%); }
.wildworld-habitat--pond .wildworld-habitat__ground { height:47%; background:#5ebdcc; clip-path:polygon(0 15%,18% 3%,41% 14%,64% 2%,82% 11%,100% 4%,100% 100%,0 100%); }
.wildworld-habitat--mangrove .wildworld-habitat__ground { height:48%; background:#58b9b1; }
.wildworld-habitat__sun { position:absolute; z-index:1; top:4%; right:6%; width:28%; color:var(--sun); animation:wildworld-sun 7s ease-in-out infinite; }
.wildworld-habitat__cloud { position:absolute; z-index:1; width:90px; height:30px; background:var(--soft); border-radius:55% 45% 62% 38% / 54% 44% 56% 46%; opacity:.86; }
.wildworld-habitat__cloud::before,.wildworld-habitat__cloud::after { position:absolute; bottom:4px; border-radius:50%; background:inherit; content:""; }
.wildworld-habitat__cloud::before { left:16px; width:36px; height:38px; }
.wildworld-habitat__cloud::after { right:12px; width:30px; height:31px; }
.wildworld-habitat__cloud--one { top:20%; left:8%; scale:.72; }
.wildworld-habitat__cloud--two { top:31%; right:4%; scale:.5; }
.wildworld-habitat__plant,.wildworld-habitat__animal { position:absolute; z-index:3; display:block; opacity:.12; filter:grayscale(1); transition:opacity .45s ease,filter .45s ease,transform .65s cubic-bezier(.16,.9,.27,1.3); }
.wildworld-habitat__plant { left:5%; bottom:7%; width:48%; color:#178747; transform:translateY(32%) scale(.7); }
.wildworld-habitat__animal { right:4%; bottom:10%; width:42%; color:var(--coral); transform:translateX(28%) scale(.72) rotate(8deg); }
.wildworld-habitat__plant.is-found,.wildworld-habitat__animal.is-found { opacity:1; filter:none; transform:none; }
.wildworld-habitat--forest .wildworld-habitat__plant { width:66%; left:-8%; bottom:3%; }
.wildworld-habitat--mangrove .wildworld-habitat__plant { width:61%; left:-3%; bottom:2%; }
.wildworld-habitat__mystery { position:absolute; z-index:2; left:47%; top:48%; color:rgba(38,38,43,.18); font:900 clamp(88px,9vw,145px)/1 var(--font-display); translate:-50% -50%; }
.wildworld[data-wildworld-phase="complete"] .wildworld-habitat__mystery,.wildworld[data-wildworld-phase="play"] .wildworld-habitat__mystery { opacity:.45; }
.wildworld-habitat__buddy { position:absolute; z-index:5; right:7%; top:11%; transform:scale(.72) rotate(9deg); transform-origin:center; }

.nature-mark { display:block; width:100%; overflow:visible; fill:none; stroke:var(--ink); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.nature-mark__fill { fill:currentColor; }
.nature-mark__soft { fill:var(--soft); }
.wildworld__challenge { position:relative; min-width:0; padding:clamp(22px,3vw,50px) 0; }
.wildworld-intro>span,.wildworld-question header>span,.wildworld-complete>span { display:inline-block; padding-bottom:8px; border-bottom:5px solid var(--ink); font:800 12px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.wildworld-intro h1,.wildworld-complete h1 { margin:24px 0 26px; font:850 clamp(76px,8.3vw,138px)/.76 var(--font-display); letter-spacing:-.085em; text-transform:uppercase; }
.wildworld-intro h1 i,.wildworld-complete h1 i { color:var(--emerald); }
.wildworld-intro p { max-width:650px; margin:0; font-size:clamp(18px,1.7vw,25px); font-weight:700; line-height:1.35; }
.wildworld-intro>button,.wildworld-complete__actions button {
  display:flex;
  min-height:66px;
  margin-top:34px;
  padding:14px 29px;
  align-items:center;
  gap:18px;
  border:0;
  background:var(--ink);
  clip-path:polygon(4% 10%,19% 3%,35% 9%,54% 2%,74% 8%,95% 4%,100% 27%,96% 51%,100% 78%,91% 96%,71% 91%,50% 100%,30% 93%,7% 98%,0 76%,4% 51%,0 25%);
  color:var(--soft);
  cursor:pointer;
  font:800 16px/1 var(--font-display);
  transition:translate .2s ease,rotate .2s ease;
}
.wildworld-intro>button:hover,.wildworld-complete__actions button:hover { translate:0 -4px; rotate:-1deg; }
.wildworld-intro>button b,.wildworld-complete__actions button b { color:var(--acid); font-size:26px; }
.wildworld-question header { max-width:820px; }
.wildworld-question h1 { margin:18px 0 12px; font:800 clamp(43px,4.9vw,78px)/.94 var(--font-display); letter-spacing:-.065em; }
.wildworld-question__feedback { min-height:27px; margin:0; color:rgba(38,38,43,.65); font-size:16px; font-weight:700; }
.wildworld-question__feedback.is-active { color:var(--ink); }
.wildworld-choices { display:grid; max-width:860px; margin-top:clamp(22px,3.2vw,44px); grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(10px,1.5vw,22px); }
.wildworld-choice {
  --choice-fill:var(--coral);
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
  min-height:clamp(178px,18vw,258px);
  padding:22px 18px 26px;
  place-items:center;
  align-content:center;
  gap:7px;
  border:0;
  background:var(--choice-fill);
  clip-path:polygon(7% 12%,26% 3%,46% 9%,67% 2%,92% 10%,100% 31%,94% 52%,100% 78%,82% 96%,59% 91%,39% 100%,16% 92%,1% 73%,7% 49%,0 28%);
  cursor:pointer;
  transition:translate .22s ease,rotate .22s ease,filter .22s ease;
}
.wildworld-choice--2 { --choice-fill:var(--acid); clip-path:polygon(4% 17%,20% 2%,43% 8%,64% 0,91% 12%,97% 34%,100% 60%,92% 86%,67% 96%,43% 91%,18% 100%,3% 80%,7% 56%,0 37%); }
.wildworld-choice--3 { --choice-fill:var(--violet); color:var(--soft); clip-path:polygon(11% 7%,31% 1%,51% 8%,75% 3%,96% 18%,91% 42%,100% 67%,89% 91%,65% 96%,44% 91%,19% 100%,2% 80%,8% 56%,0 31%); }
.wildworld-choice--4 { --choice-fill:var(--sun); }
.wildworld-choice:hover:not(:disabled) { translate:0 -7px; rotate:-2deg; }
.wildworld-choice>span { display:grid; width:min(84%,160px); aspect-ratio:1.15; place-items:center; color:var(--emerald); }
.wildworld-choice--2>span { color:var(--coral); }
.wildworld-choice--3>span { color:var(--pink); }
.wildworld-choice--4>span { color:var(--emerald); }
.wildworld-choice strong { position:relative; z-index:2; font:800 clamp(17px,1.45vw,23px)/1 var(--font-display); }
.wildworld-choice>b { position:absolute; top:16px; right:18px; display:grid; width:34px; aspect-ratio:1; place-items:center; background:var(--ink); clip-path:circle(50%); color:var(--acid); font-size:18px; }
.wildworld-choice.is-wrong { animation:wildworld-no .38s ease both; filter:saturate(.5); }
.wildworld-choice.is-correct { animation:wildworld-yes .55s cubic-bezier(.2,.9,.25,1.2) both; }
.wildworld-chain { display:grid; max-width:850px; margin-top:24px; grid-template-columns:repeat(7,auto); align-items:center; justify-content:start; gap:8px; }
.wildworld-chain>span { display:grid; width:clamp(70px,7.3vw,105px); aspect-ratio:1; place-items:center; background:rgba(38,38,43,.1); clip-path:polygon(50% 0,62% 27%,90% 13%,76% 42%,100% 53%,71% 62%,88% 89%,58% 76%,47% 100%,39% 72%,9% 88%,24% 58%,0 45%,30% 38%,17% 9%,44% 25%); }
.wildworld-chain>span.is-filled { background:var(--soft); animation:wildworld-yes .45s ease both; }
.wildworld-chain .nature-mark { width:58%; }
.wildworld-chain span b { display:none; }
.wildworld-chain span i { font:800 18px/1 var(--font-display); font-style:normal; opacity:.35; }
.wildworld-chain>em { font:900 24px/1 var(--font-display); font-style:normal; }
.wildworld-choices--chain { max-width:850px; margin-top:18px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.wildworld-choices--chain .wildworld-choice { min-height:150px; }
.wildworld-choices--chain .wildworld-choice>span { width:min(76%,110px); }
.wildworld-complete__fact { position:relative; max-width:760px; padding:28px 28px 31px 37px; background:var(--pink); clip-path:polygon(3% 10%,18% 1%,37% 7%,55% 2%,76% 8%,97% 3%,100% 27%,96% 55%,100% 84%,82% 98%,59% 92%,38% 100%,15% 93%,0 75%,4% 49%,0 24%); }
.wildworld-complete__fact::before { position:absolute; top:0; bottom:0; left:0; width:15px; background:var(--coral); content:""; }
.wildworld-complete__fact b { font:800 12px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.wildworld-complete__fact p { margin:12px 0 0; font-size:clamp(17px,1.45vw,22px); font-weight:700; line-height:1.38; }
.wildworld-complete__actions { display:flex; align-items:center; gap:16px; }
.wildworld-complete__actions button:last-child { background:var(--violet); color:var(--soft); }

@keyframes wildworld-land-in { from { opacity:0; transform:translateY(30px) rotate(-3deg) scale(.92); } to { opacity:1; transform:none; } }
@keyframes wildworld-sun { 0%,100% { rotate:-3deg; scale:1; } 50% { rotate:5deg; scale:1.06; } }
@keyframes wildworld-pulse { 0%,100% { scale:1; } 50% { scale:1.12; } }
@keyframes wildworld-no { 25% { translate:-9px 0; } 55% { translate:8px 0; } 80% { translate:-5px 0; } }
@keyframes wildworld-yes { 45% { translate:0 -12px; scale:1.04; } 100% { translate:0; scale:1; } }

@media (max-width:1080px) {
  .wildworld__hud { padding:0 92px 0 112px; }
  .wildworld__stage { grid-template-columns:minmax(320px,.72fr) minmax(480px,1.28fr); gap:24px; }
  .wildworld-habitat { width:min(42vw,570px); }
  .wildworld__scene-label { max-width:240px; }
  .wildworld-choice { min-height:190px; }
}

@media (min-width:821px) and (max-height:780px) {
  .wildworld { padding-top:72px; padding-bottom:12px; }
  .wildworld__hud { min-height:42px; margin-bottom:2px; }
  .wildworld__stage { min-height:calc(100dvh - 120px); }
  .wildworld__scene { min-height:570px; }
  .wildworld-habitat { width:min(43vw,570px); }
  .wildworld__challenge { padding:8px 0 12px; }
  .wildworld-intro h1,.wildworld-complete h1 { margin:17px 0 19px; font-size:clamp(67px,7.3vw,106px); }
  .wildworld-intro p { font-size:18px; }
  .wildworld-intro>button,.wildworld-complete__actions button { min-height:58px; margin-top:22px; }
  .wildworld-question h1 { margin:13px 0 8px; font-size:clamp(39px,4.3vw,59px); }
  .wildworld-question__feedback { min-height:22px; font-size:14px; }
  .wildworld-choices { margin-top:17px; }
  .wildworld-choice { min-height:154px; padding:13px 12px 18px; }
  .wildworld-choice>span { width:min(72%,116px); }
  .wildworld-choices--chain .wildworld-choice { min-height:120px; }
  .wildworld-chain { margin-top:12px; }
  .wildworld-chain>span { width:72px; }
  .wildworld-complete__fact { padding:21px 25px 23px 33px; }
  .wildworld-complete__fact p { font-size:17px; }
}

@media (max-width:820px) {
  .smart-game--animal .game-visual--wildworld { opacity:.82; }
  .wildworld { padding:78px 14px 22px; overflow:auto; }
  .wildworld::before { top:-6%; right:-34%; width:92vw; height:52vh; }
  .wildworld::after { left:-28vw; bottom:-12vh; width:86vw; height:42vh; }
  .wildworld__hud { min-height:50px; margin-bottom:6px; padding:0 62px 0 72px; grid-template-columns:1fr auto; }
  .wildworld__hud>div:first-child { display:none; }
  .wildworld__hud>div:last-child { grid-column:2; grid-row:1; }
  .wildworld__hud ol { grid-column:1; grid-row:1; justify-self:start; gap:10px; }
  .wildworld__hud li { width:29px; }
  .wildworld__hud li+li::after { top:13px; width:12px; }
  .wildworld__stage { min-height:auto; grid-template-columns:1fr; align-content:start; gap:5px; }
  .wildworld__scene { min-height:305px; }
  .wildworld__scene-label { top:4px; left:4%; max-width:210px; font-size:18px; }
  .wildworld-habitat { width:min(93vw,440px); }
  .wildworld-habitat__buddy { scale:.72; right:3%; top:9%; }
  .wildworld__challenge { padding:12px 6px 42px; }
  .wildworld-intro,.wildworld-complete { text-align:center; }
  .wildworld-intro>span,.wildworld-complete>span { font-size:10px; }
  .wildworld-intro h1,.wildworld-complete h1 { margin:18px 0; font-size:clamp(63px,19vw,92px); }
  .wildworld-intro p { max-width:520px; margin-inline:auto; font-size:17px; }
  .wildworld-intro>button { margin:26px auto 0; }
  .wildworld-question header { text-align:center; }
  .wildworld-question h1 { margin:14px auto 8px; font-size:clamp(34px,9.8vw,55px); }
  .wildworld-question__feedback { min-height:40px; font-size:14px; }
  .wildworld-choices { margin:17px auto 0; }
  .wildworld-choice { min-height:170px; padding:16px 10px 21px; }
  .wildworld-chain { margin:16px auto 0; justify-content:center; }
  .wildworld-choices--chain { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wildworld-choices--chain .wildworld-choice { min-height:130px; }
  .wildworld-complete__fact { margin-inline:auto; text-align:left; }
  .wildworld-complete__actions { justify-content:center; }
}

@media (max-width:540px) {
  .wildworld { padding-top:70px; padding-bottom:10px; }
  .wildworld__hud { padding:0 58px 0 62px; }
  .wildworld__hud strong { font-size:16px; }
  .wildworld__hud small { font-size:8px; }
  .wildworld__scene { min-height:190px; }
  .wildworld-habitat { width:min(75vw,292px); }
  .wildworld__scene-label { display:none; }
  .wildworld__challenge { padding-bottom:18px; }
  .wildworld-question h1 { font-size:clamp(29px,8vw,40px); }
  .wildworld-question__feedback { min-height:32px; }
  .wildworld-choices--clue { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .wildworld-choice { min-height:116px; padding:10px 5px 14px; }
  .wildworld-choice>span { width:88%; }
  .wildworld-choice strong { font-size:14px; }
  .wildworld-chain { gap:2px; }
  .wildworld-chain>span { width:50px; }
  .wildworld-chain>em { font-size:16px; }
  .wildworld-choices--chain { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .wildworld-choices--chain .wildworld-choice { min-height:100px; padding:8px 3px 12px; }
  .wildworld-choices--chain .wildworld-choice>span { width:70%; }
  .wildworld-choices--chain .wildworld-choice strong { font-size:11px; }
  .wildworld-complete__actions { display:grid; gap:0; }
  .wildworld-complete__actions button { margin-top:17px; justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
  .wildworld-habitat,.wildworld-habitat__sun,.wildworld__hud li.is-current::before,.wildworld-choice.is-wrong,.wildworld-choice.is-correct { animation:none; }
}

/* Wildworld Rescue — approved tactile storybook production direction (2026-08-09). */
.immersive-nav:has(+ .wildworld-page) {
  min-height:92px;
  padding:22px clamp(22px,3vw,50px);
}
.immersive-nav:has(+ .wildworld-page) .immersive-nav__logo {
  width:108px;
  padding:8px 11px;
  background:var(--acid);
  clip-path:polygon(5% 12%,25% 3%,49% 9%,76% 2%,96% 15%,92% 41%,100% 68%,86% 95%,59% 90%,34% 100%,9% 90%,1% 65%,7% 38%);
  color:var(--ink);
  filter:drop-shadow(0 4px 0 rgba(0,0,0,.22));
}
.wildworld-nav-logo { display:block; width:100%; height:auto; }
.immersive-nav:has(+ .wildworld-page) .immersive-nav__back {
  border-color:var(--soft);
  color:var(--soft);
  filter:drop-shadow(0 3px 0 rgba(0,0,0,.24));
}
.immersive-nav:has(+ .wildworld-page) .immersive-nav__back:hover { border-color:var(--acid); }

.wildworld-page {
  min-height:100dvh;
  background:#07110d;
}
.wildworld {
  position:relative;
  min-height:100dvh;
  padding:0;
  isolation:isolate;
  overflow:hidden;
  background:#07110d;
  color:var(--soft);
}
.wildworld::before,.wildworld::after { display:none; }
.wildworld__environment {
  position:absolute;
  z-index:-3;
  inset:-2%;
  background-image:var(--wildworld-plate);
  background-position:center;
  background-size:cover;
  transform:scale(1.025);
  animation:wildworld-plate-breathe 18s ease-in-out infinite alternate;
}
.wildworld__atmosphere {
  position:absolute;
  z-index:-2;
  inset:0;
  background:rgba(3,12,9,.14);
  box-shadow:inset 0 0 150px rgba(0,0,0,.4);
  pointer-events:none;
}
.wildworld[data-habitat="meadow"] .wildworld__atmosphere { background:rgba(12,37,24,.04); box-shadow:inset 0 0 110px rgba(13,42,27,.2); }
.wildworld[data-habitat="mangrove"] .wildworld__atmosphere { background:rgba(18,28,13,.08); }

.wildworld__stage {
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  min-height:100dvh;
  margin:0;
}
.wildworld__challenge {
  position:relative;
  z-index:4;
  display:grid;
  width:min(930px,calc(100vw - clamp(390px,27vw,480px)));
  min-height:100dvh;
  margin-left:clamp(360px,28vw,470px);
  padding:clamp(126px,15vh,172px) 16px 118px 0;
  align-items:center;
}
.wildworld__explorer {
  position:absolute;
  z-index:3;
  top:25%;
  right:clamp(18px,4vw,76px);
  width:clamp(150px,15.5vw,255px);
  pointer-events:none;
  filter:drop-shadow(0 17px 9px rgba(0,0,0,.32));
  animation:wildworld-explorer-look 4.6s ease-in-out infinite;
}
.wildworld__explorer .wildworld-paper-figure { width:100%; }
.wildworld__explorer .wildworld-paper-figure--explorer img {
  clip-path:polygon(0 0,100% 0,100% 100%,8% 100%,8% 63%,0 63%);
}
.wildworld-geo__stamp {
  overflow:visible !important;
  background:rgba(253,233,200,.96) !important;
  box-shadow:inset 0 0 0 2px rgba(97,62,143,.14);
  filter:drop-shadow(0 8px 0 rgba(97,62,143,.2)) !important;
}
.wildworld-geo__stamp img {
  grid-area:1/1 !important;
  align-self:center;
  width:clamp(44px,4.8vw,67px);
  max-height:47px;
  margin-top:-9px;
  border-radius:7px;
  object-fit:contain;
  filter:drop-shadow(0 4px 2px rgba(38,38,43,.18));
  transform:rotate(5deg);
}
.wildworld-geo__stamp b {
  align-self:end;
  min-width:28px;
  margin-bottom:6px !important;
  padding:4px 7px;
  border-radius:55% 45% 61% 39% / 48% 58% 42% 52%;
  background:var(--coral);
  color:var(--ink);
  font:900 10px/1 var(--font-display);
}

.wildworld-intro,.wildworld-complete {
  position:relative;
  width:min(770px,100%);
  padding:clamp(34px,4.5vw,62px);
  background:rgba(6,18,14,.88);
  clip-path:polygon(2% 8%,18% 2%,35% 6%,54% 1%,76% 6%,97% 3%,100% 24%,96% 49%,100% 76%,90% 97%,68% 93%,48% 100%,27% 94%,5% 99%,0 78%,4% 52%,0 27%);
  filter:drop-shadow(0 18px 0 rgba(0,0,0,.22));
}
.wildworld-intro>span,.wildworld-question header>span,.wildworld-complete>span {
  display:inline-flex;
  padding:0;
  align-items:center;
  gap:12px;
  border:0;
  color:var(--acid);
  font:800 clamp(12px,1.25vw,18px)/1 var(--font-display);
  letter-spacing:.015em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,.3);
}
.wildworld-question header>span b {
  color:var(--acid);
  font-size:clamp(54px,5.4vw,86px);
  letter-spacing:-.075em;
}
.wildworld-question header>span i { color:var(--acid); font-style:normal; }
.wildworld-intro h1,.wildworld-complete h1 {
  margin:22px 0 27px;
  color:var(--soft);
  font:850 clamp(78px,8.5vw,138px)/.76 var(--font-display);
  letter-spacing:-.085em;
  text-shadow:0 8px 0 rgba(0,0,0,.28);
}
.wildworld-intro h1 i,.wildworld-complete h1 i { color:var(--acid); }
.wildworld-intro p { color:var(--soft); }
.wildworld-intro>button,.wildworld-complete__actions button {
  background:var(--acid);
  color:var(--ink);
  filter:drop-shadow(0 8px 0 rgba(0,0,0,.34));
}
.wildworld-intro>button b,.wildworld-complete__actions button b { color:var(--ink); }

.wildworld-question {
  display:grid;
  width:100%;
  align-content:center;
}
.wildworld-question header { max-width:850px; }
.wildworld-question h1 {
  max-width:820px;
  margin:4px 0 10px;
  color:var(--soft);
  font:850 clamp(46px,4.85vw,78px)/.98 var(--font-display);
  letter-spacing:-.062em;
  text-wrap:balance;
  text-shadow:0 6px 0 rgba(0,0,0,.42),0 13px 30px rgba(0,0,0,.32);
}
.wildworld-question__feedback {
  width:max-content;
  max-width:720px;
  min-height:24px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:clamp(14px,1.15vw,18px);
  font-weight:800;
  text-shadow:0 3px 0 rgba(0,0,0,.3);
}
.wildworld-question__feedback.is-active { color:var(--soft); }

.wildworld-choices {
  display:grid;
  width:min(100%,850px);
  max-width:none;
  margin-top:clamp(15px,2vh,28px);
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:end;
  gap:clamp(8px,1.3vw,20px);
}
.wildworld-choice {
  --choice-paper:var(--acid);
  position:relative;
  display:grid;
  min-width:0;
  min-height:clamp(220px,25vh,292px);
  padding:0 3px 5px;
  place-items:end center;
  align-content:end;
  gap:0;
  border:0;
  background:transparent;
  clip-path:none;
  color:var(--soft);
  cursor:pointer;
  filter:drop-shadow(0 10px 0 rgba(0,0,0,.2));
  transform-origin:50% 82%;
  transition:transform .24s cubic-bezier(.2,.8,.25,1.3),filter .2s ease;
}
.wildworld-choice::before {
  position:absolute;
  z-index:-1;
  right:2%;
  bottom:10%;
  left:2%;
  height:72%;
  background:var(--choice-paper);
  clip-path:polygon(6% 17%,22% 3%,43% 8%,62% 1%,84% 10%,98% 29%,94% 52%,100% 77%,83% 97%,60% 91%,42% 100%,19% 93%,2% 75%,6% 51%,0 31%);
  content:"";
}
.wildworld-choice--2 { --choice-paper:#f0c986; }
.wildworld-choice--3 { --choice-paper:#1e7354; }
.wildworld-choice--4 { --choice-paper:var(--pink); }
.wildworld-choice:hover:not(:disabled),.wildworld-choice:focus-visible:not(:disabled) { outline:0; filter:drop-shadow(0 16px 0 rgba(0,0,0,.25)); transform:translateY(-9px) rotate(-1.5deg) scale(1.035); }
.wildworld-choice:nth-child(even):hover:not(:disabled),.wildworld-choice:nth-child(even):focus-visible:not(:disabled) { transform:translateY(-9px) rotate(1.5deg) scale(1.035); }
.wildworld-choice strong {
  position:relative;
  z-index:3;
  margin-top:-5px;
  color:var(--soft);
  font:850 clamp(22px,2.1vw,34px)/1 var(--font-display);
  letter-spacing:-.04em;
  text-align:center;
  text-shadow:0 5px 0 rgba(0,0,0,.42);
  text-transform:uppercase;
}
.wildworld-choice>b { z-index:5; top:19px; right:19px; background:var(--acid); color:var(--ink); }
.wildworld-choice.is-wrong { filter:grayscale(.5) drop-shadow(0 8px 0 rgba(0,0,0,.2)); }
/* Answer feedback must never recolour an option: every animal keeps its own
   distinct organic backdrop. Correctness is communicated through motion,
   scale and the success badge—not by duplicating another option's colour. */
.wildworld-choice.is-correct::before { background:var(--choice-paper); }

.wildworld-paper-figure,.wildworld-craft-figure {
  position:relative;
  z-index:2;
  display:block;
  width:auto;
  max-width:100%;
  height:clamp(188px,22vh,250px);
  margin-inline:auto;
  aspect-ratio:var(--wildworld-sprite-ratio,1);
}
.wildworld-paper-figure img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  user-select:none;
}
.wildworld-paper-figure--owl { --wildworld-sprite-ratio:443/520; }
.wildworld-paper-figure--mouse { --wildworld-sprite-ratio:335/520; }
.wildworld-paper-figure--explorer { --wildworld-sprite-ratio:444/520; }
.wildworld-paper-figure--crab { --wildworld-sprite-ratio:435/500; }
.wildworld-paper-figure--frog { --wildworld-sprite-ratio:443/480; }
.wildworld-paper-figure--rabbit,.wildworld-paper-figure--squirrel,.wildworld-paper-figure--fox,.wildworld-paper-figure--heron,.wildworld-paper-figure--tadpole { --wildworld-sprite-ratio:1; }
.wildworld__explorer .wildworld-paper-figure--explorer { width:100%; height:auto; }
.wildworld-craft-figure {
  display:grid;
  width:88%;
  margin-inline:auto;
  place-items:center;
  color:#15834c;
}
.wildworld-choice--2 .wildworld-craft-figure { color:var(--coral); }
.wildworld-choice--3 .wildworld-craft-figure { color:var(--pink); }
.wildworld-choice--4 .wildworld-craft-figure { color:var(--sun); }
.wildworld-craft-figure .nature-mark {
  width:82%;
  filter:drop-shadow(0 8px 0 rgba(0,0,0,.2));
  stroke-width:7;
}
.wildworld-original-mark circle:not([class]) { display:none; }

.wildworld-signature-eyes {
  position:absolute;
  z-index:5;
  display:block;
  height:auto;
  overflow:visible;
  filter:drop-shadow(0 2px 0 rgba(0,0,0,.16));
}
.wildworld-signature-eyes--owl { top:25.2%; left:46.4%; width:28%; }
.wildworld-signature-eyes--crab { top:43.2%; left:38.2%; width:27.5%; }
.wildworld-signature-eyes--frog { top:25.2%; left:36.2%; width:21.5%; }
.wildworld-signature-eyes--explorer { top:39.4%; left:36.1%; width:23.2%; }
.wildworld-signature-eyes--rabbit { top:46.2%; left:50.8%; width:20%; }
.wildworld-signature-eyes--squirrel { top:43.4%; left:10.8%; width:20.5%; }
.wildworld-signature-eyes--fox { top:39.2%; left:30.2%; width:22%; }
.wildworld-signature-eyes--heron { top:22.1%; left:36.7%; width:14%; }
.wildworld-signature-eyes--mouse { top:46.2%; left:17.2%; width:27%; }
.wildworld-signature-eyes--tadpole { top:40.5%; left:1.6%; width:17.5%; }

.wildworld-chain {
  max-width:720px;
  margin-top:15px;
  color:var(--soft);
  text-shadow:0 3px 0 rgba(0,0,0,.3);
}
.wildworld-chain>span { background:rgba(249,246,237,.9); color:var(--ink); filter:drop-shadow(0 6px 0 rgba(0,0,0,.25)); }
.wildworld-choices--chain { width:min(100%,850px); grid-template-columns:repeat(4,minmax(0,1fr)); }
.wildworld-choices--chain .wildworld-choice { min-height:clamp(158px,20vh,220px); }
.wildworld-choices--chain .wildworld-paper-figure,.wildworld-choices--chain .wildworld-craft-figure { height:clamp(130px,16vh,178px); }
.wildworld-choices--chain .wildworld-choice strong { font-size:clamp(16px,1.45vw,22px); }

.wildworld-complete__fact {
  background:var(--pink);
  color:var(--ink);
  filter:drop-shadow(0 8px 0 rgba(0,0,0,.25));
}
.wildworld-complete__actions button:last-child { background:var(--violet); color:var(--soft); }

.wildworld__hud {
  position:absolute;
  z-index:8;
  bottom:clamp(22px,3vh,38px);
  left:clamp(24px,3.5vw,58px);
  display:grid;
  width:auto;
  min-height:0;
  margin:0;
  padding:0;
  grid-template-columns:auto;
  gap:7px;
  color:var(--soft);
  filter:drop-shadow(0 4px 0 rgba(0,0,0,.32));
}
.wildworld__hud>div:first-child { display:none; }
.wildworld__hud>div:last-child { grid-row:2; grid-column:1; justify-items:start; }
.wildworld__hud small { color:var(--soft); font-size:clamp(10px,.9vw,14px); text-shadow:0 3px 0 rgba(0,0,0,.3); }
.wildworld__hud strong { color:var(--acid); font-size:clamp(25px,2.4vw,38px); letter-spacing:-.045em; text-shadow:0 4px 0 rgba(0,0,0,.35); }
.wildworld__hud ol { grid-row:1; gap:12px; }
.wildworld__hud li { width:clamp(40px,3.5vw,54px); color:var(--ink); }
.wildworld__hud li+li::after { top:50%; width:17px; height:4px; background:var(--soft); opacity:.8; translate:0 -50%; }
.wildworld__hud li::before { background:var(--soft); clip-path:circle(48%); }
.wildworld__hud li.is-current::before { background:var(--acid); }
.wildworld__hud li.is-done::before { background:var(--emerald); }
.wildworld__hud li span { font-size:clamp(12px,1vw,16px); }

@keyframes wildworld-plate-breathe {
  from { transform:scale(1.025) translate3d(-.2%,0,0); }
  to { transform:scale(1.055) translate3d(.7%,-.5%,0); }
}
@keyframes wildworld-explorer-look {
  0%,100% { transform:translateY(0) rotate(1deg); }
  48% { transform:translateY(-13px) rotate(-3deg); }
  64% { transform:translateY(-7px) rotate(2deg); }
}

@media (max-width:1120px) {
  .wildworld__challenge { width:calc(100vw - 300px); margin-left:250px; }
  .wildworld__explorer { right:12px; width:160px; }
  .wildworld-question h1 { font-size:clamp(42px,5vw,62px); }
  .wildworld-choice strong { font-size:clamp(19px,2.3vw,29px); }
}

@media (max-width:820px) {
  .immersive-nav:has(+ .wildworld-page) { min-height:70px; padding:10px 14px; }
  .immersive-nav:has(+ .wildworld-page) .immersive-nav__logo { width:88px; }
  .wildworld { min-height:100dvh; padding:0; overflow:auto; }
  .wildworld__environment { position:fixed; background-position:center; }
  .wildworld__atmosphere { position:fixed; background:rgba(3,12,9,.34); }
  .wildworld__stage { min-height:100dvh; }
  .wildworld__challenge {
    width:100%;
    min-height:100dvh;
    margin:0;
    padding:100px 18px 150px;
    align-items:center;
  }
  .wildworld__explorer { top:78px; right:4px; width:112px; opacity:.96; }
  .wildworld-intro,.wildworld-complete { margin:auto; text-align:left; }
  .wildworld-question header { padding-right:85px; text-align:left; }
  .wildworld-question header>span b { font-size:52px; }
  .wildworld-question h1 { margin-top:5px; font-size:clamp(37px,8.5vw,54px); }
  .wildworld-choices { width:100%; margin-inline:auto; }
  .wildworld-choice { min-height:clamp(180px,28vh,245px); }
  .wildworld-paper-figure,.wildworld-craft-figure { height:clamp(148px,22vh,205px); }
  .wildworld-choice strong { font-size:clamp(16px,4.5vw,24px); }
  .wildworld__hud { bottom:18px; left:18px; }
}

@media (max-width:560px) {
  .immersive-nav:has(+ .wildworld-page) .immersive-nav__back i { max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .wildworld__environment { background-position:48% center; }
  .wildworld__challenge { padding:84px 10px 134px; }
  .wildworld__explorer { top:72px; width:92px; }
  .wildworld-question header { padding:0 62px 0 6px; }
  .wildworld-question header>span { gap:7px; font-size:11px; }
  .wildworld-question header>span b { font-size:43px; }
  .wildworld-question h1 { font-size:clamp(31px,9vw,42px); line-height:.96; }
  .wildworld-question__feedback { max-width:100%; font-size:13px; }
  .wildworld-choices { width:calc(100% - 16px); gap:2px; }
  .wildworld-choice { min-height:175px; padding-bottom:0; }
  .wildworld-choice::before { right:0; left:0; height:68%; }
  .wildworld-paper-figure,.wildworld-craft-figure { height:145px; }
  .wildworld-choice>.wildworld-paper-figure { width:auto; max-width:100%; }
  .wildworld-choice>.wildworld-paper-figure,.wildworld-choice>.wildworld-craft-figure { transform:scale(.86); transform-origin:50% 88%; }
  .wildworld-choice strong { width:100%; min-width:0; max-width:100%; padding-inline:2px; justify-self:stretch; font-size:clamp(10px,3vw,13px); line-height:.92; overflow-wrap:normal; white-space:normal; text-shadow:0 3px 0 rgba(0,0,0,.45); }
  .wildworld-choices--chain { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wildworld-choices--chain .wildworld-choice { min-height:142px; }
  .wildworld-choices--chain .wildworld-paper-figure,.wildworld-choices--chain .wildworld-craft-figure { height:112px; }
  .wildworld-chain { grid-template-columns:repeat(7,auto); gap:1px; }
  .wildworld-chain>span { width:42px; }
  .wildworld-chain>em { font-size:13px; }
  .wildworld__hud ol { gap:8px; }
  .wildworld__hud li { width:37px; }
  .wildworld__hud li+li::after { width:9px; }
  .wildworld__hud strong { font-size:25px; }
}

@media (prefers-reduced-motion:reduce) {
  .wildworld__environment,.wildworld__explorer { animation:none; }
}

/* Locked brand law: characters keep their tactile eye colour and native face
   shape; UI surfaces stay organic, with no pointed or polygonal containers. */
.wildworld-signature-eyes .wildworld-eye-guide {
  fill:transparent;
  stroke:none;
}
.wildworld-signature-eyes .glyph-pupil {
  fill:var(--ink) !important;
  opacity:1 !important;
}
.wildworld-signature-eyes .glyph-catchlight {
  fill:var(--soft) !important;
  opacity:1 !important;
}

.immersive-nav:has(+ .wildworld-page) .immersive-nav__logo {
  clip-path:none;
  border-radius:45% 55% 48% 52% / 58% 44% 56% 42%;
  transform:rotate(-2deg);
}
.wildworld-intro,.wildworld-complete {
  clip-path:none;
  overflow:visible;
  border-radius:47% 53% 45% 55% / 9% 11% 10% 12%;
}
.wildworld-intro>button,.wildworld-complete__actions button {
  clip-path:none;
  border-radius:48% 52% 46% 54% / 60% 44% 56% 40%;
}
.wildworld-choice,.wildworld-choice--2,.wildworld-choice--3,.wildworld-choice--4 { clip-path:none; }
.wildworld-choice::before {
  clip-path:none;
  border-radius:43% 57% 49% 51% / 55% 43% 57% 45%;
  transform:rotate(-1.2deg);
}
.wildworld-choice--2::before {
  border-radius:56% 44% 54% 46% / 45% 57% 43% 55%;
  transform:rotate(1.1deg);
}
.wildworld-choice--3::before {
  border-radius:48% 52% 41% 59% / 59% 46% 54% 41%;
  transform:rotate(-.6deg);
}
.wildworld-choice--4::before {
  border-radius:53% 47% 58% 42% / 44% 55% 45% 56%;
  transform:rotate(1.4deg);
}
.wildworld-chain>span {
  clip-path:none;
  border-radius:46% 54% 48% 52% / 57% 43% 55% 45%;
}
.wildworld-chain>span:nth-of-type(even) { border-radius:57% 43% 55% 45% / 46% 58% 42% 54%; }
.wildworld-complete__fact {
  clip-path:none;
  overflow:visible;
  border-radius:44% 56% 47% 53% / 18% 22% 17% 23%;
}
.wildworld-complete__fact::before {
  top:auto;
  bottom:-11px;
  left:7%;
  width:31%;
  height:28px;
  border-radius:50%;
  transform:rotate(-2deg);
}
.wildworld-complete h1 {
  max-width:100%;
  margin:clamp(14px,2.2vh,25px) 0;
  font-size:clamp(52px,min(7.2vw,12vh),112px);
  line-height:.82;
  overflow:visible;
  text-wrap:balance;
}

@media (max-height:800px) and (min-width:821px) {
  .wildworld__challenge:has(.wildworld-complete) { padding-top:88px; padding-bottom:72px; }
  .wildworld-complete { padding:28px 38px 31px; }
  .wildworld-complete h1 { margin:12px 0 15px; font-size:clamp(50px,6.1vw,82px); }
  .wildworld-complete__fact { padding:20px 28px 23px 35px; }
  .wildworld-complete__fact p { margin-top:8px; font-size:16px; }
  .wildworld-complete__actions button { min-height:54px; margin-top:18px; }
}

@media (max-width:560px) {
  .wildworld-intro,.wildworld-complete { border-radius:32% 68% 38% 62% / 7% 9% 8% 10%; }
  .wildworld-complete h1 { font-size:clamp(48px,17vw,76px); }
  .wildworld-complete__fact { border-radius:19% 21% 17% 23% / 13% 16% 14% 18%; }
}

/* Wildworld geography journey: tactile, organic, and never a modal. */
.wildworld[data-habitat="polar"] .wildworld__atmosphere { background:rgba(16,35,58,.18); }
.wildworld[data-habitat="desert"] .wildworld__atmosphere,.wildworld[data-habitat="savanna"] .wildworld__atmosphere { background:rgba(55,26,5,.14); }
.wildworld[data-habitat="mountain"] .wildworld__atmosphere { background:rgba(10,28,43,.17); }
.wildworld[data-habitat="rainforest"] .wildworld__atmosphere { background:rgba(3,30,15,.13); }

.wildworld-signature-eyes--lion { top:15.6%; left:33.8%; width:43.6%; }
.wildworld-signature-eyes--zebra { top:20.5%; left:13.9%; width:31.6%; }
.wildworld-signature-eyes--elephant { top:15.4%; left:18.4%; width:44%; }
.wildworld-signature-eyes--polarBear { top:16.2%; left:34.4%; width:36.3%; }
.wildworld-signature-eyes--seal { top:34.8%; left:13.3%; width:38.9%; }
.wildworld-signature-eyes--penguin { top:10.5%; left:23%; width:43.6%; }
.wildworld-signature-eyes--fennec { top:30.5%; left:39.3%; width:35.4%; }
.wildworld-signature-eyes--camel { top:13.1%; left:20.9%; width:20.5%; }
.wildworld-signature-eyes--jerboa { top:33.8%; left:11.1%; width:32.8%; }
.wildworld-signature-eyes--snowLeopard { top:13.3%; left:33.6%; width:37.1%; }
.wildworld-signature-eyes--yak { top:27.9%; left:29.5%; width:31.6%; }
.wildworld-signature-eyes--bharal { top:27.1%; left:19.1%; width:24.8%; }
.wildworld-signature-eyes--jaguar { top:12.3%; left:40.8%; width:37.1%; }
.wildworld-signature-eyes--sloth { top:38.5%; left:11.9%; width:34.2%; transform:rotate(-8deg); transform-origin:50% 50%; }
.wildworld-signature-eyes--toucan { top:15.8%; left:46.5%; width:17.6%; }
.wildworld-signature-eyes--agouti { top:22.7%; left:35.7%; width:17.6%; }
.wildworld-signature-eyes--camel .glyph-pupil+.glyph-pupil,.wildworld-signature-eyes--camel .glyph-catchlight:last-child,
.wildworld-signature-eyes--toucan .glyph-pupil+.glyph-pupil,.wildworld-signature-eyes--toucan .glyph-catchlight:last-child,
.wildworld-signature-eyes--agouti .glyph-pupil+.glyph-pupil,.wildworld-signature-eyes--agouti .glyph-catchlight:last-child { display:none; }

.wildworld-geo {
  position:relative;
  display:grid;
  width:min(900px,100%);
  min-height:430px;
  padding:clamp(34px,4.2vw,60px) clamp(32px,5vw,72px);
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(20px,3vw,42px);
  overflow:hidden;
  background:rgba(4,19,14,.91);
  border-radius:22% 78% 29% 71% / 10% 14% 9% 12%;
  filter:drop-shadow(0 20px 0 rgba(0,0,0,.24));
}
.wildworld-geo::before {
  position:absolute;
  right:11%;
  bottom:-34px;
  width:210px;
  height:70px;
  border-radius:58% 42% 64% 36% / 48% 55% 45% 52%;
  background:var(--pink);
  content:"";
  opacity:.92;
}
.wildworld-geo__stamp {
  display:grid;
  width:clamp(86px,8vw,124px);
  aspect-ratio:1;
  place-items:center;
  border-radius:63% 37% 52% 48% / 43% 58% 42% 57%;
  background:var(--coral);
  color:var(--ink);
  filter:drop-shadow(0 9px 0 rgba(0,0,0,.26));
  rotate:-5deg;
}
.wildworld-geo__stamp i { grid-area:1/1; font:900 clamp(28px,3vw,46px)/1 var(--font-display); font-style:normal; }
.wildworld-geo__stamp b { align-self:end; margin-bottom:13px; font-size:11px; }
.wildworld-geo__copy { position:relative; z-index:2; min-width:0; }
.wildworld-geo__copy>span { color:var(--acid); font:850 14px/1 var(--font-display); letter-spacing:.075em; text-transform:uppercase; }
.wildworld-geo__route { display:flex; margin:14px 0 9px; align-items:center; gap:9px; color:var(--pink); font:850 clamp(18px,1.6vw,25px)/1 var(--font-display); }
.wildworld-geo__route b { color:var(--soft); }
.wildworld-geo__route i,.wildworld-geo__route em { color:var(--acid); font-style:normal; }
.wildworld-geo h1 { max-width:650px; margin:0; color:var(--soft); font:850 clamp(38px,3.75vw,62px)/.99 var(--font-display); letter-spacing:-.055em; text-wrap:balance; text-shadow:0 6px 0 rgba(0,0,0,.28); }
.wildworld-geo__continue { display:inline-flex; min-height:62px; margin-top:25px; padding:17px 30px; align-items:center; justify-content:center; gap:25px; border:0; border-radius:54% 46% 51% 49% / 43% 56% 44% 57%; background:var(--acid); color:var(--ink); font:850 clamp(17px,1.5vw,23px)/1 var(--font-display); filter:drop-shadow(0 8px 0 rgba(0,0,0,.3)); }
.wildworld-geo__globe {
  position:relative;
  display:grid;
  width:clamp(104px,10vw,160px);
  aspect-ratio:1;
  place-items:center;
  border-radius:46% 54% 44% 56% / 54% 43% 57% 46%;
  background:var(--violet);
  color:var(--soft);
  filter:drop-shadow(0 12px 0 rgba(0,0,0,.27));
  rotate:4deg;
}
.wildworld-geo__globe span { position:relative; z-index:2; font:900 clamp(23px,2.4vw,39px)/1 var(--font-display); }
.wildworld-geo__globe i,.wildworld-geo__globe b { position:absolute; width:74%; height:28%; border:4px solid var(--acid); border-right:0; border-left:0; border-radius:50%; content:""; }
.wildworld-geo__globe b { width:29%; height:80%; border:0; border-right:4px solid var(--acid); border-left:4px solid var(--acid); }
.wildworld-geo__answers { display:grid; margin-top:24px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.wildworld-geo__answers button { min-height:76px; padding:12px 16px; border:0; border-radius:58% 42% 54% 46% / 39% 56% 44% 61%; background:var(--pink); color:var(--ink); font:850 clamp(16px,1.35vw,21px)/1 var(--font-display); filter:drop-shadow(0 7px 0 rgba(0,0,0,.27)); }
.wildworld-geo__answers button:nth-child(2) { border-radius:42% 58% 39% 61% / 56% 43% 57% 44%; background:var(--sun); }
.wildworld-geo__answers button:nth-child(3) { border-radius:53% 47% 61% 39% / 44% 59% 41% 56%; background:var(--acid); }
.wildworld-geo__answers button:hover,.wildworld-geo__answers button:focus-visible { outline:0; translate:0 -5px; }
.wildworld-geo__answers button.wrong { opacity:.48; transform:rotate(-2deg); }
.wildworld-geo__answers button.correct { background:var(--emerald); color:var(--soft); }
.wildworld-geo__feedback { min-height:22px; margin:15px 0 0; color:var(--soft); font-weight:800; }

.wildworld__atlas-button { display:grid; grid-row:2; justify-items:start; padding:0; border:0; background:transparent; cursor:pointer; text-align:left; }
.wildworld__atlas-button:hover strong,.wildworld__atlas-button:focus-visible strong { color:var(--pink); }
.wildworld-chain>span .wildworld-chain-figure { width:46px; height:46px; margin:0; }
.wildworld-chain>span .wildworld-chain-figure .wildworld-signature-eyes { display:none; }

.immersive-nav:has(+ .wildworld-atlas-page) { position:absolute; z-index:30; }
.wildworld-atlas-page { min-height:100dvh; overflow:hidden; background:var(--oat); color:var(--ink); }
.wildworld-atlas { position:relative; min-height:100dvh; padding:clamp(120px,12vw,170px) clamp(24px,5vw,82px) 80px; isolation:isolate; }
.wildworld-atlas::before,.wildworld-atlas::after { position:absolute; z-index:-1; width:38vw; height:29vw; border-radius:61% 39% 67% 33% / 47% 58% 42% 53%; background:var(--acid); content:""; opacity:.88; }
.wildworld-atlas::before { top:-13vw; right:-9vw; rotate:18deg; }
.wildworld-atlas::after { bottom:12%; left:-23vw; background:var(--pink); rotate:-12deg; }
.wildworld-atlas__hero { display:flex; max-width:1420px; margin:0 auto 48px; align-items:end; justify-content:space-between; gap:30px; }
.wildworld-atlas__hero span { font:850 14px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.wildworld-atlas__hero h1 { margin:8px 0 4px; font:900 clamp(72px,9vw,148px)/.73 var(--font-display); letter-spacing:-.085em; text-transform:uppercase; }
.wildworld-atlas__hero h1 i { color:var(--violet); font-style:normal; }
.wildworld-atlas__hero p { margin:36px 0 0; font:850 clamp(18px,1.7vw,26px)/1 var(--font-display); }
.wildworld-atlas__hero p::before,.wildworld-atlas__hero p::after { display:none; }
.wildworld-atlas__hero>button { display:inline-flex; min-height:64px; margin-bottom:10px; padding:18px 28px; align-items:center; justify-content:center; gap:24px; border:0; border-radius:57% 43% 51% 49% / 45% 57% 43% 55%; background:var(--ink); color:var(--soft); font:850 clamp(16px,1.35vw,21px)/1 var(--font-display); filter:drop-shadow(0 9px 0 rgba(97,62,143,.3)); white-space:nowrap; }
.wildworld-atlas__continents { display:grid; max-width:1420px; margin:0 auto 46px; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.wildworld-atlas__continents>div { display:grid; min-height:112px; padding:16px 12px; align-content:center; border-radius:61% 39% 55% 45% / 44% 57% 43% 56%; background:#ead6af; text-align:center; }
.wildworld-atlas__continents>div:nth-child(even) { border-radius:39% 61% 42% 58% / 57% 43% 58% 42%; }
.wildworld-atlas__continents>div.is-reached { background:var(--emerald); color:var(--soft); filter:drop-shadow(0 7px 0 rgba(0,0,0,.18)); }
.wildworld-atlas__continents>div.is-antarctica { background:#d7e8ed; }
.wildworld-atlas__continents b { font:900 22px/1 var(--font-display); }
.wildworld-atlas__continents span { font:850 clamp(12px,1.05vw,16px)/1 var(--font-display); }
.wildworld-atlas__continents small { margin-top:5px; font-size:10px; font-weight:750; }
.wildworld-atlas__journey { display:grid; max-width:1420px; margin:auto; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(15px,2vw,28px); }
.wildworld-atlas__habitat { position:relative; display:grid; min-height:280px; padding:0; grid-template-rows:56% 44%; overflow:hidden; border:0; border-radius:19% 81% 22% 78% / 10% 13% 9% 12%; background:var(--ink); color:var(--soft); cursor:pointer; filter:drop-shadow(0 12px 0 rgba(38,38,43,.18)); text-align:left; transition:translate .22s ease,filter .22s ease; }
.wildworld-atlas__habitat:nth-child(3n+2) { border-radius:76% 24% 72% 28% / 11% 9% 13% 10%; }
.wildworld-atlas__habitat:nth-child(3n) { border-radius:31% 69% 25% 75% / 13% 10% 12% 9%; }
.wildworld-atlas__habitat::before { grid-row:1; background-image:var(--atlas-image); background-position:center; background-size:cover; content:""; }
.wildworld-atlas__habitat>span { position:absolute; top:16px; left:18px; display:grid; width:48px; aspect-ratio:1; place-items:center; border-radius:55% 45% 61% 39% / 42% 58% 42% 58%; background:var(--coral); color:var(--ink); font:900 19px/1 var(--font-display); }
.wildworld-atlas__habitat.is-complete>span { background:var(--acid); }
.wildworld-atlas__habitat>div { padding:18px 25px 25px; }
.wildworld-atlas__habitat small { display:block; color:var(--acid); font:800 11px/1 var(--font-display); letter-spacing:.035em; text-transform:uppercase; }
.wildworld-atlas__habitat strong { display:block; margin:6px 0 5px; font:900 clamp(26px,2.4vw,39px)/.9 var(--font-display); letter-spacing:-.05em; text-transform:uppercase; }
.wildworld-atlas__habitat em { color:var(--pink); font-size:13px; font-style:normal; font-weight:800; }
.wildworld-atlas__habitat:hover,.wildworld-atlas__habitat:focus-visible { outline:0; translate:0 -8px; filter:drop-shadow(0 20px 0 rgba(38,38,43,.2)); }
.wildworld-atlas__habitat.is-current { background:var(--violet); }

@media (max-width:980px) {
  .wildworld-geo { grid-template-columns:auto 1fr; }
  .wildworld-geo__globe { display:none; }
  .wildworld-atlas__continents { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .wildworld-atlas__journey { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .wildworld-geo { min-height:0; padding:30px 22px 34px; grid-template-columns:1fr; gap:16px; border-radius:26% 74% 31% 69% / 5% 7% 6% 8%; }
  .wildworld-geo__stamp { width:72px; }
  .wildworld-geo__stamp b { margin-bottom:8px; }
  .wildworld-geo__route { flex-wrap:wrap; font-size:17px; }
  .wildworld-geo h1 { font-size:clamp(31px,9.2vw,43px); }
  .wildworld-geo__answers { grid-template-columns:1fr; }
  .wildworld-geo__answers button { min-height:58px; }
  .wildworld__atlas-button small { max-width:90px; }
  .wildworld-atlas { padding:110px 15px 55px; }
  .wildworld-atlas__hero { display:grid; margin-bottom:34px; }
  .wildworld-atlas__hero h1 { font-size:clamp(70px,23vw,102px); }
  .wildworld-atlas__hero>button { justify-self:start; }
  .wildworld-atlas__continents { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wildworld-atlas__journey { grid-template-columns:1fr; }
  .wildworld-atlas__habitat { min-height:300px; border-radius:22% 78% 25% 75% / 8% 10% 7% 9%; }
}

/* Wildworld v3 — full signature eyes, habitat-first play, illustrated journeys. */
.wildworld-signature-eyes .wildworld-eye-guide {
  fill:var(--soft) !important;
  stroke:var(--ink) !important;
  stroke-width:12px !important;
  vector-effect:none;
}
.wildworld-signature-eyes--camel .wildworld-eye-guide+.wildworld-eye-guide,
.wildworld-signature-eyes--toucan .wildworld-eye-guide+.wildworld-eye-guide,
.wildworld-signature-eyes--agouti .wildworld-eye-guide+.wildworld-eye-guide { display:none; }

.wildworld[data-wildworld-phase="intro"] .wildworld__atmosphere { background:rgba(44,23,75,.18); box-shadow:inset 0 0 110px rgba(30,16,48,.2); }
.wildworld[data-wildworld-phase="intro"] .wildworld__challenge {
  width:100%;
  margin:0;
  padding:clamp(96px,11vh,132px) clamp(20px,4vw,72px) 34px;
}
.wildworld[data-wildworld-phase="intro"] .wildworld__explorer,
.wildworld[data-wildworld-phase="intro"] .wildworld__hud { display:none; }
.wildworld-picker { display:grid; width:min(1380px,100%); min-height:calc(100dvh - 150px); margin:auto; grid-template-rows:auto 1fr auto; align-content:center; gap:clamp(14px,2vh,24px); }
.wildworld-picker>header { color:var(--soft); text-align:center; text-shadow:0 5px 0 rgba(38,38,43,.34); }
.wildworld-picker>header>span { color:var(--acid); font:850 12px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }
.wildworld-picker>header h1 { margin:7px 0 5px; font:900 clamp(46px,5.7vw,90px)/.83 var(--font-display); letter-spacing:-.075em; text-transform:uppercase; }
.wildworld-picker>header h1 i { color:var(--acid); font-style:normal; }
.wildworld-picker>header p { margin:9px 0 0; font-size:clamp(15px,1.25vw,20px); font-weight:800; }
.wildworld-picker__worlds { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(8px,1.2vw,17px); }
.wildworld-picker__world {
  position:relative;
  min-height:clamp(112px,16vh,166px);
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:18% 82% 24% 76% / 19% 25% 16% 22%;
  background-image:var(--habitat-image);
  background-position:center;
  background-size:cover;
  color:var(--ink);
  filter:drop-shadow(0 8px 0 rgba(38,38,43,.25));
  isolation:isolate;
  text-align:left;
  transition:transform .2s cubic-bezier(.2,.85,.25,1.2),filter .2s ease;
}
.wildworld-picker__world:nth-child(3n+2) { border-radius:79% 21% 73% 27% / 22% 17% 25% 19%; }
.wildworld-picker__world:nth-child(3n) { border-radius:29% 71% 20% 80% / 17% 24% 18% 26%; }
.wildworld-picker__world::after { position:absolute; z-index:-1; right:-3%; bottom:-13%; left:-3%; height:62%; border-radius:62% 38% 0 0 / 40% 38% 0 0; background:rgba(253,233,200,.9); content:""; }
.wildworld-picker__world>span { position:absolute; top:10px; left:13px; display:grid; width:38px; aspect-ratio:1; place-items:center; border-radius:61% 39% 54% 46% / 43% 59% 41% 57%; background:var(--coral); font:900 14px/1 var(--font-display); filter:drop-shadow(0 4px 0 rgba(38,38,43,.2)); }
.wildworld-picker__world.is-complete>span { background:var(--acid); }
.wildworld-picker__world>div { position:absolute; z-index:1; right:19px; bottom:16px; left:19px; }
.wildworld-picker__world small { display:block; color:var(--violet); font:850 9px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.wildworld-picker__world strong { display:block; margin-top:4px; font:900 clamp(18px,1.55vw,25px)/.98 var(--font-display); letter-spacing:-.04em; text-transform:uppercase; }
.wildworld-picker__world:hover,.wildworld-picker__world:focus-visible { outline:0; transform:translateY(-5px) rotate(-.6deg); }
.wildworld-picker__world.is-selected { outline:6px solid var(--acid); outline-offset:-5px; filter:drop-shadow(0 12px 0 rgba(182,245,0,.45)); transform:translateY(-4px) scale(1.015); }
.wildworld-picker>footer { display:flex; min-height:74px; padding:10px 13px 10px 27px; align-items:center; justify-content:space-between; gap:24px; border-radius:64% 36% 58% 42% / 45% 59% 41% 55%; background:rgba(253,233,200,.92); color:var(--ink); filter:drop-shadow(0 9px 0 rgba(38,38,43,.22)); }
.wildworld-picker>footer>div { display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:13px; }
.wildworld-picker>footer small { grid-column:1/-1; color:var(--violet); font:850 9px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }
.wildworld-picker>footer strong { font:900 clamp(19px,1.8vw,29px)/1 var(--font-display); text-transform:uppercase; }
.wildworld-picker>footer span { font-size:13px; font-weight:800; }
.wildworld-picker>footer>button { display:inline-flex; min-height:55px; padding:14px 25px; align-items:center; gap:20px; border:0; border-radius:57% 43% 54% 46% / 46% 58% 42% 54%; background:var(--violet); color:var(--soft); font:850 clamp(15px,1.3vw,20px)/1 var(--font-display); filter:drop-shadow(0 6px 0 rgba(38,38,43,.28)); white-space:nowrap; }
.wildworld-picker>footer>button b { color:var(--acid); font-size:24px; }

.wildworld-geo {
  position:relative;
  display:grid;
  width:min(960px,100%);
  min-height:min(650px,76vh);
  padding:clamp(24px,3vw,42px);
  grid-template-columns:minmax(270px,42%) minmax(0,58%);
  align-items:center;
  gap:clamp(18px,3vw,44px);
  overflow:visible;
  border:2px solid rgba(253,233,200,.55);
  border-radius:22% 78% 27% 73% / 9% 13% 8% 12%;
  background:rgba(253,233,200,.86);
  box-shadow:none;
  color:var(--ink);
  filter:drop-shadow(0 18px 0 rgba(38,38,43,.22));
}
.wildworld-geo::before { right:8%; bottom:-13px; width:28%; height:34px; border-radius:50%; background:var(--pink); opacity:.88; }
.wildworld-geo__visual { position:relative; display:grid; min-height:460px; place-items:center; isolation:isolate; }
.wildworld-geo__visual>img { position:relative; z-index:2; width:min(100%,430px); max-height:480px; object-fit:contain; filter:drop-shadow(0 12px 7px rgba(38,38,43,.24)); animation:wildworld-country-float 5.2s ease-in-out infinite; }
.wildworld-geo__stamp { position:absolute; z-index:5; top:0; left:1%; width:clamp(68px,6.7vw,96px); background:var(--coral); }
.wildworld-geo__stamp i { font-size:clamp(21px,2.2vw,33px); }
.wildworld-geo__stamp b { margin-bottom:10px; }
.wildworld-geo__symbol { position:absolute; z-index:5; right:-4%; bottom:5%; display:grid; max-width:180px; padding:12px 16px; border-radius:63% 37% 57% 43% / 47% 59% 41% 53%; background:var(--sun); filter:drop-shadow(0 6px 0 rgba(38,38,43,.2)); rotate:3deg; }
.wildworld-geo__symbol small,.wildworld-geo__continent small { font:850 9px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.wildworld-geo__symbol b { margin-top:4px; font:850 14px/1.05 var(--font-display); }
.wildworld-geo__continent { position:absolute; z-index:4; top:11%; right:-6%; display:grid; width:clamp(112px,10vw,150px); aspect-ratio:1; padding:22px; place-content:center; border-radius:44% 56% 48% 52% / 57% 43% 55% 45%; background:var(--violet); color:var(--soft); filter:drop-shadow(0 8px 0 rgba(38,38,43,.25)); text-align:center; rotate:4deg; }
.wildworld-geo__continent b { position:relative; z-index:2; margin-top:5px; font:900 clamp(14px,1.25vw,19px)/.95 var(--font-display); }
.wildworld-geo__continent i { position:absolute; inset:18%; border:3px solid var(--acid); border-radius:50%; opacity:.65; transform:rotate(-18deg); }
.wildworld-geo__copy { position:relative; z-index:3; min-width:0; }
.wildworld-geo__kicker { color:var(--violet) !important; font:850 11px/1 var(--font-display) !important; letter-spacing:.09em !important; text-transform:uppercase; }
.wildworld-geo__route { display:flex; margin:14px 0 13px; align-items:center; gap:13px; color:var(--ink); }
.wildworld-geo__route>span { display:grid; }
.wildworld-geo__route small { color:var(--emerald); font:850 9px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.wildworld-geo__route b { margin-top:3px; color:var(--ink); font:900 clamp(17px,1.55vw,24px)/1 var(--font-display); }
.wildworld-geo__route>i { color:var(--coral); font:900 28px/1 var(--font-display); }
.wildworld-geo h1 { max-width:580px; margin:0; color:var(--ink); font:900 clamp(39px,4vw,64px)/.88 var(--font-display); letter-spacing:-.065em; text-shadow:0 5px 0 rgba(255,255,255,.55); }
.wildworld-geo__facts { display:grid; margin-top:19px; gap:11px; }
.wildworld-geo__facts>p { display:grid; margin:0; grid-template-columns:35px 1fr; align-items:center; gap:12px; color:var(--ink); font-size:clamp(14px,1.15vw,18px); font-weight:800; line-height:1.23; }
.wildworld-geo__facts>p>b { display:grid; width:34px; aspect-ratio:1; place-items:center; border-radius:61% 39% 53% 47% / 45% 60% 40% 55%; background:var(--pink); font:900 14px/1 var(--font-display); }
.wildworld-geo__facts>p:nth-child(2)>b { background:var(--acid); }
.wildworld-geo__continue { min-height:58px; margin-top:22px; padding:15px 27px; background:var(--emerald); color:var(--soft); filter:drop-shadow(0 7px 0 rgba(38,38,43,.26)); }
.wildworld-geo__continue b { color:var(--acid); font-size:24px; }
.wildworld-geo__answers { margin-top:23px; gap:10px; }
.wildworld-geo__answers button { min-height:67px; color:var(--ink); filter:drop-shadow(0 6px 0 rgba(38,38,43,.2)); }
.wildworld-geo__answers button.correct { background:var(--emerald); color:var(--soft); }
.wildworld-geo__feedback { color:var(--ink); }
.wildworld-geo__globe { display:none; }

@keyframes wildworld-country-float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-8px) rotate(1deg); } }

@media (max-width:980px) {
  .wildworld-picker__worlds { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wildworld-geo { grid-template-columns:minmax(230px,39%) minmax(0,61%); }
  .wildworld-geo__visual { min-height:390px; }
  .wildworld-geo__continent { right:-3%; }
}
@media (max-width:820px) {
  .wildworld[data-wildworld-phase="intro"] .wildworld__challenge { padding:88px 14px 28px; }
  .wildworld-picker { min-height:calc(100dvh - 110px); }
  .wildworld-picker__world { min-height:128px; }
  .wildworld-geo { width:100%; min-height:0; padding:24px 18px 30px; grid-template-columns:1fr; gap:4px; border-radius:20% 80% 22% 78% / 4% 5% 4% 5%; }
  .wildworld-geo__visual { min-height:260px; }
  .wildworld-geo__visual>img { width:min(72%,350px); max-height:290px; }
  .wildworld-geo__stamp { left:9%; }
  .wildworld-geo__continent { top:7%; right:8%; width:105px; padding:16px; }
  .wildworld-geo__symbol { right:10%; bottom:2%; }
  .wildworld-geo__copy { padding:0 8px; }
}
@media (max-width:620px) {
  .wildworld-picker>header h1 { font-size:clamp(42px,13vw,64px); }
  .wildworld-picker__worlds { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wildworld-picker__world { min-height:122px; }
  .wildworld-picker__world>div { right:12px; bottom:11px; left:12px; }
  .wildworld-picker__world strong { font-size:17px; line-height:.95; }
  .wildworld-picker__world:last-child { grid-column:1/-1; width:calc(50% - 5px); justify-self:center; }
  .wildworld-picker>footer { position:sticky; z-index:8; bottom:8px; padding:10px 11px 10px 18px; border-radius:31% 69% 37% 63% / 18% 23% 17% 22%; }
  .wildworld-picker>footer>div { display:none; }
  .wildworld-picker>footer>button { width:100%; justify-content:center; }
  .wildworld-geo__visual { min-height:225px; }
  .wildworld-geo__visual>img { width:min(78%,285px); max-height:240px; }
  .wildworld-geo__stamp { top:4px; left:4%; width:62px; }
  .wildworld-geo__continent { top:5%; right:3%; width:88px; padding:12px; }
  .wildworld-geo__continent b { font-size:12px; }
  .wildworld-geo__symbol { right:2%; bottom:0; max-width:135px; padding:9px 12px; }
  .wildworld-geo__symbol b { font-size:11px; }
  .wildworld-geo__route { flex-wrap:nowrap; gap:8px; }
  .wildworld-geo__route b { font-size:15px; }
  .wildworld-geo h1 { font-size:clamp(31px,9.2vw,43px); }
  .wildworld-geo__facts { margin-top:14px; }
  .wildworld-geo__facts>p { font-size:13px; }
  .wildworld-geo__answers { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) { .wildworld-geo__visual>img { animation:none; } }

/* ──────────────────────────────────────────────────────────────────────────
   WILDWORLD · CINEMATIC 3D STORYBOOK SYSTEM
   The habitats are destinations, never cards. Characters are complete
   feature-film renders; no synthetic eye overlays or dark UI surfaces.
   ────────────────────────────────────────────────────────────────────────── */
.wildworld-signature-eyes { display:none !important; }
.wildworld__atmosphere {
  background:rgba(253,233,200,.04) !important;
  box-shadow:inset 0 0 120px rgba(255,255,255,.1) !important;
}
.wildworld[data-wildworld-phase="intro"] .wildworld__atmosphere {
  background:linear-gradient(180deg,rgba(253,233,200,.48),rgba(253,233,200,.19) 48%,rgba(220,201,255,.19)) !important;
  box-shadow:none !important;
  backdrop-filter:saturate(.92) brightness(1.04);
}
.wildworld[data-wildworld-phase="complete"] .wildworld__atmosphere {
  background:rgba(253,233,200,.18) !important;
  box-shadow:none !important;
}
.wildworld[data-wildworld-phase="complete"] .wildworld__explorer { display:none !important; }
.wildworld__explorer .wildworld-paper-figure--explorer img {
  clip-path:none !important;
  transform:none !important;
  filter:drop-shadow(0 16px 12px rgba(38,38,43,.22)) !important;
}

/* The habitat selector is an open travel map, not a dark dashboard. */
.wildworld[data-wildworld-phase="intro"] .wildworld__challenge {
  padding:clamp(82px,9vh,112px) clamp(20px,4vw,72px) 32px !important;
}
.wildworld-picker {
  position:relative;
  display:grid;
  width:min(1540px,100%) !important;
  min-height:calc(100dvh - 118px) !important;
  margin:auto;
  grid-template-rows:auto 1fr;
  align-content:center;
  gap:clamp(12px,1.8vh,23px) !important;
  color:var(--ink);
}
.wildworld-picker::before,
.wildworld-picker::after {
  position:absolute;
  z-index:-1;
  border-radius:58% 42% 63% 37% / 44% 57% 43% 56%;
  content:"";
  pointer-events:none;
}
.wildworld-picker::before {
  top:9%;
  left:-8%;
  width:27%;
  aspect-ratio:1.3;
  background:rgba(253,220,238,.88);
  rotate:-9deg;
}
.wildworld-picker::after {
  right:-7%;
  bottom:5%;
  width:24%;
  aspect-ratio:1.15;
  background:rgba(182,245,0,.72);
  rotate:8deg;
}
.wildworld-picker>header {
  position:relative;
  z-index:3;
  color:var(--ink) !important;
  text-align:center;
  text-shadow:none !important;
}
.wildworld-picker>header>span {
  display:inline-block;
  color:var(--violet) !important;
  font:850 12px/1 var(--font-display) !important;
  letter-spacing:.11em !important;
  text-transform:uppercase;
}
.wildworld-picker>header h1 {
  max-width:1080px;
  margin:7px auto 5px !important;
  color:var(--ink);
  font:900 clamp(48px,5.5vw,88px)/.84 var(--font-display) !important;
  letter-spacing:-.074em !important;
  text-transform:uppercase;
}
.wildworld-picker>header h1 i { color:var(--emerald) !important; font-style:normal; }
.wildworld-picker>header h1 i::after {
  bottom:.015em !important;
  height:.06em !important;
  transform:rotate(-.55deg) scaleX(.9) !important;
}
.wildworld-picker>header p {
  position:relative;
  z-index:4;
  display:table;
  max-width:720px;
  margin:clamp(20px,2.2vh,29px) auto 0 !important;
  padding:7px 20px 8px;
  border-radius:62% 38% 58% 42% / 47% 59% 41% 53%;
  background:rgba(253,233,200,.74);
  color:var(--ink);
  font-size:clamp(14px,1.1vw,18px) !important;
  font-weight:800;
}
.wildworld-picker__map {
  position:relative;
  display:grid;
  min-height:0;
  align-items:center;
  isolation:isolate;
}
.wildworld-picker__map::before,
.wildworld-picker__map::after {
  position:absolute;
  z-index:-2;
  content:"";
  pointer-events:none;
}
.wildworld-picker__map::before {
  inset:4% 2% 2%;
  border-radius:31% 69% 27% 73% / 17% 15% 20% 18%;
  background:rgba(253,233,200,.72);
  box-shadow:0 14px 0 rgba(97,62,143,.12);
}
.wildworld-picker__map::after {
  top:17%;
  right:8%;
  width:20%;
  height:29%;
  border-radius:52% 48% 59% 41% / 43% 62% 38% 57%;
  background:rgba(255,111,97,.62);
  rotate:10deg;
}
.wildworld-picker__trail {
  position:absolute;
  z-index:-1;
  inset:20% 7% 15%;
  border:5px dashed rgba(97,62,143,.34);
  border-radius:45% 55% 41% 59% / 53% 42% 58% 47%;
  rotate:-2deg;
  pointer-events:none;
}
.wildworld-picker__trail::before,
.wildworld-picker__trail::after {
  position:absolute;
  width:18px;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--violet);
  box-shadow:0 0 0 6px rgba(253,233,200,.9);
  content:"";
}
.wildworld-picker__trail::before { top:16%; left:-8px; }
.wildworld-picker__trail::after { right:-8px; bottom:18%; background:var(--coral); }
.wildworld-picker__worlds {
  position:relative;
  z-index:1;
  display:grid !important;
  width:100%;
  padding:clamp(22px,3vh,38px) clamp(18px,3vw,46px);
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  align-items:start;
  gap:clamp(13px,1.8vh,24px) clamp(8px,1.3vw,19px) !important;
}
.wildworld-picker__world {
  position:relative;
  display:grid !important;
  min-width:0;
  min-height:0 !important;
  padding:0 !important;
  grid-template-rows:auto auto;
  justify-items:center;
  gap:10px;
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:none !important;
  color:var(--ink) !important;
  filter:none !important;
  cursor:pointer;
  text-align:center;
  transform:none !important;
  transition:translate .24s ease,filter .24s ease;
}
.wildworld-picker__world::after { display:none !important; }
.wildworld-picker__portal {
  position:relative !important;
  top:auto !important;
  left:auto !important;
  display:block !important;
  width:min(100%,230px) !important;
  height:auto !important;
  aspect-ratio:1.24;
  grid-row:1;
  border-radius:47% 53% 44% 56% / 53% 45% 55% 47%;
  background-color:transparent !important;
  background-image:var(--habitat-image) !important;
  background-position:center !important;
  background-size:cover !important;
  box-shadow:0 0 0 7px rgba(253,233,200,.98),0 13px 0 rgba(97,62,143,.17),0 20px 28px rgba(38,38,43,.12);
  filter:none !important;
  transform:rotate(-1.6deg);
  transition:transform .25s cubic-bezier(.2,.85,.25,1.2),box-shadow .25s ease;
  animation:wildworld-portal-float 5.4s ease-in-out infinite;
}
.wildworld-picker__world:nth-child(2n) .wildworld-picker__portal {
  border-radius:58% 42% 61% 39% / 43% 57% 46% 54%;
  transform:rotate(1.8deg);
  animation-delay:-1.1s;
}
.wildworld-picker__world:nth-child(3n) .wildworld-picker__portal {
  border-radius:41% 59% 53% 47% / 57% 46% 54% 43%;
  transform:rotate(-2.4deg);
  animation-delay:-2.2s;
}
.wildworld-picker__world:nth-child(n+6) .wildworld-picker__portal { width:min(100%,214px) !important; }
.wildworld-picker__number {
  position:absolute !important;
  z-index:4;
  top:-9px !important;
  left:3% !important;
  display:grid !important;
  width:clamp(36px,2.8vw,46px) !important;
  aspect-ratio:1;
  place-items:center;
  border:0 !important;
  border-radius:62% 38% 55% 45% / 44% 61% 39% 56% !important;
  background:var(--coral) !important;
  color:var(--ink);
  font:900 clamp(12px,1vw,15px)/1 var(--font-display) !important;
  filter:drop-shadow(0 5px 0 rgba(38,38,43,.22)) !important;
}
.wildworld-picker__world.is-complete .wildworld-picker__number { background:var(--acid) !important; }
.wildworld-picker__world>div {
  position:static !important;
  z-index:2;
  width:100%;
  min-width:0;
  grid-row:2;
}
.wildworld-picker__world small {
  display:block;
  overflow:hidden;
  color:var(--violet) !important;
  font:850 9px/1 var(--font-display) !important;
  letter-spacing:.065em !important;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.wildworld-picker__world strong {
  display:block;
  margin-top:5px !important;
  color:var(--ink);
  font:900 clamp(17px,1.35vw,23px)/.94 var(--font-display) !important;
  letter-spacing:-.04em !important;
  text-transform:uppercase;
}
.wildworld-picker__world:hover,
.wildworld-picker__world:focus-visible { translate:0 -7px; }
.wildworld-picker__world:hover .wildworld-picker__portal,
.wildworld-picker__world:focus-visible .wildworld-picker__portal {
  box-shadow:0 0 0 8px var(--sun),0 14px 0 rgba(97,62,143,.2),0 23px 32px rgba(38,38,43,.16);
  transform:rotate(0deg) scale(1.035);
  animation-play-state:paused;
}
.wildworld-picker__world.is-selected .wildworld-picker__portal {
  box-shadow:0 0 0 8px var(--acid),0 0 0 14px rgba(253,233,200,.98),0 17px 0 rgba(97,62,143,.2),0 26px 32px rgba(38,38,43,.14) !important;
  transform:rotate(0deg) scale(1.035);
}
.wildworld-picker>footer {
  position:relative !important;
  z-index:6;
  display:flex !important;
  min-height:68px !important;
  padding:0 !important;
  align-items:center;
  justify-content:center !important;
  gap:clamp(15px,2vw,30px) !important;
  border-radius:0 !important;
  background:none !important;
  color:var(--ink);
  filter:none !important;
}
.wildworld-picker>footer>div {
  position:relative;
  display:grid !important;
  min-width:min(46vw,440px);
  padding:12px 30px 13px 38px;
  grid-template-columns:auto auto;
  align-items:baseline;
  column-gap:12px;
  border-radius:61% 39% 58% 42% / 44% 61% 39% 56%;
  background:rgba(253,220,238,.96);
  filter:drop-shadow(0 7px 0 rgba(97,62,143,.18));
}
.wildworld-picker>footer>div::before {
  position:absolute;
  top:50%;
  left:12px;
  width:15px;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--sun);
  content:"";
  translate:0 -50%;
}
.wildworld-picker>footer small { color:var(--violet) !important; }
.wildworld-picker>footer strong { color:var(--ink); }
.wildworld-picker>footer>button {
  min-height:58px !important;
  padding:15px 27px !important;
  border:0;
  border-radius:54% 46% 58% 42% / 44% 58% 42% 56% !important;
  background:var(--acid) !important;
  color:var(--ink) !important;
  font:900 clamp(15px,1.25vw,19px)/1 var(--font-display) !important;
  filter:drop-shadow(0 7px 0 rgba(97,62,143,.28)) !important;
  cursor:pointer;
}
.wildworld-picker>footer>button b { color:var(--violet) !important; }

@keyframes wildworld-portal-float {
  0%,100% { translate:0 0; }
  50% { translate:0 -5px; }
}

/* Completion is a warm illustrated finale with the rescued characters. */
.wildworld-intro,
.wildworld-complete {
  width:min(1180px,92vw) !important;
  padding:clamp(30px,4.4vw,64px) !important;
  border:2px solid rgba(97,62,143,.2) !important;
  border-radius:29% 71% 34% 66% / 8% 10% 7% 9% !important;
  background:rgba(253,233,200,.94) !important;
  color:var(--ink) !important;
  filter:drop-shadow(0 20px 0 rgba(97,62,143,.18)) !important;
  text-align:left;
}
.wildworld-intro>span,
.wildworld-complete>span { color:var(--emerald) !important; text-shadow:none !important; }
.wildworld-intro h1,
.wildworld-complete h1 {
  color:var(--ink) !important;
  font-size:clamp(48px,6.8vw,104px) !important;
  line-height:.82 !important;
  text-shadow:0 6px 0 rgba(255,255,255,.75) !important;
}
.wildworld-intro h1 i,
.wildworld-complete h1 i { color:var(--violet) !important; }
.wildworld-complete__fact {
  position:relative;
  display:grid !important;
  margin-top:clamp(18px,2.5vw,34px) !important;
  padding:0 !important;
  grid-template-columns:clamp(120px,14vw,180px) minmax(330px,1fr) clamp(190px,22vw,300px);
  align-items:stretch;
  gap:clamp(16px,3vw,42px);
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  color:var(--ink) !important;
  filter:none !important;
}
.wildworld-complete__fact::before {
  position:absolute !important;
  z-index:-1;
  inset:6% -2% 0 17% !important;
  width:auto !important;
  height:auto !important;
  border:0 !important;
  border-radius:49% 51% 44% 56% / 36% 43% 57% 64% !important;
  background:rgba(253,220,238,.82) !important;
  content:"" !important;
  rotate:-1deg;
}
.wildworld-complete__plant,
.wildworld-complete__animal {
  position:relative;
  display:grid;
  min-width:0;
  place-items:end center;
  isolation:isolate;
}
.wildworld-complete__plant { min-height:150px; }
.wildworld-complete__animal { min-height:225px; }
.wildworld-complete__plant::after,
.wildworld-complete__animal::after {
  position:absolute;
  z-index:-1;
  right:4%;
  bottom:2px;
  left:4%;
  height:24%;
  border-radius:50%;
  background:rgba(182,245,0,.72);
  filter:blur(.5px);
  content:"";
}
.wildworld-complete__animal::after { background:rgba(253,220,238,.9); }
.wildworld-complete__plant .wildworld-paper-figure {
  width:100%;
  height:clamp(125px,14vw,175px) !important;
}
.wildworld-complete__animal .wildworld-paper-figure {
  width:100%;
  height:clamp(205px,23vw,290px) !important;
}
.wildworld-complete__plant img,
.wildworld-complete__animal img { filter:drop-shadow(0 12px 8px rgba(38,38,43,.2)) !important; }
.wildworld-complete__discovery {
  position:relative;
  z-index:2;
  display:flex;
  min-width:0;
  padding:clamp(18px,2vw,30px) 0;
  align-self:stretch;
  flex-direction:column;
  justify-content:center;
  text-align:left;
  text-shadow:none !important;
}
.wildworld-complete__discovery b {
  display:block;
  margin:0 0 clamp(10px,1.1vw,16px);
  color:var(--violet) !important;
  font:900 clamp(11px,.85vw,14px)/1 var(--font-display) !important;
  letter-spacing:.08em;
  text-shadow:none !important;
  transform:none !important;
}
.wildworld-complete__discovery p {
  width:100%;
  max-width:600px;
  margin:0 !important;
  color:var(--ink) !important;
  font-size:clamp(17px,1.35vw,23px) !important;
  font-weight:800;
  line-height:1.22 !important;
  text-align:left;
  text-shadow:none !important;
  text-wrap:pretty;
}
.wildworld-complete__actions { display:flex; flex-wrap:wrap; gap:14px; }
.wildworld-complete__actions button {
  min-height:58px !important;
  margin-top:clamp(18px,2.4vw,31px) !important;
  filter:drop-shadow(0 7px 0 rgba(97,62,143,.22)) !important;
}
.wildworld-complete__actions button:first-child { background:var(--acid) !important; color:var(--ink) !important; }
.wildworld-complete__actions button:last-child { background:var(--coral) !important; color:var(--ink) !important; }

/* A translucent brand-colour reading veil keeps mission copy legible over
   every bright habitat without replacing the environment. */
.wildworld-question header {
  box-sizing:border-box;
  width:min(100%,900px);
  max-width:900px !important;
  padding:clamp(22px,2.8vw,39px) clamp(24px,3.4vw,50px) clamp(20px,2.5vw,34px);
  border-radius:32% 68% 29% 71% / 11% 14% 10% 13%;
  background:rgba(97,62,143,.62);
  box-shadow:0 12px 0 rgba(253,220,238,.26),inset 0 0 0 2px rgba(255,255,255,.16);
  backdrop-filter:blur(10px) saturate(1.08);
}
.wildworld-question header>span { color:var(--acid) !important; }
.wildworld-question h1 { max-width:100% !important; }
.wildworld-question__feedback { color:rgba(255,255,255,.92) !important; }

/* Keep the full set visible after an answer. The correct discovery performs
   one confident spring-forward celebration instead of hiding its context. */
.wildworld-choices.is-answer-revealed { isolation:isolate; }
.wildworld-choices.is-answer-revealed .wildworld-choice:not(.is-correct) {
  z-index:1;
  opacity:1;
  filter:drop-shadow(0 10px 0 rgba(38,38,43,.2)) !important;
  transform:none;
  transition:filter .3s ease,transform .42s cubic-bezier(.2,.8,.25,1);
}
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct,
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct:disabled {
  z-index:12;
  opacity:1 !important;
  filter:drop-shadow(0 18px 0 rgba(97,62,143,.24)) drop-shadow(0 25px 24px rgba(38,38,43,.19)) !important;
  transform:translateY(-17px) scale(1.18);
  animation:wildworld-answer-pop .92s cubic-bezier(.14,1.28,.3,1) both,wildworld-answer-breathe 1.9s .92s ease-in-out infinite;
}
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct::after {
  position:absolute;
  z-index:6;
  top:2%;
  right:5%;
  display:grid;
  width:clamp(40px,3.8vw,54px);
  aspect-ratio:1;
  place-items:center;
  border:0;
  border-radius:61% 39% 55% 45% / 43% 59% 41% 57%;
  background:var(--pink);
  box-shadow:0 6px 0 rgba(97,62,143,.28);
  color:var(--ink);
  content:"✓";
  font:950 clamp(20px,2vw,28px)/1 var(--font-display);
  pointer-events:none;
  animation:wildworld-answer-badge .62s .2s cubic-bezier(.16,1.3,.28,1) both;
}
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct .wildworld-paper-figure,
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct .wildworld-craft-figure,
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct strong,
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct>b { z-index:3; }
.wildworld-choices.is-answer-revealed .wildworld-choice.is-correct strong {
  color:var(--ink);
  text-shadow:0 4px 0 rgba(255,255,255,.62);
}

@keyframes wildworld-answer-pop {
  0% { transform:translateY(8px) scale(.92) rotate(-2.5deg); }
  38% { transform:translateY(-27px) scale(1.27) rotate(1.4deg); }
  58% { transform:translateY(-11px) scale(1.12) rotate(-.8deg); }
  76% { transform:translateY(-21px) scale(1.205) rotate(.35deg); }
  100% { transform:translateY(-17px) scale(1.18); }
}
@keyframes wildworld-answer-breathe {
  0%,100% { transform:translateY(-17px) scale(1.18) rotate(0); }
  50% { transform:translateY(-22px) scale(1.195) rotate(.35deg); }
}
@keyframes wildworld-answer-badge {
  0% { opacity:0; transform:scale(.25) rotate(-28deg); }
  68% { opacity:1; transform:scale(1.17) rotate(6deg); }
  100% { opacity:1; transform:scale(1) rotate(0); }
}

/* Hand-drawn marker strokes make each geography fact scannable at a glance. */
.wildworld-geo__keyword {
  margin-inline:.06em;
  padding:0 .08em .02em;
  background:linear-gradient(transparent 53%,rgba(182,245,0,.88) 53% 93%,transparent 93%);
  color:inherit;
  font-weight:950;
  text-decoration:none;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.wildworld-geo__facts>p:nth-child(2) .wildworld-geo__keyword {
  background:linear-gradient(transparent 53%,rgba(253,220,238,.98) 53% 93%,transparent 93%);
}

/* The progress atlas keeps the scenes prominent and removes every black card. */
.wildworld-atlas-page {
  background:linear-gradient(180deg,var(--cream),#fff8e9 62%,rgba(253,220,238,.78)) !important;
}
.wildworld-atlas__hero { color:var(--ink) !important; }
.wildworld-atlas__hero h1 { color:var(--ink) !important; }
.wildworld-atlas__hero>button { background:var(--coral) !important; color:var(--ink) !important; }
.wildworld-atlas__hero>button b { color:var(--violet) !important; }
.wildworld-atlas__habitat {
  background:rgba(253,233,200,.96) !important;
  color:var(--ink) !important;
  box-shadow:inset 0 0 0 2px rgba(97,62,143,.12);
}
.wildworld-atlas__habitat.is-current { background:var(--pink) !important; }
.wildworld-atlas__habitat small { color:var(--violet) !important; }
.wildworld-atlas__habitat em { color:var(--emerald) !important; }

@media (max-width:1180px) {
  .wildworld-picker__worlds { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .wildworld-picker__worlds { padding:18px 34px 26px; gap:10px 16px !important; }
  .wildworld-picker__portal,
  .wildworld-picker__world:nth-child(n+6) .wildworld-picker__portal { width:min(100%,176px) !important; }
}
@media (max-width:1120px) {
  .wildworld__challenge:has(.wildworld-complete) {
    width:100% !important;
    margin-left:0 !important;
    padding-right:clamp(20px,4vw,50px) !important;
    padding-left:clamp(20px,4vw,50px) !important;
    justify-items:center;
  }
  .wildworld-complete {
    box-sizing:border-box;
    width:min(820px,calc(100vw - 40px)) !important;
  }
}
@media (max-width:980px) {
  .wildworld-picker>header h1 { max-width:690px; font-size:clamp(42px,7.5vw,68px) !important; }
  .wildworld-picker>header h1 i { display:block; }
}
@media (max-width:820px) {
  .wildworld[data-wildworld-phase="intro"] .wildworld__challenge { padding:78px 12px 26px !important; }
  .wildworld-picker { min-height:calc(100dvh - 90px) !important; }
  .wildworld-picker__map { overflow:visible; }
  .wildworld-picker__worlds { padding:22px 18px 30px; }
  .wildworld-picker>header h1 i { display:block; }
  .wildworld-picker__portal { max-width:164px; }
  .wildworld-picker>footer>div { min-width:0; }
  .wildworld-intro,.wildworld-complete { border-radius:20% 80% 23% 77% / 4% 6% 5% 7% !important; }
}
@media (max-width:620px) {
  .wildworld-picker>header h1 { font-size:clamp(40px,12vw,61px) !important; }
  .wildworld-picker__worlds { grid-template-columns:repeat(2,minmax(0,1fr)) !important; padding:18px 11px 26px; }
  .wildworld-picker__world:last-child { width:100% !important; grid-column:auto !important; }
  .wildworld-picker__portal { max-width:165px; box-shadow:0 0 0 5px rgba(253,233,200,.98),0 9px 0 rgba(97,62,143,.17); }
  .wildworld-picker__world strong { font-size:16px !important; }
  .wildworld-picker>footer { position:sticky !important; bottom:8px !important; }
  .wildworld-picker>footer>div { display:none !important; }
  .wildworld-picker>footer>button { width:min(100%,390px) !important; justify-content:center; }
  .wildworld-complete__fact { grid-template-columns:minmax(90px,.7fr) minmax(135px,1.3fr); gap:8px 18px; }
  .wildworld-complete__fact::before { inset:48% -3% -4% -3% !important; }
  .wildworld-complete__plant { min-height:105px; }
  .wildworld-complete__animal { min-height:155px; }
  .wildworld-complete__plant .wildworld-paper-figure { height:105px !important; }
  .wildworld-complete__animal .wildworld-paper-figure { height:155px !important; }
  .wildworld-complete__discovery { grid-row:2; grid-column:1/-1; padding:18px 10px 8px; }
  .wildworld-question header {
    padding:24px 19px 22px !important;
    border-radius:20% 80% 23% 77% / 6% 9% 7% 10%;
  }
}
@media (max-width:1120px) and (min-width:621px) {
  .wildworld-complete__fact {
    grid-template-columns:clamp(105px,13vw,145px) minmax(300px,1fr) clamp(165px,19vw,220px);
    gap:clamp(14px,2vw,26px);
  }
  .wildworld-complete__discovery p { font-size:clamp(16px,1.8vw,21px) !important; }
}
@media (prefers-reduced-motion:reduce) {
  .wildworld-picker__portal { animation:none; }
  .wildworld-choices.is-answer-revealed .wildworld-choice.is-correct,
  .wildworld-choices.is-answer-revealed .wildworld-choice.is-correct::after { animation:none; }
}

/* Habitat chooser — quiet solid-colour stage. Habitat photography belongs
   inside the portals only, so every destination and label can be scanned. */
.wildworld-page:has(.wildworld[data-wildworld-phase="intro"]),
.wildworld[data-wildworld-phase="intro"] {
  background:var(--pink) !important;
}
.wildworld[data-wildworld-phase="intro"] {
  overflow:auto !important;
}
.wildworld[data-wildworld-phase="intro"] .wildworld__environment {
  display:none !important;
  background-image:none !important;
  animation:none !important;
}
.wildworld[data-wildworld-phase="intro"] .wildworld__atmosphere {
  background:var(--pink) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.immersive-nav:has(+ .wildworld-page .wildworld[data-wildworld-phase="intro"]) .immersive-nav__back {
  border-color:var(--ink) !important;
  color:var(--ink) !important;
  filter:none !important;
}
.wildworld[data-wildworld-phase="intro"] .wildworld__challenge {
  min-height:100dvh;
  padding-bottom:clamp(42px,5vh,68px) !important;
}
.wildworld-picker {
  width:min(1500px,100%) !important;
  gap:clamp(10px,1.35vh,18px) !important;
}
.wildworld-picker>header h1 {
  max-width:980px;
  font-size:clamp(46px,4.7vw,78px) !important;
  line-height:.88 !important;
}
.wildworld-picker>header p {
  margin-top:clamp(14px,1.6vh,21px) !important;
  background:var(--cream) !important;
}
.wildworld-picker__map::before {
  inset:2% 1.5% 1% !important;
  background:var(--cream) !important;
  box-shadow:0 14px 0 rgba(97,62,143,.15) !important;
}
.wildworld-picker__map::after { display:none !important; }
.wildworld-picker__trail {
  border-color:rgba(97,62,143,.25) !important;
}
.wildworld-picker__worlds {
  padding:clamp(22px,2.6vh,34px) clamp(24px,3vw,48px) clamp(30px,3.5vh,46px) !important;
  align-items:stretch !important;
  row-gap:clamp(16px,2vh,25px) !important;
}
.wildworld-picker__world {
  grid-template-rows:auto minmax(58px,auto) !important;
  align-content:start;
  gap:5px !important;
}
.wildworld-picker__world>div {
  position:relative !important;
  box-sizing:border-box;
  display:grid !important;
  width:min(94%,238px) !important;
  min-height:58px;
  margin-top:-1px;
  padding:8px 11px 9px;
  align-content:center;
  overflow:hidden;
  border-radius:47% 53% 44% 56% / 38% 46% 54% 62%;
  background:rgba(255,253,250,.94);
  filter:drop-shadow(0 5px 0 rgba(97,62,143,.15));
}
.wildworld-picker__world:nth-child(even)>div {
  border-radius:56% 44% 52% 48% / 45% 58% 42% 55%;
}
.wildworld-picker__world small {
  min-height:1.05em;
  overflow:visible !important;
  font-size:clamp(8px,.72vw,10px) !important;
  line-height:1.08 !important;
  text-overflow:clip !important;
  text-wrap:balance;
  white-space:normal !important;
}
.wildworld-picker__world strong {
  display:grid;
  min-height:1.9em;
  margin-top:4px !important;
  align-items:center;
  overflow:hidden;
  font-size:clamp(15px,1.18vw,20px) !important;
  line-height:.92 !important;
  overflow-wrap:normal;
  text-wrap:balance;
  white-space:normal !important;
}

@media (max-width:1180px) {
  .wildworld-picker__world>div { width:min(96%,220px) !important; }
  .wildworld-picker__world strong { font-size:clamp(15px,1.8vw,19px) !important; }
}
@media (max-width:620px) {
  .wildworld-picker__worlds { row-gap:15px !important; }
  .wildworld-picker__world { grid-template-rows:auto minmax(62px,auto) !important; }
  .wildworld-picker__world>div { width:100% !important; min-height:62px; padding-inline:8px; }
  .wildworld-picker__world small { font-size:8px !important; }
  .wildworld-picker__world strong { min-height:2em; font-size:clamp(13px,4vw,16px) !important; }
}

/* PLAYGROUND 2026 — one cinematic universe, composed from the locked character system. */
.recreation-page { padding-bottom:clamp(70px,9vw,130px); }
.recreation-hero.recreation-hero--cinematic {
  position:relative;
  isolation:isolate;
  display:grid;
  min-height:clamp(620px,69vw,760px);
  padding:clamp(46px,6vw,92px);
  grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
  align-items:center;
  overflow:hidden;
  border-radius:66px 112px 78px 105px / 82px 59px 116px 70px;
  background:var(--emerald);
  color:white;
  box-shadow:0 24px 0 rgba(38,38,43,.09);
}
.recreation-hero--cinematic::before {
  position:absolute;
  z-index:-1;
  right:-4%;
  bottom:-23%;
  width:44%;
  aspect-ratio:1;
  border-radius:43% 57% 38% 62% / 57% 40% 60% 43%;
  background:var(--acid);
  content:"";
  rotate:-13deg;
}
.recreation-hero__copy { position:relative; z-index:5; }
.recreation-hero--cinematic .eyebrow { color:var(--acid); }
.recreation-hero--cinematic h1 {
  max-width:760px;
  margin:clamp(19px,2.2vw,30px) 0 25px;
  font:800 clamp(68px,6.8vw,110px)/.78 var(--font-display);
  letter-spacing:-.085em;
}
.recreation-hero--cinematic h1 i { color:var(--sun); font-style:normal; }
.recreation-hero--cinematic p { max-width:630px; margin:0; font-size:clamp(17px,1.45vw,21px); line-height:1.48; }
.recreation-hero--cinematic .play-window { border:2px solid rgba(255,255,255,.46); background:rgba(255,255,255,.13); }
.recreation-hero__stage { position:relative; align-self:stretch; min-height:500px; }
.recreation-hero__shape { position:absolute; display:block; }
.recreation-hero__shape--pink { top:2%; right:-9%; width:79%; height:66%; border-radius:52% 48% 67% 33% / 42% 64% 36% 58%; background:var(--pink); rotate:9deg; }
.recreation-hero__shape--lime { right:8%; bottom:4%; width:68%; height:39%; border-radius:39% 61% 50% 50% / 60% 42% 58% 40%; background:var(--acid); rotate:-6deg; }
.recreation-hero__explorer { position:absolute; z-index:3; right:-2%; bottom:-3%; width:min(115%,660px); height:auto; filter:drop-shadow(0 20px 14px rgba(20,45,28,.2)); animation:playground-explorer-float 5.2s ease-in-out infinite; }
.recreation-hero__rabbit { position:absolute; z-index:5; right:0; bottom:0; width:min(35%,185px); filter:drop-shadow(0 12px 8px rgba(20,45,28,.2)); animation:playground-rabbit-bob 2.8s ease-in-out infinite; }
.recreation-hero__callout { position:absolute; z-index:7; top:9%; left:0; display:grid; min-width:150px; min-height:105px; padding:18px 22px; place-items:center; border-radius:56% 44% 62% 38% / 44% 58% 42% 56%; background:var(--sun); color:var(--ink); box-shadow:0 9px 0 rgba(38,38,43,.18); font:800 clamp(29px,3vw,48px)/.8 var(--font-display); letter-spacing:-.05em; rotate:-9deg; }
.recreation-hero__callout small { margin-top:8px; font:800 8px/1 var(--font-display); letter-spacing:.11em; }
.recreation-hero__blob { position:absolute; z-index:8; width:128px; aspect-ratio:1; }
.recreation-hero__blob svg { display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 8px 0 rgba(38,38,43,.14)); }
.recreation-hero__blob--one { top:19%; right:-6%; animation:playground-blob-sway 3.7s ease-in-out infinite; }
.recreation-hero__blob--two { left:-3%; bottom:5%; width:108px; animation:playground-blob-sway 3.2s .45s ease-in-out infinite reverse; }

.playground-game-door.playground-game-door--word {
  position:relative;
  isolation:isolate;
  display:grid;
  min-height:clamp(540px,57vw,670px);
  margin-top:clamp(48px,7vw,104px);
  padding:clamp(42px,6vw,86px);
  grid-template-columns:minmax(300px,.72fr) minmax(550px,1.28fr);
  gap:clamp(34px,5vw,80px);
  align-items:center;
  overflow:hidden;
  border-radius:74px 48px 90px 58px / 54px 83px 48px 89px;
  background:var(--violet);
  color:white;
  box-shadow:0 24px 0 rgba(97,62,143,.16);
}
.playground-game-door--word::before {
  position:absolute;
  z-index:-1;
  top:-24%;
  left:36%;
  width:31%;
  aspect-ratio:1;
  border-radius:46% 54% 39% 61% / 58% 37% 63% 42%;
  background:var(--pink);
  content:"";
  rotate:18deg;
}
.playground-game-door--word::after { display:none; }
.playground-game-door__copy { position:relative; z-index:6; }
.playground-game-door--word .eyebrow { color:var(--sun); }
.playground-game-door--word h2 { margin:18px 0 24px; font-size:clamp(68px,7vw,112px); font-weight:800; line-height:.76; letter-spacing:-.085em; }
.playground-game-door--word h2 i { color:var(--acid); font-style:normal; }
.playground-game-door--word p { max-width:490px; font-size:clamp(17px,1.3vw,20px); line-height:1.5; }
.playground-game-door--word button { min-height:62px; margin-top:30px; padding:11px 13px 11px 24px; background:var(--acid); color:var(--ink); font-size:15px; }
.playground-word-stage { position:relative; z-index:2; justify-self:end; width:min(100%,790px); padding:56px 34px 38px; border:9px solid var(--ink); border-radius:52px 74px 47px 68px / 64px 48px 72px 51px; background:var(--oat); color:var(--ink); box-shadow:0 17px 0 rgba(38,38,43,.22); rotate:1deg; }
.playground-word-stage__category { position:absolute; top:-42px; left:50%; display:grid; min-width:180px; min-height:64px; padding:10px 22px; place-items:center; border-radius:46% 54% 45% 55% / 58% 42% 58% 42%; background:var(--ink); color:white; font:800 clamp(14px,1.4vw,20px)/1 var(--font-display); letter-spacing:.05em; text-transform:uppercase; translate:-50% 0; }
.playground-word-stage__reel { position:relative; display:grid; min-height:365px; padding:9px 0; grid-template-rows:1fr 1.48fr 1fr; align-items:center; overflow:hidden; border-radius:33px 49px 38px 54px / 47px 36px 52px 41px; background:white; text-align:center; }
.playground-word-stage__reel::before { position:absolute; z-index:0; top:32%; right:0; bottom:32%; left:0; background:var(--acid); content:""; }
.playground-word-stage__reel span,.playground-word-stage__reel strong { position:relative; z-index:1; display:block; max-width:100%; padding:0 42px; overflow:hidden; font-family:var(--font-display); font-style:normal; font-weight:800; letter-spacing:-.07em; line-height:.8; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.playground-word-stage__reel span { color:var(--violet); font-size:clamp(30px,3.5vw,58px); opacity:.68; }
.playground-word-stage__reel strong { color:var(--ink); font-size:clamp(53px,6vw,104px); }
.playground-word-stage__blob { position:absolute; z-index:8; width:105px; aspect-ratio:1; }
.playground-word-stage__blob svg { display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 8px 0 rgba(38,38,43,.14)); }
.playground-word-stage__blob--pink { top:-11%; right:-7%; animation:playground-blob-sway 3.2s ease-in-out infinite; }
.playground-word-stage__blob--lime { bottom:-12%; left:-5%; width:124px; animation:playground-blob-sway 3.8s .3s ease-in-out infinite reverse; }
.playground-word-stage__blob--yellow { right:7%; bottom:-13%; width:90px; animation:playground-rabbit-bob 2.9s .2s ease-in-out infinite; }

.smart-game.smart-game--wildworld-feature { isolation:isolate; min-height:590px; padding:clamp(34px,4vw,58px); border-radius:63px 89px 55px 94px / 71px 52px 88px 60px; background:var(--sun); box-shadow:0 18px 0 rgba(246,204,36,.24); }
.smart-game--wildworld-feature::after { position:absolute; z-index:-1; right:-5%; bottom:-24%; width:50%; aspect-ratio:1; border-radius:50% 50% 42% 58% / 61% 39% 61% 39%; background:var(--pink); content:""; rotate:8deg; }
.smart-game--wildworld-feature>span,.smart-game--wildworld-feature h3,.smart-game--wildworld-feature p,.smart-game--wildworld-feature>small,.smart-game--wildworld-feature>button { position:relative; z-index:6; max-width:48%; }
.smart-game--wildworld-feature h3 { margin:19px 0 16px; font-size:clamp(62px,6vw,98px); font-weight:800; line-height:.77; }
.smart-game--wildworld-feature p { font-size:clamp(17px,1.3vw,20px); line-height:1.45; }
.smart-game--wildworld-feature>button { min-height:52px; padding:11px 19px; background:var(--emerald); color:white; font:800 14px/1 var(--font-display); box-shadow:0 7px 0 rgba(38,38,43,.16); }
.wildworld-door-scene { position:absolute; z-index:2; top:5%; right:1%; bottom:1%; width:53%; }
.wildworld-door-scene__portal { position:absolute; z-index:0; inset:6% 0 4% 1%; overflow:hidden; border:10px solid var(--emerald); border-radius:53% 47% 44% 56% / 42% 57% 43% 58%; background:url('/assets/wildworld/feature-film/environments/forest-v2.png') 53% 50% / cover no-repeat; box-shadow:0 15px 0 rgba(38,38,43,.16); rotate:4deg; }
.wildworld-door-scene img { position:absolute; z-index:2; display:block; object-fit:contain; filter:drop-shadow(0 12px 9px rgba(38,38,43,.22)); }
.wildworld-door-scene__explorer { right:-7%; bottom:-4%; width:70%; animation:playground-explorer-float 5s .3s ease-in-out infinite; }
.wildworld-door-scene__rabbit { left:-6%; bottom:0; width:36%; animation:playground-rabbit-bob 2.8s ease-in-out infinite; }
.wildworld-door-scene__owl { top:1%; right:4%; width:25%; animation:playground-blob-sway 3.5s .2s ease-in-out infinite; }
.wildworld-door-scene__blob { position:absolute; z-index:5; top:33%; right:1%; width:86px; aspect-ratio:1; animation:playground-blob-sway 3s ease-in-out infinite reverse; }
.wildworld-door-scene__blob svg { display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 8px 0 rgba(38,38,43,.15)); }

.wildworld__mission-back {
  position:fixed;
  z-index:98;
  top:88px;
  left:clamp(18px,3vw,44px);
  display:inline-flex;
  min-height:48px;
  padding:8px 17px 8px 8px;
  align-items:center;
  gap:9px;
  border:0;
  border-radius:58% 42% 54% 46% / 46% 58% 42% 54%;
  background:var(--pink);
  color:var(--ink);
  filter:drop-shadow(0 6px 0 rgba(97,62,143,.25));
  font:800 12px/1 var(--font-display);
  cursor:pointer;
  transition:transform .22s cubic-bezier(.2,.85,.25,1.2);
}
.wildworld__mission-back b { display:grid; width:32px; aspect-ratio:1; place-items:center; border-radius:50%; background:white; font-size:20px; }
.wildworld__mission-back:hover { transform:translateY(-3px) rotate(-2deg); }

@keyframes playground-explorer-float { 0%,100%{ translate:0 0; rotate:0deg; } 50%{ translate:0 -10px; rotate:1deg; } }
@keyframes playground-rabbit-bob { 0%,100%{ translate:0 0; rotate:-1deg; } 48%{ translate:0 -12px; rotate:2deg; } 60%{ translate:0 -8px; rotate:1deg; } }
@keyframes playground-blob-sway { 0%,100%{ translate:0 0; rotate:-3deg; } 50%{ translate:0 -9px; rotate:5deg; } }

@media (max-width:1120px) {
  .recreation-hero.recreation-hero--cinematic { min-height:720px; grid-template-columns:minmax(0,1fr) minmax(330px,.82fr); }
  .recreation-hero--cinematic h1 { font-size:clamp(66px,8.5vw,102px); }
  .recreation-hero__explorer { width:620px; max-width:122%; }
  .playground-game-door.playground-game-door--word { grid-template-columns:minmax(260px,.65fr) minmax(430px,1.35fr); }
  .playground-word-stage__reel strong { font-size:clamp(48px,7vw,82px); }
  .smart-game--wildworld-feature>span,.smart-game--wildworld-feature h3,.smart-game--wildworld-feature p,.smart-game--wildworld-feature>small,.smart-game--wildworld-feature>button { max-width:51%; }
}

@media (max-width:820px) {
  .recreation-hero.recreation-hero--cinematic { min-height:980px; padding:50px 30px 24px; grid-template-columns:1fr; align-content:start; }
  .recreation-hero__stage { min-height:480px; margin-top:12px; }
  .recreation-hero__explorer { right:50%; width:min(650px,112vw); max-width:none; translate:50% 0; }
  .recreation-hero__rabbit { right:5%; }
  .recreation-hero__blob--two { left:3%; }
  .playground-game-door.playground-game-door--word { min-height:950px; padding:54px 28px 50px; grid-template-columns:1fr; align-content:start; }
  .playground-game-door--word h2 { font-size:clamp(66px,15vw,104px); }
  .playground-word-stage { justify-self:center; width:100%; margin-top:45px; padding-inline:18px; }
  .playground-word-stage__reel { min-height:330px; }
  .playground-word-stage__reel span,.playground-word-stage__reel strong { padding-inline:18px; }
  .playground-word-stage__reel strong { font-size:clamp(42px,11vw,82px); }
  .smart-game.smart-game--wildworld-feature { min-height:850px; padding:38px 28px; }
  .smart-game--wildworld-feature>span,.smart-game--wildworld-feature h3,.smart-game--wildworld-feature p,.smart-game--wildworld-feature>small,.smart-game--wildworld-feature>button { max-width:100%; }
  .smart-game--wildworld-feature h3 { font-size:clamp(58px,13vw,88px); }
  .smart-game--wildworld-feature p { max-width:650px; }
  .wildworld-door-scene { top:auto; right:2%; bottom:2%; left:2%; width:auto; height:53%; }
}

@media (max-width:620px) {
  .recreation-hero.recreation-hero--cinematic { min-height:875px; border-radius:42px 65px 48px 72px / 53px 39px 69px 45px; }
  .recreation-hero--cinematic h1 { font-size:clamp(58px,17vw,82px); }
  .recreation-hero__stage { min-height:395px; }
  .recreation-hero__callout { top:3%; min-width:115px; min-height:82px; font-size:29px; }
  .recreation-hero__blob { width:88px; }
  .recreation-hero__blob--two { width:78px; }
  .playground-game-door.playground-game-door--word { min-height:820px; border-radius:45px 31px 58px 38px / 36px 57px 33px 55px; }
  .playground-word-stage { padding:48px 11px 20px; border-width:7px; }
  .playground-word-stage__category { top:-32px; min-height:52px; min-width:140px; }
  .playground-word-stage__reel { min-height:285px; }
  .playground-word-stage__reel span { font-size:clamp(24px,8vw,42px); }
  .playground-word-stage__reel strong { font-size:clamp(35px,10.8vw,62px); }
  .playground-word-stage__blob { width:76px; }
  .playground-word-stage__blob--lime { width:88px; }
  .smart-game.smart-game--wildworld-feature { min-height:760px; }
  .wildworld-door-scene { height:47%; }
  .wildworld__mission-back { top:73px; left:10px; min-height:42px; padding-right:12px; }
  .wildworld__mission-back b { width:28px; }
}

@media (prefers-reduced-motion:reduce) {
  .recreation-hero__explorer,.recreation-hero__rabbit,.recreation-hero__blob,.playground-word-stage__blob,.wildworld-door-scene img,.wildworld-door-scene__blob { animation:none !important; }
}
.recreation-hero__blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.playground-word-stage__blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.wildworld-door-scene__blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-quest-outline__plan-blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-quest-present__audience > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-garden__drawer-blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-garden__empty > span > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.recreation-hero__blob,
.playground-word-stage__blob,
.wildworld-door-scene__blob,
.word-quest-outline__plan-blob,
.word-quest-present__audience,
.word-garden__drawer-blob,
.word-garden__empty > span { aspect-ratio:1; }
.recreation-hero__blob svg,
.playground-word-stage__blob svg,
.wildworld-door-scene__blob svg,
.word-garden__drawer-blob svg,
.word-garden__empty > span svg { display:none; }

@media (prefers-reduced-motion:reduce) {
}
.recreation-hero__blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.playground-word-stage__blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.wildworld-door-scene__blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-quest-outline__plan-blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-quest-present__audience > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-garden__drawer-blob > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-garden__empty > span > .word-quest-cue-blob {
  width:100%;
  height:100%;
}
.word-quest-research__fact-character > .word-quest-fact-blob {
  width:100%;
  height:100%;
}
.word-quest-research__fact-character { position:relative; aspect-ratio:1; }
.word-quest-research__fact-character > .word-quest-fact-blob { animation:none; }
@keyframes pink-rig-arm-left {
  0%,100% { transform:rotate(-14deg) translateY(0); }
  30% { transform:rotate(36deg) translateY(-14px); }
  52% { transform:rotate(5deg) translateY(2px); }
  72% { transform:rotate(43deg) translateY(-18px); }
}
@keyframes pink-rig-arm-right {
  0%,100% { transform:rotate(14deg) translateY(0); }
  30% { transform:rotate(-36deg) translateY(-14px); }
  52% { transform:rotate(-5deg) translateY(2px); }
  72% { transform:rotate(-43deg) translateY(-18px); }
}
@keyframes pink-rig-step-left {
  0%,100% { transform:rotate(0); }
  42% { transform:rotate(-11deg) translate(-4px,-10px); }
  66% { transform:rotate(4deg) translateY(2px); }
}
@keyframes pink-rig-step-right {
  0%,100% { transform:rotate(0); }
  42% { transform:rotate(11deg) translate(4px,2px); }
  66% { transform:rotate(-7deg) translateY(-9px); }
}
@media (prefers-reduced-motion:reduce) {
}
@keyframes pink-rig-character-bounce {
  0%,100% { transform:translateY(0) rotate(-1deg) scale(1); }
  34% { transform:translateY(-38px) rotate(3.2deg) scale(1.075,.925); }
  55% { transform:translateY(7px) rotate(-1.2deg) scale(.94,1.07); }
  72% { transform:translateY(-15px) rotate(1.8deg) scale(1.035,.965); }
}
@media (max-width:860px) {
}
@media (max-width:520px) {
}

/* ===========================================================================
   2026 LAUNCH HOME + IMMERSIVE YEAR 5 EXPERIENCES
   Solid brand colour, organic silhouettes, approved live 2.5D blob rigs.
   ========================================================================== */
html,body,#app { max-width:100%; overflow-x:clip; }
.approved-home { display:block!important; width:min(100% - 32px,1560px); height:auto!important; min-height:100vh; margin:16px auto 0; overflow:visible!important; }
.approved-home-mobile { display:none; }
.approved-home .approved-header { width:100%; margin:0 0 14px; }

.home-hero {
  position:relative;
  min-height:clamp(620px,calc(100vh - 180px),780px);
  overflow:hidden;
  border-radius:68px 98px 62px 112px / 82px 64px 108px 72px;
  background:var(--violet);
  box-shadow:0 28px 0 rgba(38,38,43,.1);
}
.home-hero__viewport { position:absolute!important; top:0!important; right:0!important; bottom:auto!important; left:0!important; width:100%!important; height:100%!important; margin:0!important; transform:none!important; translate:none!important; }
.home-hero__scene {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:minmax(460px,.95fr) minmax(460px,1.05fr);
  isolation:isolate;
  padding:clamp(50px,6vw,88px) clamp(38px,5vw,78px) clamp(90px,9vw,130px);
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateX(5%);
  transition:opacity .45s ease,transform .65s var(--ease-spring),visibility 0s .65s;
}
.home-hero__scene.is-active { visibility:visible; opacity:1; pointer-events:auto; transform:none; transition-delay:0s; }
.home-hero__scene--science { background:var(--violet); color:white; }
.home-hero__scene--maths { background:var(--sun); color:var(--ink); }
.home-hero__scene--french { background:var(--coral); color:var(--ink); }
.home-hero__scene::before {
  position:absolute;
  z-index:-1;
  width:32%;
  aspect-ratio:1;
  border-radius:44% 56% 62% 38% / 53% 38% 62% 47%;
  content:"";
  right:-7%;
  bottom:-22%;
  background:var(--pink);
  transform:rotate(18deg);
}
.home-hero__scene--maths::before { background:var(--violet); }
.home-hero__scene--french::before { background:var(--acid); }
.home-hero__copy { position:relative; z-index:6; align-self:center; }
.home-hero__copy>span { display:block; margin-bottom:18px; font:850 12px/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; }
.home-hero__copy h1 { margin:0; max-width:700px; font:900 clamp(54px,5.6vw,90px)/.78 var(--font-display); letter-spacing:-.075em; text-transform:uppercase; }
.home-hero__copy h1 b { display:block; font:inherit; white-space:nowrap; }
.home-hero__copy h1 b:nth-child(2),.home-hero__copy h1 b:nth-child(4) { color:var(--acid); }
.home-hero__scene--maths .home-hero__copy h1 b:nth-child(2),.home-hero__scene--maths .home-hero__copy h1 b:nth-child(4) { color:var(--violet); }
.home-hero__scene--french .home-hero__copy h1 b:nth-child(2),.home-hero__scene--french .home-hero__copy h1 b:nth-child(4) { color:white; }
.home-hero__copy>button {
  display:inline-flex;
  align-items:center;
  gap:25px;
  min-height:64px;
  margin-top:30px;
  padding:0 16px 0 26px;
  border:0;
  border-radius:62% 38% 51% 49% / 57% 45% 55% 43%;
  background:var(--ink);
  color:white;
  font:850 17px/1 var(--font-body);
  box-shadow:0 10px 0 rgba(38,38,43,.18);
}
.home-hero__copy>button i { display:grid; width:42px; height:42px; border-radius:50%; background:var(--acid); color:var(--ink); font-style:normal; place-items:center; transition:transform .25s var(--ease-spring); }
.home-hero__copy>button:hover i { transform:translateX(5px) rotate(-7deg); }
.home-hero__copy>small { display:block; margin-top:22px; font-size:14px; font-weight:750; letter-spacing:.035em; }
.home-hero__art { position:relative; z-index:3; min-width:0; height:100%; align-self:end; }
.home-hero__teacher { position:absolute; z-index:3; right:-2%; bottom:-13%; width:92%; height:108%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 25px 20px rgba(38,38,43,.22)); }
.home-hero__scene--science .home-hero__teacher { width:104%; height:111%; right:-8%; }
.home-hero__shape { position:absolute; display:block; }
.home-hero__shape--one { right:2%; bottom:5%; width:82%; height:78%; border-radius:58% 42% 46% 54% / 48% 59% 41% 52%; background:var(--pink); transform:rotate(-7deg); }
.home-hero__shape--two { top:5%; right:7%; width:36%; aspect-ratio:1; border-radius:46% 54% 61% 39% / 57% 43% 56% 44%; background:var(--sun); transform:rotate(17deg); }
.home-hero__scene--maths .home-hero__shape--one { background:var(--violet); }
.home-hero__scene--maths .home-hero__shape--two { background:var(--coral); }
.home-hero__scene--french .home-hero__shape--one { background:var(--pink); }
.home-hero__scene--french .home-hero__shape--two { background:var(--violet); }
.home-hero__blob { position:absolute; z-index:8; width:clamp(150px,13vw,220px); height:clamp(150px,13vw,220px); overflow:visible; transform-origin:50% 80%; }
.home-hero__blob>.goodie-companion { width:100%; height:100%; }
.home-hero__blob--science-helper { left:-8%; bottom:-2%; width:clamp(170px,15vw,245px); height:clamp(170px,15vw,245px); transform:rotate(-7deg); }
.home-hero__blob--science-peeker { right:-7%; top:4%; width:clamp(138px,11vw,188px); height:clamp(138px,11vw,188px); transform:rotate(10deg); }
.home-hero__blob--maths-solver { left:-9%; bottom:-3%; width:clamp(185px,16vw,260px); height:clamp(185px,16vw,260px); transform:rotate(-5deg); }
.home-hero__blob--french-storyteller { left:-11%; bottom:-2%; width:clamp(195px,17vw,275px); height:clamp(195px,17vw,275px); transform:rotate(5deg); }
.home-hero__number-rhythm { position:absolute; z-index:2; top:11%; left:-10%; display:flex; align-items:center; gap:10px; transform:rotate(-7deg); }
.home-hero__number-rhythm span,.home-hero__number-rhythm strong { display:grid; width:78px; height:78px; border-radius:44% 56% 52% 48% / 57% 45% 55% 43%; background:var(--oat); color:var(--ink); font:900 36px/1 var(--font-display); place-items:center; box-shadow:0 8px 0 rgba(38,38,43,.14); }
.home-hero__number-rhythm strong { background:var(--acid); font-size:48px; }
.home-hero__story-words { position:absolute; z-index:2; top:10%; left:-4%; display:flex; flex-direction:column; align-items:flex-start; gap:8px; transform:rotate(-7deg); }
.home-hero__story-words span { padding:9px 15px; border-radius:54% 46% 51% 49% / 62% 44% 56% 38%; background:white; color:var(--ink); font:900 21px/1 var(--font-display); box-shadow:0 6px 0 rgba(38,38,43,.14); }
.home-hero__story-words span:nth-child(2) { margin-left:34px; background:var(--sun); }
.home-hero__story-words span:nth-child(3) { margin-left:7px; background:var(--acid); }
.home-hero__controls { position:absolute; z-index:20; right:clamp(20px,3vw,42px); bottom:24px; display:flex; align-items:center; gap:10px; }
.home-hero__controls>button { display:grid; width:48px; height:48px; border:0; border-radius:50%; background:var(--ink); color:white; font-size:23px; place-items:center; }
.home-hero__controls>div { display:flex; gap:7px; padding:7px; border-radius:999px; background:rgba(255,255,255,.86); }
.home-hero__controls>div button { display:flex; align-items:center; gap:0; width:34px; min-height:34px; padding:0; overflow:hidden; border:0; border-radius:999px; background:transparent; transition:width .3s var(--ease-spring),background .25s; }
.home-hero__controls>div button i { display:block; width:10px; height:10px; margin:0 12px; flex:0 0 10px; border-radius:50%; background:var(--ink); }
.home-hero__controls>div button span { font:850 11px/1 var(--font-body); }
.home-hero__controls>div button.is-active { width:68px; background:var(--acid); }

.approved-up-next { min-height:140px; gap:18px; padding:24px 8px 10px; }
.approved-up-next__label strong { font-size:17px; }
.approved-ribbon { flex-basis:clamp(250px,28vw,390px); }

.home-after { margin-top:clamp(70px,8vw,125px); background:var(--soft); }
.home-schedule { width:min(100% - 44px,1500px); margin-inline:auto; padding:clamp(52px,7vw,105px) 0 clamp(95px,11vw,165px); }
.home-schedule__banner { position:relative; display:grid; width:100%; min-height:560px; padding:clamp(52px,7vw,98px); overflow:hidden; border:0; border-radius:82px 138px 70px 156px / 120px 78px 150px 92px; grid-template-columns:minmax(0,1.2fr) minmax(330px,.55fr); align-items:center; gap:clamp(35px,7vw,110px); background:var(--pink); color:var(--ink); text-align:left; box-shadow:0 22px 0 rgba(38,38,43,.1); isolation:isolate; transition:transform .35s var(--ease-spring),box-shadow .35s ease; }
.home-schedule__banner:hover { transform:translateY(-8px) rotate(-.15deg); box-shadow:0 30px 0 rgba(38,38,43,.1); }
.home-schedule__banner::before { position:absolute; z-index:-2; right:-7%; bottom:-31%; width:50%; aspect-ratio:1; border-radius:57% 43% 64% 36% / 39% 62% 38% 61%; background:var(--coral); content:""; transform:rotate(13deg); }
.home-schedule__banner::after { position:absolute; z-index:-1; top:-18%; right:19%; width:23%; aspect-ratio:1; border-radius:44% 56% 39% 61% / 58% 42% 61% 39%; background:var(--oat); content:""; transform:rotate(-19deg); }
.home-schedule__copy { position:relative; z-index:5; display:block; max-width:850px; }
.home-schedule__copy>small { display:block; color:var(--violet); font:850 12px/1 var(--font-body); letter-spacing:.15em; text-transform:uppercase; }
.home-schedule__copy>strong { display:block; margin-top:20px; font:900 clamp(66px,7.4vw,118px)/.76 var(--font-display); letter-spacing:-.08em; text-transform:uppercase; }
.home-schedule__copy>strong i { color:var(--coral); }
.home-schedule__copy>em { display:block; max-width:660px; margin-top:28px; font:700 clamp(17px,1.55vw,22px)/1.45 var(--font-body); font-style:normal; }
.home-schedule__copy>b { display:inline-flex; min-height:60px; margin-top:32px; padding:0 17px 0 25px; border-radius:62% 38% 55% 45% / 54% 43% 57% 46%; align-items:center; gap:24px; background:var(--violet); color:white; font:850 16px/1 var(--font-body); box-shadow:0 9px 0 rgba(38,38,43,.12); }
.home-schedule__copy>b span { display:grid; width:39px; height:39px; border-radius:50%; background:var(--acid); color:var(--ink); font-size:23px; place-items:center; transition:transform .25s var(--ease-spring); }
.home-schedule__banner:hover .home-schedule__copy>b span { transform:translateX(5px) rotate(-8deg); }
.home-schedule__orbit { position:relative; z-index:3; display:flex; width:min(360px,28vw); aspect-ratio:1; border-radius:53% 47% 58% 42% / 43% 59% 41% 57%; flex-direction:column; align-items:center; justify-content:center; justify-self:center; background:var(--violet); color:white; box-shadow:0 17px 0 rgba(38,38,43,.13); transform:rotate(5deg); }
.home-schedule__orbit::before,.home-schedule__orbit::after { position:absolute; width:36px; height:36px; border:8px solid var(--acid); border-radius:50%; content:""; }
.home-schedule__orbit::before { top:10%; left:8%; }
.home-schedule__orbit::after { right:5%; bottom:13%; width:19px; height:19px; border-width:6px; }
.home-schedule__orbit>i,.home-schedule__orbit>small { position:absolute; font:850 12px/1 var(--font-body); font-style:normal; letter-spacing:.12em; }
.home-schedule__orbit>i { top:16%; right:18%; color:var(--acid); }
.home-schedule__orbit>small { bottom:16%; left:17%; color:var(--pink); }
.home-schedule__orbit>strong { font:900 clamp(118px,12vw,190px)/.66 var(--font-display); letter-spacing:-.12em; text-shadow:0 10px 0 rgba(38,38,43,.16); }
.home-schedule__orbit>em { margin-top:18px; color:var(--acid); font:900 16px/1 var(--font-display); font-style:normal; text-transform:uppercase; }
.home-schedule__guide { position:absolute; z-index:7; right:-1%; bottom:-8%; width:clamp(190px,18vw,290px); height:clamp(190px,18vw,290px); transform:rotate(7deg); }
.home-schedule__guide>.goodie-companion { width:100%; height:100%; }
.home-schedule__trail { position:absolute; z-index:1; right:8%; bottom:7%; left:43%; display:flex; height:70px; align-items:center; justify-content:space-around; border-top:5px dotted rgba(38,38,43,.23); transform:rotate(-3deg); }
.home-schedule__trail i { display:block; width:15px; height:15px; border-radius:50%; background:var(--violet); }
.home-schedule__trail i:nth-child(2) { background:var(--acid); }
.home-schedule__trail i:nth-child(3) { background:var(--coral); }
.home-schedule__trail i:nth-child(4) { background:var(--emerald); }
.home-schedule__trail i:nth-child(5) { background:var(--sun); }
.home-schedule__trail i:nth-child(6) { background:var(--violet); }
.home-today,.home-worlds,.home-family { width:min(100% - 44px,1500px); margin-inline:auto; }
.home-today { position:relative; padding:clamp(54px,7vw,102px) 0 clamp(90px,10vw,150px); }
.home-today::before { position:absolute; z-index:0; right:-8%; bottom:4%; width:280px; aspect-ratio:1; border-radius:63% 37% 45% 55% / 44% 58% 42% 56%; background:var(--pink); content:""; opacity:.68; transform:rotate(16deg); }
.home-today>header { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:clamp(45px,7vw,100px); margin-bottom:60px; }
.home-today>header span,.home-worlds>header>span,.home-family>div>span { color:var(--violet); font:850 12px/1 var(--font-body); letter-spacing:.15em; text-transform:uppercase; }
.home-today h2,.home-worlds h2,.home-family h2 { margin:16px 0 0; font:900 clamp(58px,7.4vw,116px)/.78 var(--font-display); letter-spacing:-.075em; text-transform:uppercase; }
.home-today h2 i { color:var(--coral); }
.home-today>header p { max-width:540px; margin:0; color:var(--muted); font-size:19px; line-height:1.45; }
.home-today__river { position:relative; z-index:2; display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.home-today__river::before { position:absolute; z-index:-1; top:50%; right:4%; left:4%; border-top:5px dotted var(--violet); content:""; opacity:.3; }
.home-today__river>button,.home-today__river>article { position:relative; display:flex; min-height:255px; padding:25px 23px; border:0; border-radius:46% 54% 43% 57% / 55% 44% 56% 45%; flex-direction:column; align-items:flex-start; text-align:left; box-shadow:0 14px 0 rgba(38,38,43,.1); transition:transform .3s var(--ease-spring); }
.home-today__river>button:hover { transform:translateY(-12px) rotate(-1deg); }
.home-today__river>*:nth-child(1),.home-today__river>*:nth-child(2),.home-today__river>*:nth-child(3) { grid-column:span 4; }
.home-today__river>*:nth-child(4),.home-today__river>*:nth-child(5),.home-today__river>*:nth-child(6) { grid-column:span 4; }
.home-today__river>*:nth-child(1) { background:var(--pink); }
.home-today__river>*:nth-child(2) { background:var(--violet); color:white; }
.home-today__river>*:nth-child(3) { background:var(--coral); }
.home-today__river>*:nth-child(4) { background:var(--emerald); color:white; }
.home-today__river>*:nth-child(5) { background:var(--oat); }
.home-today__river>*:nth-child(6) { background:var(--sun); }
.home-today__river time { font:900 clamp(40px,4vw,62px)/.8 var(--font-display); letter-spacing:-.07em; }
.home-today__river>*>span { align-self:flex-end; margin-top:-35px; padding:8px 10px; border-radius:999px; background:white; color:var(--ink); font:800 11px/1 var(--font-body); }
.home-today__river strong { max-width:90%; margin-top:auto; font:900 clamp(26px,2.4vw,38px)/.88 var(--font-display); letter-spacing:-.05em; text-transform:uppercase; }
.home-today__river small { margin-top:9px; font-size:13px; font-weight:700; }
.home-today__all { position:relative; z-index:3; display:flex; min-height:62px; margin:34px auto 0; padding:0 28px; border:0; border-radius:60% 40% 53% 47% / 54% 44% 56% 46%; align-items:center; gap:28px; background:var(--ink); color:white; font-weight:800; box-shadow:0 9px 0 rgba(38,38,43,.15); }
.home-today__all b { color:var(--acid); font-size:24px; }

.home-worlds { padding:clamp(85px,11vw,160px) 0; }
.home-worlds>header { max-width:1060px; margin-bottom:clamp(52px,7vw,92px); }
.home-worlds h2 i { color:var(--violet); }
.home-worlds>div { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; }
.home-world { position:relative; min-height:520px; padding:38px; overflow:hidden; border:0; border-radius:64px 92px 58px 105px / 82px 60px 100px 68px; text-align:left; box-shadow:0 18px 0 rgba(38,38,43,.11); transition:transform .35s var(--ease-spring); }
.home-world:hover { transform:translateY(-10px) rotate(-.5deg); }
.home-world--english { grid-row:span 2; min-height:760px; background:var(--pink); }
.home-world--geo { background:var(--acid); }
.home-world--words { background:var(--violet); color:white; }
.home-world>span { position:relative; z-index:5; font:850 12px/1 var(--font-body); letter-spacing:.12em; }
.home-world h3 { position:relative; z-index:5; max-width:78%; margin:20px 0 0; font:900 clamp(45px,5vw,78px)/.82 var(--font-display); letter-spacing:-.07em; text-transform:uppercase; }
.home-world__teacher { position:absolute; right:-8%; bottom:-7%; width:72%; height:82%; object-fit:contain; object-position:right bottom; filter:drop-shadow(0 20px 15px rgba(38,38,43,.16)); }
.home-world>div { position:absolute; right:4%; bottom:4%; width:185px; height:185px; }
.home-world>div .goodie-companion { width:100%; height:100%; }
.home-world>b { position:absolute; z-index:7; right:28px; top:26px; display:grid; width:52px; height:52px; border-radius:50%; background:white; color:var(--ink); font-size:27px; place-items:center; }

.home-family { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.55fr); align-items:center; gap:clamp(35px,7vw,110px); padding:clamp(85px,10vw,150px) clamp(28px,6vw,96px); border-radius:90px 140px 82px 160px / 120px 84px 152px 96px; background:var(--oat); box-shadow:0 20px 0 rgba(38,38,43,.09); }
.home-family>div { min-width:0; }
.home-family h2 { font-size:clamp(58px,5.65vw,98px); }
.home-family h2 i { color:var(--emerald); }
.home-family p { max-width:720px; margin:30px 0; font-size:clamp(17px,1.5vw,22px); line-height:1.5; }
.home-family>div>button { min-height:60px; padding:0 25px; border:0; border-radius:64% 36% 51% 49% / 52% 43% 57% 48%; background:var(--ink); color:white; font-weight:800; box-shadow:0 8px 0 rgba(38,38,43,.15); }
.home-family>div>button b { margin-left:25px; color:var(--acid); }
.home-family>aside { position:relative; display:flex; width:100%; max-width:430px; min-width:0; aspect-ratio:1; padding:clamp(34px,5cqw,54px); border-radius:51% 49% 59% 41% / 42% 61% 39% 58%; flex-direction:column; align-items:center; justify-content:center; justify-self:center; overflow:visible; background:var(--violet); color:white; container-type:inline-size; transform:rotate(4deg); }
.home-family>aside>strong { max-width:100%; font:900 clamp(104px,42cqw,176px)/.7 var(--font-display); letter-spacing:-.1em; white-space:nowrap; }
.home-family>aside>span { width:78%; max-width:270px; margin-top:20px; font:850 clamp(13px,4.4cqw,18px)/1.05 var(--font-body); letter-spacing:.02em; text-align:center; text-wrap:balance; }
.home-family>aside>.goodie-companion { position:absolute; right:-12%; bottom:-10%; width:43%; height:43%; }

.home-footer { position:relative; display:grid; grid-template-columns:1.3fr .55fr .65fr .9fr; gap:clamp(30px,5vw,80px); margin-top:clamp(100px,13vw,190px); padding:clamp(90px,10vw,145px) max(32px,calc((100vw - 1460px)/2)) 34px; overflow:hidden; background:var(--violet); color:white; }
.home-footer::before { position:absolute; top:-58px; left:-3%; width:106%; height:115px; border-radius:50%; background:var(--soft); content:""; }
.home-footer__brand,.home-footer nav,.home-footer__launch { position:relative; z-index:2; }
.home-footer__logo { width:200px; color:white; }
.home-footer__brand p { max-width:410px; margin:30px 0 16px; font-size:18px; line-height:1.45; }
.home-footer__brand>span { color:var(--acid); font:900 16px/1 var(--font-display); text-transform:uppercase; }
.home-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.home-footer nav strong { margin-bottom:9px; color:var(--acid); font-size:13px; letter-spacing:.1em; text-transform:uppercase; }
.home-footer nav button,.home-footer nav a { padding:0; border:0; background:transparent; color:white; font-size:15px; text-decoration:none; }
.home-footer nav button:hover,.home-footer nav a:hover { color:var(--acid); }
.home-footer__launch { display:flex; padding:26px; border-radius:54% 46% 58% 42% / 44% 61% 39% 56%; flex-direction:column; background:var(--acid); color:var(--ink); transform:rotate(2deg); }
.home-footer__launch>span { font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.home-footer__launch>strong { margin:18px 0 5px; font-size:25px; }
.home-footer__launch>small { line-height:1.35; }
.home-footer__launch button { align-self:flex-start; margin-top:auto; padding:10px 0 3px; border:0; border-bottom:3px solid; background:transparent; font-weight:850; }
.home-footer__base { position:relative; z-index:2; display:flex; grid-column:1/-1; justify-content:space-between; gap:20px; margin-top:65px; padding-top:24px; border-top:1px solid rgba(255,255,255,.24); font-size:11px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }

/* Launch schedule */
.launch-schedule { width:min(100% - 44px,1500px); margin:20px auto 120px; }
.launch-schedule>header { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); align-items:center; gap:45px; min-height:530px; padding:clamp(52px,7vw,92px); overflow:hidden; border-radius:72px 108px 64px 122px / 92px 70px 116px 78px; background:var(--pink); }
.launch-schedule>header>div>span { color:var(--violet); font:850 12px/1 var(--font-body); letter-spacing:.15em; text-transform:uppercase; }
.launch-schedule h1 { margin:18px 0 26px; font:900 clamp(64px,6vw,104px)/.79 var(--font-display); letter-spacing:-.08em; text-transform:uppercase; }
.launch-schedule h1 i { color:var(--coral); }
.launch-schedule>header p { max-width:680px; margin:0; font-size:20px; line-height:1.45; }
.launch-schedule>header aside { position:relative; display:flex; aspect-ratio:1; border-radius:58% 42% 47% 53% / 43% 59% 41% 57%; flex-direction:column; align-items:center; justify-content:center; background:var(--sun); transform:rotate(4deg); }
.launch-schedule>header aside>b { font:900 140px/.7 var(--font-display); }
.launch-schedule>header aside>span { margin-top:17px; font-weight:800; }
.launch-schedule>header aside>.goodie-companion { position:absolute; right:-16%; bottom:-17%; width:56%; height:56%; }
.launch-schedule__flow { position:relative; display:grid; gap:16px; margin-top:80px; }
.launch-schedule__flow::before { position:absolute; z-index:-1; top:0; bottom:0; left:132px; border-left:6px dotted var(--violet); content:""; opacity:.3; }
.launch-schedule__flow>button,.launch-schedule__flow>article { display:grid; grid-template-columns:120px 72px 68px 1fr 62px; align-items:center; gap:20px; min-height:145px; padding:18px 26px; border:0; border-radius:42px 72px 46px 78px / 58px 42px 74px 48px; background:var(--oat); text-align:left; box-shadow:0 11px 0 rgba(38,38,43,.08); transition:transform .28s var(--ease-spring); }
.launch-schedule__flow>button:hover { transform:translateX(10px); }
.launch-schedule__flow>*:nth-child(2) { background:var(--violet); color:white; }
.launch-schedule__flow>*:nth-child(3) { background:var(--coral); }
.launch-schedule__flow>*:nth-child(4) { background:var(--emerald); color:white; }
.launch-schedule__flow>*:nth-child(5) { background:var(--pink); }
.launch-schedule__flow>*:nth-child(6) { background:var(--sun); }
.launch-schedule__flow time { font:900 43px/.8 var(--font-display); letter-spacing:-.06em; }
.launch-schedule__flow>*>i { font-style:normal; font-size:11px; font-weight:850; }
.launch-schedule__flow>*>span { display:grid; width:58px; height:58px; border-radius:50%; background:white; color:var(--ink); font:900 18px/1 var(--font-display); place-items:center; }
.launch-schedule__flow strong { display:block; font:900 clamp(27px,3vw,43px)/.9 var(--font-display); letter-spacing:-.05em; text-transform:uppercase; }
.launch-schedule__flow p { margin:8px 0 0; font-size:14px; font-weight:700; }
.launch-schedule__flow>*>b { display:grid; width:52px; height:52px; border-radius:50%; background:var(--ink); color:white; font-size:25px; place-items:center; }

/* Shared immersive lesson anatomy */
.learning-experience { min-height:100vh; padding:104px clamp(22px,4vw,72px) clamp(70px,8vw,120px); background:var(--soft); }
.learning-experience .experience-bar { position:relative; display:flex; width:min(100%,1500px); min-height:96px; margin:0 auto 26px; padding:16px 2px 22px; border-bottom:3px solid rgba(38,38,43,.11); align-items:center; justify-content:space-between; background:transparent; color:var(--ink); }
.learning-experience .experience-bar::after { position:absolute; right:0; bottom:-3px; width:clamp(105px,18vw,250px); height:8px; border-radius:999px 40% 999px 55%; background:var(--acid); content:""; transform:rotate(-1deg); transform-origin:right center; }
.experience-bar div span,.experience-bar div strong { display:block; }
.experience-bar div span { color:var(--violet); font-size:11px; font-weight:850; letter-spacing:.14em; }
.experience-bar div strong { margin-top:8px; font-size:clamp(18px,1.55vw,24px); line-height:1.05; }
.experience-bar time { display:grid; min-height:48px; padding:0 18px; border-radius:999px; background:var(--pink); color:var(--ink); font:850 14px/1 var(--font-body); place-items:center; box-shadow:0 6px 0 rgba(38,38,43,.1); }
.experience-progress { display:flex; width:min(100%,1100px); margin:0 auto 38px; align-items:center; justify-content:center; gap:8px; }
.experience-progress button { display:flex; align-items:center; gap:8px; padding:6px 13px 6px 7px; border:0; border-radius:999px; background:rgba(38,38,43,.08); font-size:12px; font-weight:800; }
.experience-progress button i { display:grid; width:28px; height:28px; border-radius:50%; background:white; font-style:normal; place-items:center; }
.experience-progress button.is-current { background:var(--acid); }
.experience-progress button.is-done i { background:var(--emerald); color:white; }
.learning-experience button[disabled] { cursor:not-allowed; opacity:.42; }

.experience-mast { display:grid; grid-template-columns:1fr 350px; align-items:center; gap:50px; width:min(100%,1500px); min-height:400px; margin:0 auto 34px; padding:52px clamp(35px,6vw,88px); overflow:hidden; border-radius:70px 110px 64px 122px / 95px 70px 118px 82px; background:var(--pink); }
.experience-mast>div>span { color:var(--violet); font:850 12px/1 var(--font-body); letter-spacing:.14em; }
.experience-mast h1 { margin:17px 0 24px; font:900 clamp(72px,8vw,126px)/.75 var(--font-display); letter-spacing:-.08em; text-transform:uppercase; }
.experience-mast h1 i { color:var(--coral); }
.experience-mast p { max-width:680px; margin:0; font-size:20px; line-height:1.45; }
.experience-mast>.goodie-companion { width:350px; height:350px; }
.reading-ritual__heading { width:min(100%,1500px); margin:0 auto 24px; padding:36px clamp(26px,5vw,70px); border-radius:50px 90px 48px 82px / 70px 50px 84px 55px; background:var(--coral); }
.reading-ritual__heading--fluency { margin-top:88px; background:var(--acid); }
.reading-ritual__heading>span { color:var(--violet); font-size:11px; font-weight:900; letter-spacing:.14em; }
.reading-ritual__heading h2 { margin:10px 0 7px; font:900 clamp(45px,5.5vw,78px)/.88 var(--font-display); letter-spacing:-.06em; text-transform:uppercase; }
.reading-ritual__heading p { max-width:900px; margin:0; font-size:18px; font-weight:700; line-height:1.45; }
.reading-workbench { display:grid; grid-template-columns:.72fr 1.28fr; gap:22px; width:min(100%,1500px); margin:auto; }
.reading-clock { display:flex; min-height:620px; padding:46px; border-radius:53% 47% 58% 42% / 45% 59% 41% 55%; flex-direction:column; align-items:center; justify-content:center; background:var(--violet); color:white; text-align:center; box-shadow:0 18px 0 rgba(38,38,43,.1); }
.reading-clock--book { background:var(--emerald); }
.reading-clock--book>span { color:var(--pink); }
.reading-clock--fluency>span { color:var(--acid); }
.reading-clock>span { color:var(--acid); font-size:12px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.reading-clock>strong { margin:26px 0 18px; font:900 clamp(105px,11vw,178px)/.68 var(--font-display); letter-spacing:-.1em; text-shadow:0 12px 0 rgba(38,38,43,.16); }
.reading-clock>small { font-size:16px; font-weight:800; }
.reading-clock>div { display:flex; gap:8px; margin-top:40px; }
.reading-clock button { min-height:50px; padding:0 17px; border:0; border-radius:999px; background:white; color:var(--ink); font-weight:800; }
.reading-clock button:first-child { background:var(--acid); }
.reading-book-guide { padding:clamp(35px,5vw,70px); border-radius:70px 104px 66px 118px / 92px 68px 112px 78px; background:var(--pink); box-shadow:0 18px 0 rgba(38,38,43,.08); }
.reading-book-guide>span { color:var(--violet); font-size:11px; font-weight:900; letter-spacing:.13em; }
.reading-book-guide h2 { margin:14px 0 34px; font:900 clamp(52px,6vw,90px)/.85 var(--font-display); letter-spacing:-.06em; text-transform:uppercase; }
.reading-book-guide ol { display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.reading-book-guide li { display:grid; grid-template-columns:58px 1fr; align-items:center; gap:18px; padding:18px 24px; border-radius:28px 38px 26px 36px; background:white; }
.reading-book-guide li>b { display:grid; width:54px; height:54px; border-radius:50%; background:var(--acid); font:900 15px/1 var(--font-display); place-items:center; }
.reading-book-guide li strong { display:block; margin-bottom:4px; font:900 24px/1 var(--font-display); text-transform:uppercase; }
.reading-book-guide li p { margin:0; font-weight:700; line-height:1.35; }
.reading-passage { padding:clamp(35px,5vw,66px); border-radius:70px 104px 66px 118px / 92px 68px 112px 78px; background:var(--oat); box-shadow:0 18px 0 rgba(38,38,43,.08); }
.reading-passage header>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; }
.reading-passage header b { padding:8px 12px; border-radius:999px; background:var(--pink); color:var(--ink); font-size:11px; }
.reading-passage header span { color:var(--violet); font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.reading-passage h2 { margin:14px 0 30px; font:900 clamp(48px,5vw,76px)/.85 var(--font-display); letter-spacing:-.06em; text-transform:uppercase; }
.reading-passage>p { margin:0; font:700 clamp(20px,1.85vw,27px)/1.55 var(--font-body); }
.reading-passage footer { display:flex; align-items:center; gap:20px; margin-top:35px; padding-top:25px; border-top:3px solid rgba(38,38,43,.13); }
.reading-passage footer b { display:grid; width:70px; height:70px; flex:0 0 70px; border-radius:50%; background:var(--coral); font:900 17px/1 var(--font-display); place-items:center; }
.reading-passage footer span { font-weight:700; line-height:1.35; }

.english-lesson { background:var(--oat); }
.english-chapter { position:relative; width:min(100%,1500px); min-height:650px; margin:auto; overflow:hidden; border-radius:72px 112px 66px 126px / 98px 72px 120px 84px; }
.english-chapter>div:first-child,.english-chapter--read,.english-chapter--challenge { padding:clamp(44px,7vw,100px); }
.english-chapter--brief { display:grid; grid-template-columns:1fr .65fr; background:var(--coral); }
.english-chapter--brief>div { position:relative; z-index:2; }
.english-chapter--brief span,.english-chapter--read header>span,.english-chapter--challenge header>span,.english-chapter--perform>div>span { font-size:11px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.english-chapter h2 { margin:18px 0 28px; font:900 clamp(70px,8vw,126px)/.77 var(--font-display); letter-spacing:-.08em; text-transform:uppercase; }
.english-chapter--brief h2 { font-size:clamp(64px,6.8vw,106px); }
.english-chapter h2 i { color:white; }
.english-chapter p { max-width:760px; font-size:19px; line-height:1.48; }
.english-chapter button:not(.english-choices button) { min-height:60px; margin-top:28px; padding:0 26px; border:0; border-radius:60% 40% 55% 45% / 52% 44% 56% 48%; background:var(--ink); color:white; font-weight:850; box-shadow:0 8px 0 rgba(38,38,43,.14); }
.english-chapter button b { margin-left:28px; color:var(--acid); }
.english-chapter--brief dl { display:grid; gap:8px; max-width:650px; margin:35px 0 0; }
.english-chapter--brief dl div { display:grid; grid-template-columns:48px 1fr; align-items:center; gap:15px; }
.english-chapter--brief dt { display:grid; width:46px; height:46px; border-radius:50%; background:var(--pink); font-weight:850; place-items:center; }
.english-chapter--brief dd { margin:0; font-size:16px; font-weight:800; }
.english-chapter__teacher { position:absolute; right:-4%; bottom:-7%; width:49%; height:93%; object-fit:contain; object-position:right bottom; filter:drop-shadow(0 22px 16px rgba(38,38,43,.18)); }
.english-chapter--read { background:var(--violet); color:white; }
.english-chapter--read header { display:grid; grid-template-columns:1fr .5fr; align-items:end; }
.english-chapter--read header p { margin:0; }
.english-chapter--read blockquote { margin:30px 0; padding:35px 42px; border-radius:58px 82px 54px 92px / 72px 55px 87px 62px; background:var(--oat); color:var(--ink); font:700 clamp(22px,2.3vw,33px)/1.5 var(--font-body); }
.english-chapter--read mark { padding:0 .12em; background:var(--acid); color:inherit; }
.english-chapter--read aside { display:flex; gap:20px; align-items:flex-start; }
.english-chapter--read aside strong { color:var(--acid); white-space:nowrap; }
.english-chapter--read aside p { margin:0; }
.english-chapter--challenge { background:var(--pink); }
.english-chapter--challenge>p { font-size:23px; font-weight:700; }
.english-choices { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:35px; }
.english-choices button { display:flex; min-height:150px; padding:25px; border:0; border-radius:48% 52% 43% 57% / 55% 45% 55% 45%; align-items:center; justify-content:space-between; background:white; font:900 clamp(34px,4vw,58px)/1 var(--font-display); box-shadow:0 12px 0 rgba(38,38,43,.1); }
.english-choices button i { display:grid; width:46px; height:46px; border-radius:50%; background:var(--violet); color:white; font:900 18px/1 var(--font-body); place-items:center; }
.english-choices button.is-correct { background:var(--acid); transform:scale(1.04) rotate(-1deg); }
.english-choices button.is-wrong { opacity:.62; }
.english-feedback { margin-top:25px; padding:24px 30px; border-radius:61% 39% 52% 48% / 52% 47% 53% 48%; background:var(--oat); }
.english-feedback.is-correct { background:var(--acid); }
.english-feedback p { margin:5px 0 0; font-size:16px; }
.english-chapter--perform { display:grid; grid-template-columns:1fr 440px; align-items:center; background:var(--violet); color:white; }
.english-chapter--perform h2 i { color:var(--acid); }
.english-chapter--perform blockquote { margin:30px 0; color:var(--acid); font:900 clamp(38px,4.8vw,72px)/.9 var(--font-display); letter-spacing:-.05em; }
.english-chapter--perform ol { padding-left:20px; line-height:1.7; }
.english-chapter--perform>.goodie-companion { width:430px; height:430px; }

.south-america-lesson { background:var(--soft); }
.america-chapter { position:relative; width:min(100%,1500px); min-height:670px; margin:auto; overflow:hidden; border-radius:72px 112px 66px 126px / 98px 72px 120px 84px; }
.america-chapter button:not(.america-choices button) { min-height:60px; margin-top:30px; padding:0 25px; border:0; border-radius:28px 38px 31px 35px; background:var(--violet); color:white; font-weight:850; box-shadow:0 8px 0 rgba(38,38,43,.13); }
.america-chapter button b { margin-left:28px; color:var(--acid); }
.america-chapter h2 { margin:18px 0 28px; font:900 clamp(70px,8vw,126px)/.77 var(--font-display); letter-spacing:-.08em; text-transform:uppercase; }
.america-chapter--welcome h2 { font-size:clamp(62px,6vw,96px); }
.america-chapter h2 i { color:var(--emerald); }
.america-chapter--welcome { display:grid; grid-template-columns:1fr .7fr; align-items:center; padding:clamp(48px,6vw,90px); background:var(--oat); }
.america-chapter--welcome>div:first-child>span,.america-chapter header>span,.america-chapter--check>div>span { color:var(--violet); font-size:11px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.america-chapter--welcome p { max-width:720px; font-size:20px; line-height:1.45; }
.america-facts { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.america-facts strong { display:flex; min-height:80px; padding:14px 18px; border-radius:54% 46% 61% 39% / 49% 58% 42% 51%; align-items:center; gap:10px; background:var(--pink); font-size:13px; }
.america-facts strong:nth-child(2) { background:var(--acid); }
.america-facts strong:nth-child(3) { background:var(--coral); }
.america-facts strong i { font:900 28px/1 var(--font-display); font-style:normal; }
.south-america-map { position:relative; width:min(100%,480px); justify-self:center; }
.south-america-map svg { width:100%; overflow:visible; filter:drop-shadow(0 20px 0 rgba(38,38,43,.12)); }
.south-america-map path { fill:var(--emerald); }
.south-america-map circle { fill:var(--sun); stroke:var(--ink); stroke-width:6; animation:map-ping 2s ease-in-out infinite; }
.south-america-map span,.south-america-map b,.south-america-map i { position:absolute; font:850 11px/1.05 var(--font-body); font-style:normal; letter-spacing:.08em; }
.south-america-map span { top:4%; left:40%; }
.south-america-map b { top:44%; right:-4%; }
.south-america-map i { top:48%; left:-5%; }
.america-chapter--countries,.america-chapter--landscapes { padding:clamp(45px,6vw,88px); }
.america-chapter--countries { background:var(--acid); }
.america-chapter--countries h2 i { color:var(--violet); }
.country-stops { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.country-stops article { position:relative; min-height:300px; padding:34px; overflow:hidden; border-radius:48px 72px 54px 66px; background:var(--soft); box-shadow:0 12px 0 rgba(38,38,43,.11); }
.country-stops article::after { position:absolute; z-index:0; right:-45px; bottom:-35px; width:150px; aspect-ratio:1; border-radius:58px 85px 62px 78px; background:var(--pink); content:""; transform:rotate(-13deg); }
.country-stops article:nth-child(2)::after { background:var(--sun); }
.country-stops article:nth-child(3)::after { background:var(--coral); }
.country-stops article>* { position:relative; z-index:1; }
.country-stops article>b { font-size:55px; }
.country-stops article>span,.country-stops article>strong { display:block; }
.country-stops article>span { margin-top:18px; font:900 30px/1 var(--font-display); }
.country-stops article>strong { margin-top:4px; color:var(--violet); }
.country-stops article p { line-height:1.45; }
.country-stops mark { background:var(--sun); color:inherit; font-weight:850; }
.america-chapter--landscapes { background:var(--pink); }
.landscape-ribbon { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.landscape-ribbon article { position:relative; display:flex; min-height:330px; padding:38px; overflow:hidden; border-radius:52px 78px 58px 70px; flex-direction:column; background:var(--violet); color:white; box-shadow:0 12px 0 rgba(38,38,43,.1); }
.landscape-ribbon article::after { position:absolute; z-index:0; top:-42px; right:-38px; width:160px; aspect-ratio:1.25; border-radius:60px 88px 55px 80px; background:rgba(255,255,255,.17); content:""; transform:rotate(14deg); }
.landscape-ribbon article>* { position:relative; z-index:1; }
.landscape-ribbon article:nth-child(1) { border-radius:58px 86px 52px 74px; transform:rotate(-.55deg); }
.landscape-ribbon article:nth-child(2) { border-radius:76px 54px 82px 62px; background:var(--emerald); transform:translateY(7px) rotate(.45deg); }
.landscape-ribbon article:nth-child(3) { border-radius:54px 88px 70px 58px; background:var(--coral); color:var(--ink); transform:rotate(-.35deg); }
.landscape-ribbon i { display:grid; width:82px; height:74px; border-radius:28px 38px 30px 35px; background:rgba(255,255,255,.86); color:var(--ink); font:38px/1 var(--font-body); font-style:normal; place-items:center; }
.landscape-ribbon span { margin-top:44px; color:var(--acid); font-size:11px; font-weight:850; letter-spacing:.11em; }
.landscape-ribbon article:nth-child(3) span { color:var(--violet); }
.landscape-ribbon strong { max-width:12ch; margin-top:10px; font-size:clamp(25px,2.25vw,34px); line-height:.98; letter-spacing:-.035em; }
.america-chapter--landscapes>aside { display:flex; max-width:980px; min-height:72px; padding:16px 22px; gap:22px; margin-top:25px; align-items:center; border-radius:27px 39px 29px 36px; background:rgba(255,255,255,.58); }
.america-chapter--landscapes>aside strong { color:var(--violet); white-space:nowrap; }
.america-chapter--landscapes>aside p { margin:0; max-width:800px; }
.america-chapter--landscapes>button { background:var(--acid) !important; color:var(--ink) !important; }
.america-chapter--landscapes>button b { color:var(--violet); }
.america-chapter--check { display:grid; grid-template-columns:1fr .5fr; align-items:center; padding:clamp(48px,6vw,90px); background:var(--violet); color:white; }
.america-chapter--check h2 i { color:var(--acid); }
.america-choices { display:grid; gap:11px; }
.america-choices button { display:grid; grid-template-columns:50px 1fr; align-items:center; gap:14px; min-height:75px; padding:10px 20px 10px 10px; border:0; border-radius:54px 72px 48px 78px / 62px 46px 74px 52px; background:white; color:var(--ink); text-align:left; font-weight:800; }
.america-choices button i { display:grid; width:48px; height:48px; border-radius:50%; background:var(--pink); font-style:normal; place-items:center; }
.america-choices button.is-correct { background:var(--acid); transform:scale(1.025); }
.america-choices button.is-wrong { opacity:.58; }
.america-chapter--check aside { margin-top:18px; padding:20px 24px; border-radius:60% 40% 53% 47% / 55% 44% 56% 45%; background:var(--oat); color:var(--ink); }
.america-chapter--check aside p { margin:6px 0 0; }
.america-chapter__teacher { width:420px; height:570px; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 20px 16px rgba(38,38,43,.2)); }

/* ===========================================================================
   ORGANIC TYPE-SAFETY CONTRACT
   Organic silhouettes must never use their copy as an accidental minimum
   width, and text must remain composed at every supported breakpoint.
   ========================================================================== */
body.final-brand :where(section,article,aside,header,footer,nav,button,a,div) { min-width:0; }
body.final-brand :where(h1,h2,h3,h4,p,blockquote,figcaption) {
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
body.final-brand :where(h1,h2,h3) { text-wrap:balance; }
body.final-brand :where(button,a) :where(span,strong,b,small,em) { min-width:0; }

:where(
  .home-schedule__banner,
  .home-schedule__orbit,
  .home-world,
  .home-family>aside,
  .home-footer__launch,
  .launch-schedule>header,
  .launch-schedule__flow>button,
  .launch-schedule__flow>article,
  .reading-clock,
  .reading-passage,
  .english-chapter,
  .english-choices button,
  .country-stops article,
  .landscape-ribbon article,
  .america-choices button,
  .word-garden__seeds>button,
  .wildworld-picker__world,
  .wildworld-choice,
  .wildworld-geo__answers button,
  .wildworld-complete__fact
) :where(h1,h2,h3,p,strong,small) {
  max-width:100%;
  word-break:normal;
  hyphens:none;
}

@keyframes map-ping { 0%,100%{transform:scale(.8);opacity:.72} 50%{transform:scale(1.22);opacity:1} }
@keyframes launch-scene-in { 0%{opacity:0;transform:translateY(28px) scale(.96)} 100%{opacity:1;transform:none} }
.home-hero__scene.is-active .home-hero__art .home-hero__blob--science-helper { animation:launch-scene-in .7s var(--ease-spring) .15s both,blob-helper-bounce 3.2s ease-in-out 1s infinite; }
.home-hero__scene.is-active .home-hero__art .home-hero__blob--science-peeker { animation:launch-scene-in .7s var(--ease-spring) .25s both,blob-peek-drift 3.8s ease-in-out 1s infinite; }
.home-hero__scene.is-active .home-hero__art .home-hero__blob--maths-solver { animation:launch-scene-in .7s var(--ease-spring) .18s both,blob-solver-think 3.5s ease-in-out 1s infinite; }
.home-hero__scene.is-active .home-hero__art .home-hero__blob--french-storyteller { animation:launch-scene-in .7s var(--ease-spring) .2s both,blob-story-sway 3s ease-in-out 1s infinite; }
.home-hero__scene.is-active .home-hero__copy,.home-hero__scene.is-active .home-hero__art,.home-hero__scene.is-active .home-hero__blob { animation:launch-scene-in .68s var(--ease-spring) both; }
.home-hero__scene.is-active .home-hero__art { animation-delay:.08s; }
.home-hero__scene.is-active .home-hero__blob--left { animation-delay:.16s; }
.home-hero__scene.is-active .home-hero__blob--right { animation-delay:.23s; }

/* ===========================================================================
   SHARED SESSION SHELL
   Signed-out visitors use the marketing banner. Authenticated users use one
   profile-led application rail, with the primary brand anchored on the right.
   ========================================================================== */
body.session-authenticated #app { padding-left: 148px; }
body.session-signed-out #app { padding-left: 0; }

.final-brand .app-shell-navigation {
  position: static;
  display: block;
  width: 0;
  min-height: 0;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.final-brand .app-shell-navigation::after { display: none; }

.app-rail {
  position: fixed;
  z-index: 180;
  inset: 0 auto 0 0;
  display: grid;
  width: 132px;
  height: 100dvh;
  padding: 20px 12px 16px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 24px;
  overflow: visible;
  background: linear-gradient(180deg, #7250df 0%, var(--violet) 48%, #6d48d7 100%);
  color: white;
  box-shadow: 14px 0 42px rgba(64, 42, 120, .12);
}

.app-rail::before,
.app-rail::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  content: '';
  pointer-events: none;
}

.app-rail::before { top: 32%; left: -64px; width: 176px; height: 176px; }
.app-rail::after { right: -58px; bottom: 6%; width: 130px; height: 130px; }
.app-rail__identity { position: relative; z-index: 4; }
.app-rail__identity .role-menu { width: 100%; }
.app-rail__identity .role-menu__trigger {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  width: 100%;
  min-height: 106px;
  padding: 8px 4px 10px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 34px 42px 31px 39px / 38px 32px 45px 35px;
  justify-items: center;
  gap: 7px;
  background: rgba(255, 255, 255, .12);
  color: white;
  box-shadow: none;
}

.app-rail__identity .learner-avatar,
.app-rail__identity .grownup-avatar {
  width: 62px;
  height: 62px;
  border: 3px solid white;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(42, 24, 96, .2);
}

.app-rail__identity .role-menu__name {
  display: block;
  width: 92px;
  overflow: hidden;
  color: white;
  font: 850 10px/1 var(--font-display);
  letter-spacing: .06em;
  text-align: center;
  text-overflow: ellipsis;
}

.app-rail__identity .role-menu__chevron { display: none; }
.app-rail__identity .role-menu__panel { position: fixed; top: 22px; right: auto; left: 144px; color: var(--ink); }

.final-brand .app-rail__nav {
  display: grid;
  align-content: center;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  gap: 8px;
  overflow: visible;
  background: transparent;
}

.final-brand .app-rail__nav button,
.final-brand .app-rail__nav button:last-child {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 72px;
  padding: 9px 5px;
  border: 1px solid transparent;
  border-radius: 25px 32px 23px 29px / 30px 24px 34px 26px;
  justify-items: center;
  gap: 7px;
  background: transparent;
  color: rgba(255, 255, 255, .76);
  font: 800 10px/1 var(--font-display);
  white-space: normal;
  transition: transform .2s var(--ease-spring), background .2s ease, color .2s ease;
}

.final-brand .app-rail__nav button::after { display: none; }
.final-brand .app-rail__nav button:hover { background: rgba(255, 255, 255, .12); color: white; transform: translateX(3px); }
.final-brand .app-rail__nav button.is-active {
  border-color: rgba(255, 255, 255, .22);
  background: var(--acid);
  color: var(--ink);
  box-shadow: 0 10px 22px rgba(54, 34, 108, .2);
  transform: translateX(5px) rotate(-.7deg);
}

.app-rail__nav button i { display: grid; width: 30px; height: 30px; font-style: normal; place-items: center; }
.app-rail__nav button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.app-rail__footer { position: relative; z-index: 2; display: grid; justify-items: center; gap: 8px; }
.app-rail__footer .language-switch { width: 94px; min-width: 94px; background: rgba(255, 255, 255, .14); }
.app-rail__footer .language-switch span { color: rgba(255, 255, 255, .72); }
.app-rail__footer .language-switch span.is-active { background: white; color: var(--violet); }
.app-rail__sign-out {
  display: grid;
  width: 94px;
  min-height: 46px;
  padding: 6px;
  border: 0;
  border-radius: 18px 24px 17px 22px;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 5px;
  background: transparent;
  color: rgba(255, 255, 255, .68);
  font: 750 9px/1 var(--font-display);
}
.app-rail__sign-out:hover { background: rgba(255, 255, 255, .12); color: white; }
.app-rail__sign-out svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.final-brand .app-shell__logo {
  position: fixed;
  z-index: 170;
  top: 22px;
  right: 28px;
  display: grid;
  width: 124px;
  min-height: 86px;
  padding: 3px;
  border: 1px solid rgba(38, 38, 43, .06);
  border-radius: 30px 42px 28px 38px / 38px 29px 44px 31px;
  overflow: visible;
  background: rgba(255, 253, 250, .88);
  box-shadow: 0 14px 38px rgba(38, 38, 43, .09);
  backdrop-filter: blur(16px) saturate(1.25);
  place-items: center;
}

.final-brand .app-shell__logo .brand { width: 116px; transform: none; }
.session-authenticated .learner-main,
.session-authenticated .grownup-main,
.session-authenticated .launch-schedule { padding-top: 108px; }
.session-authenticated .approved-home { margin-top: 122px; }
.session-authenticated .home-after { margin-top: clamp(55px, 7vw, 110px); }
.session-authenticated .immersive-nav { left: 132px; padding-right: 24px; }
.session-authenticated .immersive-nav__logo { order: 2; }
.session-authenticated .immersive-nav__back { order: 1; }
.app-shell-navigation:has(+ .immersive-nav) .app-shell__logo,
#app:has(.division-course-header) .app-shell__logo { display: none; }
body.session-authenticated:has(.maths-pilot-sidebar) #app { padding-left: 0; }
#app:has(.maths-pilot-sidebar) .app-shell-navigation { display: none; }

/* Signed-out marketing shell */
.marketing-header {
  position: sticky;
  z-index: 220;
  top: 14px;
  display: grid;
  width: min(1480px, calc(100% - 32px));
  min-height: 88px;
  margin: 14px auto 0;
  padding: 9px 11px 9px 18px;
  border: 1px solid rgba(38, 38, 43, .07);
  border-radius: 34px 47px 36px 43px / 42px 33px 48px 36px;
  grid-template-columns: 142px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  background: rgba(255, 253, 250, .9);
  box-shadow: 0 18px 52px rgba(38, 38, 43, .09);
  backdrop-filter: blur(18px) saturate(1.3);
}

.marketing-header__brand { display: grid; width: 112px; }
.marketing-header__brand .brand { width: 112px; }
.marketing-header > nav { display: flex; justify-content: center; align-items: center; gap: clamp(12px, 2.3vw, 38px); }
.marketing-header > nav a { position: relative; padding: 12px 0; color: rgba(38, 38, 43, .7); font: 750 13px/1 var(--font-display); }
.marketing-header > nav a::after { position: absolute; right: 50%; bottom: 5px; left: 50%; height: 3px; border-radius: 99px; background: var(--coral); content: ''; transition: inset .2s ease; }
.marketing-header > nav a:hover::after { right: 0; left: 0; }
.marketing-header__actions { display: flex; align-items: center; gap: 7px; }
.marketing-header__actions .language-switch { margin-right: 3px; }
.marketing-login,
.marketing-start { min-height: 50px; padding: 0 18px; border: 0; border-radius: 999px; font: 800 12px/1 var(--font-display); }
.marketing-login { background: var(--oat); }
.marketing-start { display: flex; min-width: 180px; align-items: center; justify-content: space-between; gap: 18px; background: var(--ink); color: white; }
.marketing-start span { color: var(--acid); font-size: 18px; }

.marketing-main { width: min(100% - 32px, 1560px); margin: 16px auto 0; }
.marketing-hero {
  position: relative;
  display: grid;
  min-height: min(770px, calc(100vh - 138px));
  padding: clamp(52px, 7vw, 100px);
  border-radius: 72px 110px 66px 126px / 98px 72px 122px 84px;
  grid-template-columns: minmax(0, .95fr) minmax(430px, .7fr);
  align-items: center;
  gap: clamp(35px, 7vw, 110px);
  overflow: hidden;
  background: var(--violet);
  color: white;
  isolation: isolate;
}
.marketing-hero::before { position: absolute; z-index: -1; right: -8%; bottom: -24%; width: 48%; aspect-ratio: 1; border-radius: 56% 44% 62% 38% / 44% 60% 40% 56%; background: var(--pink); content: ''; transform: rotate(17deg); }
.marketing-hero__copy { position: relative; z-index: 4; }
.marketing-hero__copy > span,
.marketing-method header > span,
.marketing-worlds > div > span,
.marketing-families span { color: var(--acid); font: 850 12px/1 var(--font-display); letter-spacing: .14em; text-transform: uppercase; }
.marketing-hero__copy h1 { margin: 24px 0 26px; font: 900 clamp(62px, 6.7vw, 108px)/.78 var(--font-display); letter-spacing: -.078em; text-transform: uppercase; }
.marketing-hero__copy h1 i { color: var(--acid); }
.marketing-hero__copy p { max-width: 680px; margin: 0; color: rgba(255, 255, 255, .82); font-size: clamp(17px, 1.45vw, 21px); line-height: 1.5; }
.marketing-hero__copy > div { display: flex; margin-top: 34px; align-items: center; gap: 22px; flex-wrap: wrap; }
.marketing-hero__copy > div button { display: flex; min-height: 62px; padding: 0 16px 0 24px; border: 0; border-radius: 28px 38px 30px 36px; align-items: center; gap: 28px; background: var(--acid); color: var(--ink); font-weight: 850; }
.marketing-hero__copy > div button b { display: grid; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: white; place-items: center; }
.marketing-hero__copy > div a { padding: 12px 3px; border-bottom: 2px solid rgba(255, 255, 255, .48); font-weight: 800; }
.marketing-hero__world { position: relative; align-self: stretch; min-height: 520px; }
.marketing-hero__world::before { position: absolute; inset: 8% 1% 2% 5%; border-radius: 49% 51% 45% 55% / 55% 43% 57% 45%; background: var(--sun); content: ''; transform: rotate(-7deg); }
.marketing-hero__teacher { position: absolute; z-index: 3; right: -13%; bottom: -13%; width: 116%; height: 116%; object-fit: contain; object-position: center bottom; }
.marketing-hero__buddy { position: absolute; z-index: 6; bottom: -8%; left: -19%; width: 220px; height: 220px; transform: rotate(-8deg); }
.marketing-hero__orbit { position: absolute; z-index: 5; top: 6%; right: -7%; display: grid; width: 150px; aspect-ratio: 1; padding: 25px; border-radius: 50%; background: var(--coral); color: var(--ink); font: 900 11px/1.4 var(--font-display); text-align: center; place-items: center; transform: rotate(9deg); }
.marketing-hero__world > strong { position: absolute; z-index: 5; right: 3%; bottom: 7%; display: grid; width: 98px; height: 88px; border-radius: 36px 48px 34px 44px; background: var(--acid); color: var(--ink); font: 900 24px/1 var(--font-display); place-items: center; transform: rotate(8deg); }

.marketing-method { padding: clamp(95px, 11vw, 170px) clamp(12px, 5vw, 76px); }
.marketing-method header { display: grid; margin-bottom: 58px; grid-template-columns: .85fr 1.15fr; align-items: end; gap: 40px; }
.marketing-method header > span { color: var(--violet); align-self: start; }
.marketing-method h2,
.marketing-worlds h2,
.marketing-families h2 { margin: 0; font: 900 clamp(52px, 6.3vw, 96px)/.8 var(--font-display); letter-spacing: -.073em; text-transform: uppercase; }
.marketing-method h2 i { color: var(--violet); }
.marketing-method > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.marketing-method article { display: flex; min-height: 330px; padding: 30px; border-radius: 48px 66px 44px 72px / 62px 48px 74px 51px; flex-direction: column; background: var(--oat); }
.marketing-method article:nth-child(2) { background: var(--acid); transform: translateY(24px) rotate(.5deg); }
.marketing-method article:nth-child(3) { background: var(--coral); transform: rotate(-.5deg); }
.marketing-method article b { color: var(--violet); font: 900 16px/1 var(--font-display); }
.marketing-method article strong { margin-top: auto; font: 900 clamp(35px, 3.4vw, 52px)/.9 var(--font-display); }
.marketing-method article p { max-width: 32ch; margin: 16px 0 0; line-height: 1.5; }

.marketing-worlds { display: grid; min-height: 610px; padding: clamp(55px, 7vw, 100px); border-radius: 74px 104px 68px 116px / 96px 70px 112px 82px; grid-template-columns: 1fr .55fr; align-items: center; overflow: hidden; background: var(--pink); }
.marketing-worlds h2 { margin-top: 24px; }
.marketing-worlds h2 i { color: var(--coral); }
.marketing-worlds p { max-width: 670px; margin: 28px 0 0; font-size: 19px; line-height: 1.55; }
.marketing-worlds aside { width: min(420px, 38vw); height: min(420px, 38vw); justify-self: center; }
.marketing-families { display: flex; min-height: 450px; margin: clamp(85px, 10vw, 150px) 0 24px; padding: clamp(52px, 7vw, 100px); border-radius: 72px 108px 66px 120px; align-items: end; justify-content: space-between; gap: 50px; background: var(--ink); color: white; }
.marketing-families span { color: var(--pink); }
.marketing-families h2 { margin-top: 25px; }
.marketing-families h2 i { color: var(--acid); }
.marketing-families > button { display: flex; min-width: 270px; min-height: 64px; padding: 0 20px 0 24px; border: 0; border-radius: 28px 39px 30px 36px; align-items: center; justify-content: space-between; gap: 22px; background: var(--acid); color: var(--ink); font-weight: 850; }
.marketing-families > button b { font-size: 20px; }

@media (max-width: 1120px) {
  .marketing-header { grid-template-columns: 112px minmax(0, 1fr) auto; gap: 10px; }
  .marketing-header > nav { gap: 14px; }
  .marketing-header__actions .language-switch { display: none; }
  .marketing-login { display: none; }
  .marketing-hero { grid-template-columns: 1fr .68fr; }
  .marketing-hero__world { min-height: 460px; }
}

@media (max-width: 900px) {
  body.session-authenticated #app { padding: 0 0 96px; }
  .app-rail {
    inset: auto 8px 8px;
    width: auto;
    height: 80px;
    padding: 7px;
    border-radius: 28px 36px 27px 34px;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    grid-template-rows: 1fr;
    gap: 5px;
    background: rgba(103, 69, 211, .96);
    box-shadow: 0 18px 48px rgba(42, 24, 96, .28);
    backdrop-filter: blur(16px);
  }
  .app-rail__identity .role-menu__trigger { min-height: 66px; padding: 4px; border-radius: 24px; }
  .app-rail__identity .learner-avatar,
  .app-rail__identity .grownup-avatar { width: 52px; height: 52px; }
  .app-rail__identity .role-menu__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .app-rail__identity .role-menu__panel { top: auto; right: 8px; bottom: 94px; left: 8px; width: calc(100% - 16px); }
  .app-rail__identity { grid-column: 1; grid-row: 1; }
  .final-brand .app-shell-navigation .app-rail .app-rail__nav { position: static; grid-column: 2 !important; grid-row: 1 !important; display: flex; width: 100%; align-items: stretch; justify-content: space-around; gap: 2px; overflow: visible; box-shadow: none; }
  .final-brand .app-rail__nav button,
  .final-brand .app-rail__nav button:last-child { min-height: 66px; padding: 5px 3px; border-radius: 20px; flex: 1 1 0; gap: 4px; font-size: 9px; }
  .final-brand .app-rail__nav button.is-active { transform: translateY(-4px); }
  .app-rail__nav button i { width: 24px; height: 24px; }
  .app-rail__nav button svg { width: 21px; height: 21px; }
  .app-rail__footer { grid-column: 3; grid-row: 1; align-self: center; }
  .app-rail__footer .language-switch { width: 74px; min-width: 74px; }
  .app-rail__sign-out { display: none; }
  .final-brand .app-shell__logo { top: 12px; right: 12px; width: 92px; min-height: 66px; }
  .final-brand .app-shell__logo .brand { width: 86px; }
  .session-authenticated .learner-main,
  .session-authenticated .grownup-main,
  .session-authenticated .launch-schedule { padding-top: 86px; }
  .session-authenticated .approved-home { display: none !important; margin-top: 0; }
  .session-authenticated .approved-home-mobile { display: block !important; padding-top: 88px; }
  .session-authenticated .immersive-nav { left: 0; padding-right: 12px; }
  .marketing-header { top: 8px; width: calc(100% - 16px); min-height: 72px; margin-top: 8px; padding: 7px 8px 7px 12px; grid-template-columns: 88px 1fr; }
  .marketing-header__brand,
  .marketing-header__brand .brand { width: 84px; }
  .marketing-header > nav { display: none; }
  .marketing-header__actions { justify-self: end; }
  .marketing-start { min-width: 0; min-height: 48px; padding-inline: 15px; }
  .marketing-start span { display: none; }
  .marketing-main { width: calc(100% - 16px); margin-top: 8px; }
  .marketing-hero { min-height: 820px; padding: 50px 25px 300px; grid-template-columns: 1fr; align-content: start; }
  .marketing-hero__copy h1 { font-size: clamp(52px, 13vw, 82px); }
  .marketing-hero__world { position: absolute; right: 0; bottom: 0; left: 18%; min-height: 360px; }
  .marketing-hero__buddy { left: -18%; width: 160px; height: 160px; }
  .marketing-hero__orbit { top: 2%; right: 2%; width: 110px; }
  .marketing-method header { grid-template-columns: 1fr; }
  .marketing-method > div { grid-template-columns: 1fr; }
  .marketing-method article:nth-child(2) { transform: none; }
  .marketing-worlds { grid-template-columns: 1fr; }
  .marketing-worlds aside { width: 280px; height: 280px; }
  .marketing-families { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .app-rail { grid-template-columns: 56px minmax(0, 1fr) 60px; }
  .app-rail__identity .learner-avatar,
  .app-rail__identity .grownup-avatar { width: 46px; height: 46px; }
  .app-rail__footer .language-switch { width: 56px; min-width: 56px; padding: 2px; }
  .app-rail__footer .language-switch span { font-size: 8px; }
  .final-brand .app-rail__nav button span { font-size: 8px; }
  .marketing-start { max-width: 155px; font-size: 10px; }
  .marketing-hero { padding-inline: 20px; }
  .marketing-hero__copy h1 { font-size: clamp(45px, 14vw, 64px); }
  .marketing-hero__copy > div { align-items: flex-start; flex-direction: column; }
  .marketing-method,
  .marketing-worlds,
  .marketing-families { padding-inline: 24px; }
  .marketing-method h2,
  .marketing-worlds h2,
  .marketing-families h2 { font-size: clamp(44px, 13vw, 64px); }
  .marketing-families > button { min-width: 0; width: 100%; }
}

@media (max-width:1050px) {
  .home-hero__scene { grid-template-columns:1fr .85fr; }
  .home-hero__blob--left { left:40%; }
  .home-worlds>div { grid-template-columns:1fr 1fr; }
  .home-footer { grid-template-columns:1.3fr .7fr .7fr; }
  .home-footer__launch { grid-column:1/-1; min-height:220px; }
  .reading-workbench { grid-template-columns:1fr; }
  .reading-clock { min-height:480px; border-radius:72px 108px 66px 120px / 92px 70px 115px 80px; }
}

@media (max-width:900px) {
  .approved-home { display:none !important; }
  .approved-home-mobile { display:block !important; }
  .approved-home-mobile>.topbar { position:relative; z-index:30; }
  .approved-home-mobile>main { width:calc(100% - 20px); margin:12px auto 0; }
  .approved-home-mobile .home-hero { min-height:760px; }
  .home-hero__scene { grid-template-columns:1fr; align-content:start; padding:46px 25px 100px; }
  .home-hero__copy h1 { font-size:clamp(52px,13vw,86px); }
  .home-hero__copy>button { min-height:56px; margin-top:23px; }
  .home-hero__copy>small { margin-top:16px; }
  .home-hero__art { position:absolute; right:0; bottom:0; left:22%; height:52%; }
  .home-hero__teacher { right:-13%; width:102%; height:112%; }
  .home-hero__scene--science .home-hero__teacher { right:-14%; width:114%; }
  .home-hero__blob { width:145px; height:145px; }
  .home-hero__blob--science-helper { left:-10%; bottom:-1%; width:155px; height:155px; }
  .home-hero__blob--science-peeker { top:3%; right:-8%; width:118px; height:118px; }
  .home-hero__blob--maths-solver { left:-10%; bottom:-1%; width:165px; height:165px; }
  .home-hero__blob--french-storyteller { left:-12%; bottom:-1%; width:175px; height:175px; }
  .home-hero__number-rhythm,.home-hero__story-words { top:12%; left:4%; transform:scale(.72) rotate(-7deg); transform-origin:left top; }
  .home-hero__controls { right:14px; bottom:14px; }
  .home-after { margin-top:65px; }
  .home-schedule { width:calc(100% - 24px); padding-top:45px; }
  .home-schedule__banner { min-height:820px; padding:54px 34px 300px; grid-template-columns:1fr; align-content:start; }
  .home-schedule__copy>strong { font-size:clamp(64px,12vw,92px); }
  .home-schedule__orbit { position:absolute; right:10%; bottom:7%; width:270px; }
  .home-schedule__guide { right:-2%; bottom:-4%; width:190px; height:190px; }
  .home-schedule__trail { right:35%; bottom:7%; left:7%; }
  .home-today,.home-worlds,.home-family { width:calc(100% - 24px); }
  .home-today>header { grid-template-columns:1fr; gap:25px; }
  .home-today h2,.home-worlds h2,.home-family h2 { font-size:clamp(50px,12vw,78px); }
  .home-today__river { grid-template-columns:1fr 1fr; }
  .home-today__river>* { grid-column:auto !important; }
  .home-today__river::before { display:none; }
  .home-worlds>div { grid-template-columns:1fr; }
  .home-world--english { grid-row:auto; min-height:560px; }
  .home-world { min-height:460px; }
  .home-family { grid-template-columns:1fr; padding:58px 28px; }
  .home-family>aside { width:min(390px,90%); justify-self:center; }
  .home-footer { grid-template-columns:1fr 1fr; padding-inline:28px; }
  .home-footer__brand { grid-column:1/-1; }
  .home-footer__launch { grid-column:1/-1; }
  .launch-schedule>header { grid-template-columns:1fr; }
  .launch-schedule>header aside { width:min(330px,78vw); justify-self:center; }
  .launch-schedule__flow>button,.launch-schedule__flow>article { grid-template-columns:80px 54px 1fr 50px; }
  .launch-schedule__flow>*>i { display:none; }
  .launch-schedule__flow::before { left:98px; }
  .experience-mast { grid-template-columns:1fr; }
.experience-mast>.goodie-companion { width:300px; height:300px; justify-self:center; }
  .english-chapter--brief,.english-chapter--perform,.america-chapter--welcome,.america-chapter--check { grid-template-columns:1fr; }
  .english-chapter__teacher { position:relative; right:auto; bottom:auto; width:100%; height:460px; }
.english-chapter--perform>.goodie-companion { width:330px; height:330px; justify-self:center; }
  .country-stops,.landscape-ribbon { grid-template-columns:1fr; }
  .america-chapter__teacher { width:320px; height:400px; justify-self:center; }
}

@media (max-width:620px) {
  .home-hero { border-radius:42px 58px 40px 66px / 56px 42px 64px 46px; }
  .home-hero__scene { padding-inline:20px; }
  .home-hero__copy { width:100%; max-width:100%; }
  .home-hero__copy h1 { width:100%; max-width:100%; font-size:clamp(46px,14.2vw,66px); letter-spacing:-.055em; }
  .home-hero__scene--maths .home-hero__copy h1 { font-size:clamp(43px,13.2vw,59px); }
  .home-hero__scene--french .home-hero__copy h1 { font-size:clamp(40px,12vw,54px); }
  .home-hero__copy>span { margin-bottom:12px; }
  .home-hero__copy>button { max-width:88%; padding-left:20px; font-size:14px; }
  .home-hero__copy>small { font-size:12px; }
  .home-hero__blob { width:118px; height:118px; }
  .home-hero__blob--science-helper { left:-11%; bottom:0; width:126px; height:126px; }
  .home-hero__blob--science-peeker { top:4%; right:-9%; width:92px; height:92px; }
  .home-hero__blob--maths-solver { left:-11%; bottom:1%; width:135px; height:135px; }
  .home-hero__blob--french-storyteller { left:-12%; bottom:1%; width:142px; height:142px; }
  .home-hero__controls>button { width:42px; height:42px; }
  .approved-up-next { padding-inline:4px; }
  .home-schedule { width:calc(100% - 20px); padding-top:32px; }
  .home-schedule__banner { min-height:760px; padding:43px 22px 270px; border-radius:48px 72px 44px 80px / 65px 48px 76px 52px; }
  .home-schedule__copy>strong { font-size:clamp(51px,14.4vw,68px); }
  .home-schedule__copy>em { margin-top:20px; font-size:16px; }
  .home-schedule__copy>b { max-width:92%; margin-top:24px; padding-left:18px; font-size:14px; }
  .home-schedule__orbit { right:11%; bottom:6%; width:225px; }
  .home-schedule__orbit>strong { font-size:126px; }
  .home-schedule__guide { right:-7%; bottom:-3%; width:155px; height:155px; }
  .home-schedule__trail { right:36%; bottom:5%; left:5%; }
  .home-today__river { grid-template-columns:1fr; }
  .home-today__river>button,.home-today__river>article { min-height:220px; }
  .home-world { min-height:430px; padding:27px; }
  .home-world h3 { font-size:43px; }
  .home-world__teacher { width:87%; }
  .home-world>div { width:145px; height:145px; }
  .home-footer { grid-template-columns:1fr; }
  .home-footer nav,.home-footer__brand,.home-footer__launch { grid-column:1; }
  .home-footer__base { align-items:flex-start; flex-direction:column; }
  .launch-schedule { width:calc(100% - 20px); }
  .launch-schedule>header { padding:45px 22px; }
  .launch-schedule h1 { font-size:60px; }
  .launch-schedule__flow>button,.launch-schedule__flow>article { grid-template-columns:64px 44px 1fr; gap:10px; min-height:155px; padding:17px 15px; }
  .launch-schedule__flow>*>b { grid-column:3; grid-row:2; width:42px; height:42px; }
  .launch-schedule__flow time { font-size:28px; }
  .launch-schedule__flow>*>span { width:42px; height:42px; }
  .launch-schedule__flow strong { font-size:25px; }
  .launch-schedule__flow::before { display:none; }
  .learning-experience { padding:92px 10px 60px; }
  .learning-experience .experience-bar { min-height:82px; padding:12px 4px 18px; }
  .experience-bar time { display:none; }
  .experience-progress { overflow-x:auto; justify-content:flex-start; padding:0 8px 8px; }
  .experience-progress button span { display:none; }
  .experience-progress button { padding:5px; }
  .experience-mast { padding:40px 22px; }
  .experience-mast h1,.english-chapter h2,.america-chapter h2 { font-size:clamp(52px,15vw,76px); }
.experience-mast>.goodie-companion { width:250px; height:250px; }
  .reading-clock { min-height:410px; padding:25px; }
  .reading-clock>strong { font-size:96px; }
  .reading-clock>div { flex-wrap:wrap; justify-content:center; }
  .reading-passage { padding:36px 22px; }
  .reading-passage>p { font-size:20px; }
  .english-chapter>div:first-child,.english-chapter--read,.english-chapter--challenge,.america-chapter--welcome,.america-chapter--countries,.america-chapter--landscapes,.america-chapter--check { padding:38px 22px; }
  .english-chapter--read header { grid-template-columns:1fr; }
  .english-chapter--read blockquote { padding:28px 23px; font-size:21px; }
  .english-chapter--read aside { flex-direction:column; }
  .english-choices { grid-template-columns:1fr; }
  .english-choices button { min-height:100px; }
.english-chapter--perform>.goodie-companion { width:250px; height:250px; }
  .country-stops article,.landscape-ribbon article { min-height:220px; }
  .south-america-map { margin-top:28px; }
}

@media (prefers-reduced-motion:reduce) {
  .home-hero__scene,.home-hero__scene.is-active .home-hero__copy,.home-hero__scene.is-active .home-hero__art,.home-hero__scene.is-active .home-hero__blob,.south-america-map circle { transition:none!important; animation:none!important; }
}

/* ─────────────────────────────────────────────────────────────
   MATHS COURSE · LES DIVISIONS POSÉES
   Reusable immersive course architecture: one thinking job/scene.
   ───────────────────────────────────────────────────────────── */
.division-course { padding-bottom:70px; background:var(--oat); }
.division-course .experience-bar { margin-bottom:18px; }
.division-course .experience-bar::after { background:var(--violet); }
.division-course .experience-bar div span { color:var(--emerald); }
.division-course .experience-bar time { background:var(--sun); }
.division-course h1 i::after,.division-course h2 i::after { display:none; }
.division-kicker { display:block; color:var(--violet); font:900 12px/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; }

.course-lab-progress { position:relative; z-index:4; display:flex; width:min(100%,1180px); margin:0 auto 28px; align-items:flex-start; justify-content:space-between; gap:4px; }
.course-lab-progress::before { position:absolute; z-index:-1; top:20px; right:3%; left:3%; height:3px; background:rgba(38,38,43,.13); content:""; }
.course-lab-progress>span { display:grid; min-width:74px; justify-items:center; gap:6px; color:rgba(38,38,43,.5); font-size:11px; font-weight:800; text-align:center; }
.course-lab-progress>span i { display:grid; width:42px; height:42px; border:3px solid var(--oat); border-radius:50%; background:#e1ded8; color:var(--ink); font:900 11px/1 var(--font-body); font-style:normal; place-items:center; box-shadow:0 4px 0 rgba(38,38,43,.09); }
.course-lab-progress>span.is-done,.course-lab-progress>span.is-current { color:var(--ink); }
.course-lab-progress>span.is-done i { background:var(--emerald); color:white; }
.course-lab-progress>span.is-current i { background:var(--acid); transform:scale(1.13) rotate(-4deg); }

.division-stage { position:relative; width:min(100%,1500px); min-height:670px; margin:0 auto; padding:clamp(42px,5.5vw,84px); overflow:hidden; border-radius:72px 108px 66px 118px; background:var(--soft); box-shadow:0 18px 0 rgba(38,38,43,.1); animation:division-stage-in .55s var(--ease-spring) both; }
.division-stage>header { max-width:1050px; margin-bottom:34px; }
.division-stage h1,.division-stage h2 { margin:16px 0 22px; font:950 clamp(66px,7.2vw,116px)/.78 var(--font-display); letter-spacing:-.075em; text-transform:uppercase; text-wrap:balance; }
.division-stage h2 i { color:var(--violet); }
.division-stage>header>p,.division-launch__copy>p { max-width:770px; margin:0; font-size:clamp(18px,1.5vw,23px); font-weight:650; line-height:1.42; }
.division-continue,.division-check,.division-question__next { display:inline-flex; min-height:62px; margin-top:28px; padding:7px 8px 7px 25px; border:0; border-radius:28px 36px 31px 34px; align-items:center; gap:28px; background:var(--coral); color:var(--ink); font-weight:900; cursor:pointer; box-shadow:0 9px 0 rgba(38,38,43,.13); transition:transform .25s var(--ease-spring),box-shadow .25s ease; }
.division-continue:hover,.division-check:hover,.division-question__next:hover { transform:translateY(-4px) rotate(-.4deg); box-shadow:0 13px 0 rgba(38,38,43,.11); }
.division-continue>b,.division-check>b,.division-question__next>b { display:grid; width:48px; height:48px; border-radius:18px 22px 17px 21px; background:white; color:var(--ink); font-size:22px; place-items:center; }
.division-continue[disabled] { filter:saturate(.15); }
.division-feedback { position:relative; max-width:820px; margin:24px 0 0; padding:20px 26px 20px 31px; border-left:8px solid var(--coral); border-radius:0 32px 26px 0; background:rgba(255,255,255,.83); color:var(--ink); box-shadow:0 7px 0 rgba(38,38,43,.08); }
.division-feedback.is-correct { border-color:var(--emerald); }
.division-feedback strong { display:block; font-size:20px; }
.division-feedback p { margin:5px 0 0; font-size:16px; line-height:1.42; }

/* Mission launch */
.division-stage--launch { display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:35px; background:var(--sun); }
.division-launch__copy { position:relative; z-index:2; }
.division-stage--launch h1 { font-size:clamp(78px,8.3vw,134px); }
.division-stage--launch h1 i { color:var(--violet); }
.division-objectives { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.division-objectives strong { display:flex; min-height:50px; padding:8px 16px 8px 8px; border-radius:20px 28px 18px 25px; align-items:center; gap:10px; background:rgba(255,255,255,.76); font-size:14px; }
.division-objectives i { display:grid; width:34px; height:34px; border-radius:13px 16px 12px 15px; background:var(--violet); color:white; font:900 11px/1 var(--font-body); font-style:normal; place-items:center; }
.division-launch__cast { position:relative; align-self:stretch; min-height:540px; }
.division-launch__cast::before { position:absolute; right:2%; bottom:5%; width:92%; height:76%; border-radius:96px 132px 82px 120px; background:var(--pink); content:""; transform:rotate(2deg); }
.division-launch__teacher { position:absolute; z-index:2; right:1%; bottom:-7%; width:84%; height:105%; object-fit:contain; object-position:right bottom; filter:drop-shadow(0 20px 14px rgba(38,38,43,.2)); animation:division-teacher-in .7s .12s var(--ease-spring) both; }
.division-launch__blob { position:absolute; z-index:4; bottom:-2%; left:-4%; width:210px; height:210px; }
.division-launch__blob>.goodie-companion { width:100%; height:100%; }
.division-launch__blob>span:not(.goodie-companion) { position:absolute; top:-6px; left:73%; width:max-content; padding:10px 15px; background:white; font:900 14px/1 var(--font-display); transform:rotate(-6deg); }
.division-launch__number { position:absolute; z-index:3; top:7%; left:-3%; display:flex; gap:7px; transform:rotate(-5deg); }
.division-launch__number span { display:grid; width:70px; height:82px; border-radius:22px 28px 19px 26px; background:var(--acid); font:950 50px/1 var(--font-display); place-items:center; box-shadow:0 8px 0 rgba(38,38,43,.12); }
.division-launch__number b { position:absolute; top:88px; left:56px; width:max-content; font:950 28px/1 var(--font-display); }

/* Concrete sharing */
.division-stage--concrete { background:var(--pink); }
.division-sharing-scene { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:28px; max-width:1100px; }
.division-money { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; }
.division-money>span { display:flex; min-height:125px; padding:18px; border-radius:30px 42px 28px 38px; align-items:center; justify-content:center; flex-direction:column; background:white; font:950 clamp(50px,5vw,78px)/.8 var(--font-display); box-shadow:0 10px 0 rgba(38,38,43,.1); }
.division-money>span:nth-child(2) { background:var(--sun); }
.division-money>span:nth-child(3) { background:var(--coral); }
.division-money>span small { margin-top:14px; font:800 12px/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }
.division-people { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.division-people i { display:grid; aspect-ratio:1; border-radius:22px 31px 21px 29px; background:var(--violet); color:white; font:900 20px/1 var(--font-display); font-style:normal; place-items:center; box-shadow:0 7px 0 rgba(38,38,43,.11); transform:rotate(calc((var(--person) - 2.5) * 1deg)); }
.division-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; max-width:1000px; margin-top:30px; }
.division-choice-grid button { display:flex; min-height:84px; padding:17px 19px; border:0; border-radius:28px 39px 25px 36px; align-items:center; justify-content:space-between; background:white; font:900 clamp(17px,1.5vw,22px)/1.05 var(--font-display); cursor:pointer; box-shadow:0 8px 0 rgba(38,38,43,.09); transition:transform .22s var(--ease-spring); }
.division-choice-grid button:nth-child(2) { border-radius:38px 25px 37px 28px; }
.division-choice-grid button:nth-child(3) { border-radius:25px 38px 30px 36px; }
.division-choice-grid button:hover { transform:translateY(-4px); }
.division-choice-grid button i { display:grid; width:42px; height:42px; border-radius:15px 19px 14px 18px; background:var(--oat); font-style:normal; place-items:center; }
.division-choice-grid button.is-correct { background:var(--acid); transform:scale(1.025) rotate(-.35deg); }
.division-choice-grid button.is-wrong { background:rgba(255,255,255,.58); opacity:.7; }

/* Place-value exchange machine */
.division-stage--exchange { background:var(--violet); color:white; }
.division-stage--exchange .division-kicker,.division-stage--exchange h2 i { color:var(--acid); }
.exchange-machine { display:grid; grid-template-columns:1fr 65px .8fr 65px 1fr; align-items:center; gap:14px; max-width:1120px; }
.exchange-machine>div { display:flex; min-height:165px; padding:22px; border-radius:38px 52px 34px 47px; align-items:center; justify-content:center; flex-direction:column; background:var(--oat); color:var(--ink); box-shadow:0 12px 0 rgba(38,38,43,.16); }
.exchange-machine>div>span { font:950 clamp(64px,6vw,92px)/.75 var(--font-display); }
.exchange-machine>div>small { margin-top:15px; font-weight:850; }
.exchange-machine>b { color:var(--acid); font:950 45px/1 var(--font-display); text-align:center; animation:division-arrow 1.15s ease-in-out infinite; }
.exchange-machine>.exchange-machine__middle { min-height:125px; background:var(--coral); transform:rotate(-2deg); }
.exchange-machine>.exchange-machine__middle>span { font-size:42px; }
.exchange-equation { display:flex; max-width:1120px; margin-top:24px; padding:18px 24px; border-radius:28px 39px 25px 36px; align-items:center; justify-content:center; gap:18px; background:rgba(255,255,255,.14); font-weight:800; }
.exchange-equation b { color:var(--acid); font-size:28px; }
.exchange-equation strong { display:grid; width:52px; height:52px; border-radius:17px 22px 16px 20px; background:var(--acid); color:var(--ink); font-size:28px; place-items:center; }
.division-choice-grid--light button { color:var(--ink); }

/* Algorithm builder */
.division-stage--algorithm { background:var(--soft); }
.division-algorithm-layout { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:52px; }
.division-potence { position:relative; display:grid; grid-template-columns:1.4fr .72fr; grid-template-rows:1fr 1fr; width:min(100%,460px); min-height:250px; padding:24px; border-radius:40px 55px 36px 50px; background:var(--sun); box-shadow:0 13px 0 rgba(38,38,43,.11); }
.division-potence>div { display:grid; place-items:center; font:950 clamp(48px,5vw,76px)/1 var(--font-display); }
.division-potence__divisor { border-bottom:8px solid var(--ink); border-left:8px solid var(--ink); }
.division-potence__quotient { border-left:8px solid var(--ink); color:var(--violet); }
.division-potence__remainder { font-size:17px!important; }
.division-quotient-slots { position:absolute; right:25px; bottom:28px; display:flex; gap:6px; }
.division-quotient-slots span { display:grid; width:54px; height:64px; border-radius:16px 20px 15px 19px; background:rgba(255,255,255,.82); color:var(--violet); font:950 40px/1 var(--font-display); place-items:center; }
.division-quotient-slots span.is-filled { background:var(--acid); animation:division-digit-pop .4s var(--ease-spring); }
.division-algorithm-story { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.division-algorithm-story li { display:grid; grid-template-columns:52px 1fr; min-height:72px; padding:10px 18px 10px 10px; border-radius:24px 34px 22px 31px; align-items:center; gap:14px; background:white; opacity:.48; }
.division-algorithm-story li.is-current,.division-algorithm-story li.is-done { opacity:1; }
.division-algorithm-story li.is-current { background:var(--pink); transform:translateX(10px); }
.division-algorithm-story li.is-done { background:var(--acid); }
.division-algorithm-story i { display:grid; width:48px; height:48px; border-radius:16px 20px 15px 19px; background:var(--violet); color:white; font-style:normal; place-items:center; }
.division-algorithm-story span { font-size:18px; font-weight:750; }
.division-digit-bank { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.division-digit-bank button { display:grid; width:66px; height:66px; border:0; border-radius:21px 28px 19px 25px; background:var(--violet); color:white; font:950 30px/1 var(--font-display); cursor:pointer; place-items:center; box-shadow:0 7px 0 rgba(38,38,43,.11); }
.division-digit-bank .division-digit-bank__erase { width:auto; padding:0 20px; background:var(--oat); color:var(--ink); font-size:14px; }

/* Quiz and true/false */
.division-stage--quiz { background:var(--emerald); color:white; }
.division-stage--quiz .division-kicker,.division-stage--quiz h2 i { color:var(--sun); }
.division-question { max-width:1100px; }
.division-question__count { display:flex; align-items:baseline; gap:8px; color:var(--acid); }
.division-question__count span { font:950 46px/1 var(--font-display); }
.division-question__count small { font-weight:850; }
.division-question h3 { max-width:1020px; margin:18px 0 25px; font:900 clamp(30px,3.1vw,48px)/1.02 var(--font-display); letter-spacing:-.035em; }
.division-answers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.division-answers button { display:flex; min-height:130px; padding:22px; border:0; border-radius:32px 44px 29px 40px; align-items:center; justify-content:space-between; background:var(--oat); color:var(--ink); font:900 clamp(18px,1.8vw,27px)/1.1 var(--font-display); cursor:pointer; box-shadow:0 10px 0 rgba(38,38,43,.13); }
.division-answers button:nth-child(2) { border-radius:45px 30px 42px 33px; }
.division-answers button i { display:grid; width:46px; height:46px; border-radius:16px 21px 15px 20px; background:var(--violet); color:white; font-style:normal; place-items:center; }
.division-answers button.is-correct { background:var(--acid); transform:scale(1.035) rotate(-.35deg); }
.division-answers button.is-wrong { opacity:.57; }
.division-stage--truth { background:var(--coral); }
.division-stage--truth h2 i { color:white; }
.truth-arena { max-width:1050px; }
.truth-arena>span { color:var(--violet); font-weight:900; letter-spacing:.1em; }
.truth-arena blockquote { max-width:1000px; margin:18px 0 30px; font:900 clamp(34px,4.1vw,64px)/1.02 var(--font-display); letter-spacing:-.045em; }
.truth-arena>div { display:flex; gap:14px; }
.truth-arena>div>button { display:flex; width:220px; min-height:90px; padding:16px 18px; border:0; border-radius:30px 41px 27px 38px; align-items:center; justify-content:space-between; background:var(--oat); font:950 25px/1 var(--font-display); cursor:pointer; box-shadow:0 9px 0 rgba(38,38,43,.13); }
.truth-arena>div>button:nth-child(2) { background:var(--violet); color:white; }
.truth-arena>div>button i { display:grid; width:48px; height:48px; border-radius:17px 22px 16px 20px; background:white; color:var(--ink); font-style:normal; place-items:center; }
.truth-arena>div>button.is-correct { background:var(--acid); color:var(--ink); transform:scale(1.04) rotate(-1deg); }
.truth-arena>div>button.is-wrong { opacity:.55; }

/* Practice and assessment */
.division-stage--practice { background:var(--pink); }
.practice-workbench { display:grid; gap:13px; max-width:1120px; }
.practice-workbench label { display:grid; grid-template-columns:62px 1fr 30px 180px minmax(150px,.8fr); min-height:98px; padding:14px 20px 14px 14px; border-radius:30px 43px 27px 39px; align-items:center; gap:16px; background:white; box-shadow:0 8px 0 rgba(38,38,43,.08); }
.practice-workbench label>span { display:grid; width:56px; height:56px; border-radius:19px 24px 17px 22px; background:var(--violet); color:white; font-weight:900; place-items:center; }
.practice-workbench label>strong { font-size:clamp(24px,2.7vw,42px); }
.practice-workbench label>i { font-size:25px; font-style:normal; }
.practice-workbench input,.assessment-grid input { width:100%; min-width:0; height:62px; padding:0 16px; border:3px solid transparent; border-radius:20px 27px 18px 24px; background:var(--oat); color:var(--ink); font:900 26px/1 var(--font-display); text-align:center; }
.practice-workbench label>small { font-size:13px; font-weight:750; line-height:1.25; }
.practice-workbench label.is-correct { background:var(--acid); }
.practice-workbench label.is-wrong input { border-color:var(--coral); background:white; }
.division-check { background:var(--violet); color:white; }
.division-stage--assessment { background:var(--violet); color:white; }
.division-stage--assessment .division-kicker,.division-stage--assessment h2 i { color:var(--acid); }
.assessment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; max-width:1150px; }
.assessment-grid>label,.assessment-grid>article { display:flex; min-height:210px; padding:26px; border-radius:35px 48px 31px 44px; flex-direction:column; background:var(--oat); color:var(--ink); box-shadow:0 10px 0 rgba(38,38,43,.15); }
.assessment-grid>label:nth-child(2),.assessment-grid>article:nth-child(4) { border-radius:48px 33px 45px 36px; }
.assessment-grid span { color:var(--violet); font-size:12px; font-weight:900; letter-spacing:.1em; }
.assessment-grid strong { display:block; margin:12px 0 18px; font-size:clamp(24px,2.5vw,38px); }
.assessment-grid label>div { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.assessment-grid article button { min-height:40px; margin:4px 0; padding:8px 13px; border:0; border-radius:15px 20px 14px 19px; background:white; color:var(--ink); font-weight:800; text-align:left; cursor:pointer; }
.assessment-grid article button.is-selected { background:var(--acid); box-shadow:inset 0 0 0 3px var(--ink); }
.assessment-result { display:grid; grid-template-columns:auto auto 1fr; max-width:900px; margin-top:28px; padding:25px 31px; border-radius:34px 47px 30px 43px; align-items:baseline; column-gap:8px; background:var(--acid); color:var(--ink); box-shadow:0 11px 0 rgba(38,38,43,.15); }
.assessment-result>span { font:950 72px/.75 var(--font-display); }
.assessment-result>small { font:900 20px/1 var(--font-display); }
.assessment-result>strong { font-size:27px; }
.assessment-result>p { grid-column:3; margin:5px 0 0; }
.assessment-result>.division-continue { grid-column:1/-1; justify-self:start; background:var(--coral); }

/* Mastery report */
.division-stage--result { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:35px; background:var(--acid); }
.division-stage--result h2 { font-size:clamp(90px,10vw,160px); }
.division-stage--result h2 small { font-size:.28em; letter-spacing:0; }
.division-stage--result h2 i { display:block; margin-top:12px; color:var(--violet); font-size:.48em; letter-spacing:-.04em; word-spacing:.14em; white-space:normal; }
.division-stage--result>div:first-child>p { max-width:760px; font-size:21px; font-weight:700; line-height:1.4; }
.division-stage--result ul { display:grid; gap:9px; margin:28px 0; padding:0; list-style:none; }
.division-stage--result li { display:grid; grid-template-columns:48px 1fr; max-width:740px; min-height:62px; padding:7px 17px 7px 7px; border-radius:22px 31px 20px 28px; align-items:center; gap:12px; background:rgba(255,255,255,.72); }
.division-stage--result li i { display:grid; width:46px; height:46px; border-radius:16px 20px 15px 19px; background:var(--emerald); color:white; font-style:normal; place-items:center; }
.division-result__actions { display:flex; flex-wrap:wrap; gap:10px; }
.division-result__actions button { display:inline-flex; min-height:58px; padding:8px 9px 8px 21px; border:0; border-radius:25px 34px 23px 31px; align-items:center; gap:24px; background:var(--violet); color:white; font-weight:900; cursor:pointer; box-shadow:0 8px 0 rgba(38,38,43,.13); }
.division-result__actions button:first-child { background:var(--coral); color:var(--ink); }
.division-result__actions b { font-size:23px; }
.division-result__cast { position:relative; align-self:stretch; min-height:560px; }
.division-result__cast::before { position:absolute; right:0; bottom:3%; width:96%; height:82%; border-radius:88px 126px 80px 114px; background:var(--pink); content:""; transform:rotate(1deg); }
.division-result__teacher { position:absolute; z-index:2; right:-4%; bottom:-9%; width:90%; height:105%; object-fit:contain; object-position:right bottom; filter:drop-shadow(0 19px 13px rgba(38,38,43,.18)); }
.division-result__cast>.goodie-companion { position:absolute; z-index:4; bottom:-2%; left:-7%; width:220px; height:220px; }
.division-result__cast>.division-result__speech { position:absolute; z-index:5; top:13%; left:-3%; padding:0; border:0; background:transparent; color:var(--ink); font:900 19px/1.05 var(--font-display); transform:rotate(-5deg); }

@keyframes division-stage-in { from { opacity:0; transform:translateY(20px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes division-teacher-in { from { opacity:0; transform:translateX(35px) rotate(2deg); } to { opacity:1; transform:none; } }
@keyframes division-arrow { 0%,100% { transform:translateX(-4px); } 50% { transform:translateX(7px); } }
@keyframes division-digit-pop { 0% { transform:scale(.55) rotate(-8deg); } 70% { transform:scale(1.14) rotate(2deg); } 100% { transform:none; } }

@media (max-width:980px) {
  .course-lab-progress { overflow-x:auto; justify-content:flex-start; padding:0 4px 9px; }
  .course-lab-progress::before { display:none; }
  .course-lab-progress>span { min-width:64px; }
  .course-lab-progress>span b { display:none; }
  .division-stage--launch,.division-stage--result { grid-template-columns:1fr; }
  .division-launch__cast,.division-result__cast { min-height:470px; }
  .division-sharing-scene,.division-algorithm-layout { grid-template-columns:1fr; }
  .division-people { max-width:460px; }
  .exchange-machine { grid-template-columns:1fr 45px 1fr; }
  .exchange-machine>.exchange-machine__middle { grid-column:1/-1; grid-row:2; min-height:90px; }
  .exchange-machine>b:nth-of-type(1) { grid-column:1; grid-row:2; visibility:hidden; }
  .exchange-machine>b:nth-of-type(2) { grid-column:2; grid-row:1; }
  .practice-workbench label { grid-template-columns:56px 1fr 24px 160px; }
  .practice-workbench label>small { grid-column:2/-1; }
}

@media (max-width:680px) {
  .division-course { padding-inline:10px; }
  .division-stage { min-height:620px; padding:38px 21px 46px; border-radius:44px 62px 40px 68px; }
  .division-stage h1,.division-stage h2,.division-stage--launch h1 { font-size:clamp(50px,15vw,72px); }
  .division-stage>header>p,.division-launch__copy>p { font-size:17px; }
  .division-launch__cast,.division-result__cast { min-height:400px; }
  .division-launch__teacher,.division-result__teacher { width:108%; }
.division-launch__blob { width:150px; height:150px; }
.division-result__cast>.goodie-companion { width:150px; height:150px; }
  .division-launch__number span { width:50px; height:60px; font-size:34px; }
  .division-launch__number b { top:65px; left:33px; }
  .division-objectives { display:grid; }
  .division-money { grid-template-columns:1fr; }
  .division-money>span { min-height:90px; }
  .division-people { grid-template-columns:repeat(6,1fr); gap:5px; }
  .division-choice-grid,.division-answers { grid-template-columns:1fr; }
  .division-choice-grid button { min-height:70px; }
  .exchange-machine { grid-template-columns:1fr; }
  .exchange-machine>b { transform:rotate(90deg); }
  .exchange-machine>b:nth-of-type(2) { grid-column:1; grid-row:auto; }
  .exchange-machine>.exchange-machine__middle { grid-column:1; grid-row:auto; }
  .exchange-equation { flex-wrap:wrap; font-size:13px; }
  .division-algorithm-layout { gap:28px; }
  .division-potence { min-height:210px; }
  .division-quotient-slots span { width:42px; height:52px; font-size:30px; }
  .division-algorithm-story li { grid-template-columns:44px 1fr; }
  .division-algorithm-story i { width:42px; height:42px; }
  .division-answers button { min-height:90px; }
  .truth-arena>div { flex-direction:column; }
  .truth-arena>div>button { width:100%; }
  .practice-workbench label { grid-template-columns:48px 1fr 20px 100px; gap:8px; padding:11px; }
  .practice-workbench label>span { width:44px; height:44px; }
  .practice-workbench input { height:54px; font-size:22px; }
  .assessment-grid { grid-template-columns:1fr; }
  .assessment-grid>label,.assessment-grid>article { min-height:190px; }
  .assessment-result { grid-template-columns:auto auto 1fr; padding:22px; }
  .assessment-result>span { font-size:58px; }
  .assessment-result>strong { grid-column:1/-1; margin-top:14px; }
  .assessment-result>p { grid-column:1/-1; }
  .division-stage--result h2 { font-size:86px; }
}

@media (prefers-reduced-motion:reduce) {
  .division-stage,.division-launch__teacher,.exchange-machine>b,.division-quotient-slots span.is-filled { animation:none!important; }
}

/* Locked learner-workspace pattern: the child completes the real procedure
   inside the lesson. A final-answer field can never replace the working. */
.division-stage[data-learning-canvas="complete-working"] { background:var(--pink); }
.division-practice-pages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:920px; margin:4px 0 24px; gap:12px; }
.division-practice-pages button { display:flex; min-height:66px; padding:9px 17px 9px 9px; border:0; border-radius:22px 31px 20px 28px; align-items:center; gap:12px; background:rgba(255,255,255,.68); color:var(--ink); font:900 17px/1 var(--font-display); cursor:pointer; box-shadow:0 6px 0 rgba(38,38,43,.09); transition:transform .25s var(--ease-spring),background .2s ease; }
.division-practice-pages button:hover { transform:translateY(-3px) rotate(-.35deg); }
.division-practice-pages button i { display:grid; width:46px; height:46px; flex:0 0 auto; border-radius:16px 20px 15px 19px; background:var(--violet); color:white; font:900 13px/1 var(--font-body); font-style:normal; place-items:center; }
.division-practice-pages button.is-current { background:var(--violet); color:white; transform:translateY(-3px); }
.division-practice-pages button.is-current i { background:var(--acid); color:var(--ink); }
.division-practice-pages button.is-done:not(.is-current) { background:var(--acid); }
.division-practice-pages button.is-done i { background:var(--emerald); }

.division-notebook-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; max-width:1220px; align-items:start; gap:20px; }
.division-paper { position:relative; min-height:720px; padding:24px 30px 20px; overflow:hidden; border-radius:38px 54px 34px 49px; background-color:#fffefa; background-image:linear-gradient(rgba(146,103,234,.105) 1px,transparent 1px),linear-gradient(90deg,rgba(146,103,234,.105) 1px,transparent 1px); background-size:34px 34px; box-shadow:0 13px 0 rgba(38,38,43,.11); }
.division-paper::before { position:absolute; top:0; bottom:0; left:68px; width:2px; background:rgba(253,118,102,.3); content:""; }
.division-paper>header { position:relative; z-index:1; display:flex; min-height:70px; padding-left:64px; align-items:start; justify-content:space-between; gap:20px; }
.division-paper>header div { display:grid; gap:5px; }
.division-paper>header span { color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.12em; }
.division-paper>header strong { font:950 30px/1 var(--font-display); }
.division-paper>header small { padding:8px 13px; border-radius:13px 18px 12px 16px; background:var(--acid); font-size:10px; font-weight:900; letter-spacing:.04em; }

.division-paper__potence { position:relative; z-index:1; display:grid; grid-template-columns:minmax(260px,1fr) 250px; width:min(660px,94%); min-height:145px; margin:18px auto 0; align-items:start; }
.division-paper__dividend { display:flex; height:114px; padding:5px 28px 0 0; align-items:center; justify-content:flex-end; }
.division-paper__dividend span { display:grid; width:72px; height:84px; color:var(--ink); font:950 64px/1 var(--font-display); place-items:center; }
.division-paper__right { min-height:142px; border-left:6px solid var(--ink); }
.division-paper__right>strong { display:grid; height:70px; padding:0 18px; align-items:center; font:950 58px/1 var(--font-display); }
.division-paper__quotient { display:flex; min-height:72px; padding:7px 12px 0; border-top:6px solid var(--ink); align-items:start; gap:5px; }

.division-paper-input { width:58px; height:57px; padding:0; border:0; border-bottom:3px solid var(--violet); border-radius:13px 17px 11px 15px; outline:0; background:rgba(253,233,200,.78); color:var(--ink); font:950 34px/1 var(--font-display); text-align:center; caret-color:var(--coral); transition:transform .2s var(--ease-spring),background .2s ease,box-shadow .2s ease; }
.division-paper-input::placeholder { color:rgba(146,103,234,.45); }
.division-paper-input:focus { background:var(--sun); box-shadow:0 0 0 4px white,0 0 0 8px var(--violet); transform:scale(1.08) rotate(-1deg); }
.division-paper-input.is-correct { border-color:var(--emerald); background:var(--acid); animation:division-paper-correct .45s var(--ease-spring) both; }
.division-paper-input.is-wrong { border-color:var(--coral); background:white; box-shadow:0 0 0 4px var(--coral); animation:division-paper-wrong .38s ease both; }

.division-paper__work { position:relative; z-index:1; display:grid; width:min(520px,82%); margin:-2px auto 28px; gap:8px; }
.division-paper-step { position:relative; display:grid; grid-template-columns:42px minmax(100px,150px); width:220px; margin-left:calc(var(--paper-step) * 72px); padding:4px 0 2px; }
.division-paper-step__number { display:grid; width:29px; height:29px; margin-top:15px; border-radius:10px 13px 9px 12px; background:var(--violet); color:white; font:900 11px/1 var(--font-body); place-items:center; }
.division-paper-step__operation { display:flex; height:59px; align-items:center; justify-content:flex-end; gap:8px; }
.division-paper-step__operation i { color:var(--coral); font:950 28px/1 var(--font-display); font-style:normal; }
.division-paper-step__operation .division-paper-input { width:92px; }
.division-paper-step__line { grid-column:2; height:4px; border-radius:100%; background:var(--ink); }
.division-paper-step__result { grid-column:2; display:flex; min-height:61px; align-items:center; justify-content:flex-end; gap:8px; }
.division-paper-step__result small { max-width:72px; color:var(--violet); font-size:8px; font-weight:900; line-height:1.05; text-align:right; text-transform:uppercase; }
.division-paper-step__result .division-paper-input { width:92px; }
.division-paper>footer { position:relative; z-index:1; display:flex; width:max-content; max-width:100%; margin:8px auto 0; padding:12px 18px; border-radius:17px 24px 15px 22px; align-items:center; gap:10px; background:var(--ink); color:white; font-size:9px; font-weight:900; letter-spacing:.07em; }
.division-paper>footer b { color:var(--acid); font-size:15px; }

.division-paper-coach { position:relative; min-height:560px; padding:28px 24px; overflow:hidden; border-radius:35px 48px 31px 44px; background:var(--violet); color:white; box-shadow:0 12px 0 rgba(38,38,43,.12); }
.division-paper-coach::after { position:absolute; right:-44px; bottom:-37px; width:170px; height:130px; border-radius:59% 41% 62% 38% / 48% 58% 42% 52%; background:var(--acid); content:""; transform:rotate(-11deg); }
.division-paper-coach>span { color:var(--acid); font-size:10px; font-weight:950; letter-spacing:.12em; }
.division-paper-coach h3 { margin:18px 0 26px; font:950 39px/.92 var(--font-display); letter-spacing:-.055em; }
.division-paper-coach ol { position:relative; z-index:1; display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.division-paper-coach li { display:grid; grid-template-columns:40px 1fr; min-height:78px; padding:10px; border-radius:19px 26px 17px 23px; align-items:start; gap:10px; background:rgba(255,255,255,.13); }
.division-paper-coach li i { display:grid; width:38px; height:38px; border-radius:13px 17px 12px 15px; background:var(--sun); color:var(--ink); font:950 15px/1 var(--font-display); font-style:normal; place-items:center; }
.division-paper-coach li span { display:grid; gap:4px; }
.division-paper-coach li strong { font-size:16px; }
.division-paper-coach li small { font-size:11px; font-weight:700; line-height:1.28; }
.division-paper-coach>p { position:relative; z-index:1; margin:20px 0 0; color:var(--oat); font-size:12px; font-weight:800; line-height:1.4; }
.division-practice-next { display:flex; min-height:64px; margin-top:18px; padding:9px 9px 9px 22px; border:0; border-radius:22px 31px 20px 28px; align-items:center; gap:20px; background:var(--emerald); color:white; font:900 16px/1 var(--font-display); cursor:pointer; box-shadow:0 8px 0 rgba(38,38,43,.12); }
.division-practice-next b { display:grid; width:46px; height:46px; border-radius:16px 20px 15px 19px; background:var(--acid); color:var(--ink); place-items:center; }

@keyframes division-paper-correct { 0%{transform:scale(.9)} 70%{transform:scale(1.12) rotate(-2deg)} 100%{transform:none} }
@keyframes division-paper-wrong { 0%,100%{transform:translateX(0)} 30%{transform:translateX(-6px)} 60%{transform:translateX(6px)} }

@media (max-width:980px) {
  .division-notebook-layout { grid-template-columns:1fr; }
  .division-paper-coach { min-height:0; }
  .division-paper-coach ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:680px) {
  .division-practice-pages { grid-template-columns:1fr; }
  .division-practice-pages button { min-height:54px; }
  .division-paper { min-height:650px; padding:18px 10px 16px; border-radius:29px 38px 26px 35px; }
  .division-paper::before { left:35px; }
  .division-paper>header { padding-left:36px; }
  .division-paper>header small { display:none; }
  .division-paper__potence { grid-template-columns:minmax(190px,1fr) 155px; width:96%; }
  .division-paper__dividend { padding-right:12px; }
  .division-paper__dividend span { width:52px; height:68px; font-size:48px; }
  .division-paper__right>strong { height:62px; font-size:46px; }
  .division-paper__quotient { min-height:66px; padding:7px 6px 0; }
  .division-paper-input { width:42px; height:49px; font-size:27px; }
  .division-paper__work { width:94%; }
  .division-paper-step { grid-template-columns:34px minmax(90px,135px); width:190px; margin-left:calc(var(--paper-step) * 45px); }
  .division-paper-step__operation .division-paper-input,.division-paper-step__result .division-paper-input { width:80px; }
  .division-paper>footer { gap:6px; padding:10px; font-size:7px; }
  .division-paper-coach ol { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .division-paper-input,.division-practice-pages button { animation:none!important; transition:none!important; }
}

/* Locked pedagogy rule: every learner action must immediately construct its
   matching representation. Never separate an instruction from its visual proof. */
.division-stage[data-learning-sync="action-to-visual"] { background:var(--soft); }
.division-sync-rule { display:grid; grid-template-columns:1fr 64px 1fr; max-width:1240px; margin:0 0 18px; align-items:center; gap:12px; color:var(--violet); font:900 11px/1 var(--font-body); letter-spacing:.11em; text-transform:uppercase; }
.division-sync-rule>span { text-align:left; }
.division-sync-rule>strong { text-align:right; }
.division-sync-rule>b { display:grid; width:52px; height:38px; border-radius:15px 21px 14px 19px; justify-self:center; background:var(--acid); color:var(--ink); font-size:24px; place-items:center; animation:division-sync-arrow 1.1s ease-in-out infinite; }
.division-sync-rule>span,.division-sync-rule>strong { font-size:0; }
.division-sync-rule>span::after { content:"À GAUCHE · LE CALCUL SE CONSTRUIT"; font-size:11px; }
.division-sync-rule>strong::after { content:"À DROITE · TU CHOISIS"; font-size:11px; }
.division-sync-rule>b { font-size:0; }
.division-sync-rule>b::after { content:"←"; font-size:24px; }
.division-stage--algorithm .division-algorithm-layout { grid-template-columns:1.07fr .93fr; align-items:start; gap:24px; }

.division-live-board { position:relative; min-height:610px; padding:26px; overflow:hidden; border-radius:42px 58px 38px 53px; background:var(--sun); box-shadow:0 14px 0 rgba(38,38,43,.1); }
.division-live-board::after { position:absolute; right:-46px; bottom:-38px; width:180px; height:135px; border-radius:68px 91px 57px 84px; background:var(--pink); content:""; transform:rotate(-9deg); }
.division-live-board>header { position:relative; z-index:2; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.division-live-board>header span { color:var(--violet); font-size:10px; font-weight:900; letter-spacing:.12em; }
.division-live-board>header strong { font-size:24px; }
.division-live-potence { position:relative; z-index:2; display:grid; grid-template-columns:1.45fr .78fr; grid-template-rows:96px 82px; max-width:560px; margin:22px auto 0; }
.division-live-potence__dividend { display:grid; grid-template-columns:repeat(3,72px); align-items:center; justify-content:end; padding-right:24px; }
.division-live-potence__dividend>span { display:grid; width:66px; height:76px; border-radius:21px 27px 19px 25px; color:var(--ink); font:950 55px/1 var(--font-display); place-items:center; transition:background .25s ease,transform .3s var(--ease-spring),opacity .25s ease; }
.division-live-potence__dividend>span.is-active { background:var(--pink); transform:scale(1.08) rotate(-2deg); }
.division-live-potence__dividend>span.is-used { opacity:.42; }
.division-live-potence__dividend>span.is-dropping { background:var(--coral); animation:division-bring-down .62s var(--ease-spring); }
.division-live-potence__divisor { display:grid; border-bottom:7px solid var(--ink); border-left:7px solid var(--ink); font:950 58px/1 var(--font-display); place-items:center; }
.division-live-potence__quotient { display:flex; grid-column:2; grid-row:2; padding:10px 7px; border-left:7px solid var(--ink); align-items:start; justify-content:center; gap:5px; }
.division-live-potence__quotient>span { display:grid; width:48px; height:56px; border-radius:15px 19px 14px 18px; background:rgba(255,255,255,.72); color:var(--violet); font:950 35px/1 var(--font-display); place-items:center; }
.division-live-potence__quotient>span.is-waiting { animation:division-slot-breathe 1.25s ease-in-out infinite; }
.division-live-potence__quotient>span.is-filled { background:var(--acid); color:var(--ink); animation:division-digit-pop .42s var(--ease-spring); }

.division-live-work { position:relative; z-index:2; display:grid; gap:9px; max-width:620px; margin:6px auto 0; }
.division-live-work__empty { display:flex; min-height:140px; padding:24px; border:3px dashed rgba(38,38,43,.22); border-radius:27px 39px 25px 35px; align-items:center; justify-content:center; flex-direction:column; background:rgba(255,255,255,.28); text-align:center; }
.division-live-work__empty b { font-size:20px; }
.division-live-work__empty span { margin-top:7px; color:var(--muted); }
.division-work-cycle { display:grid; grid-template-columns:46px minmax(145px,1fr) minmax(100px,.7fr); min-height:122px; padding:10px 13px 12px 10px; border-radius:25px 36px 23px 33px; align-items:center; gap:9px 11px; background:rgba(255,255,255,.88); box-shadow:0 6px 0 rgba(38,38,43,.08); animation:division-work-build .52s calc(var(--work-index) * .06s) var(--ease-spring) both; }
.division-work-cycle>span { display:grid; width:42px; height:42px; border-radius:14px 18px 13px 17px; background:var(--violet); color:white; font-size:11px; font-weight:900; place-items:center; }
.division-work-cycle>div:nth-child(2) { display:flex; flex-direction:column; }
.division-work-cycle>div:nth-child(2) small { color:var(--violet); font-weight:900; }
.division-work-cycle>div:nth-child(2) strong { margin-top:4px; font-size:20px; }
.division-work-cycle>b { font-size:14px; }
.division-work-cycle__exchange,.division-work-cycle__complete { display:flex!important; grid-column:2/-1; width:100%; min-height:48px; padding:7px 10px; border-radius:18px 25px 16px 22px; align-items:center; justify-content:center; flex-flow:row nowrap!important; gap:7px; background:var(--pink); }
.division-work-cycle__exchange i,.division-work-cycle__complete i { font-weight:850; font-style:normal; }
.division-work-cycle__exchange em { color:var(--violet); font:950 18px/1 var(--font-display); font-style:normal; }
.division-work-cycle__exchange mark,.division-work-cycle__complete mark { padding:7px 9px; border-radius:10px 14px 9px 13px; background:var(--acid); color:var(--ink); font-weight:950; white-space:nowrap; }
.division-work-cycle__complete { justify-content:space-between; background:var(--acid); }

.division-action-rail { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.division-action-rail>li { min-height:116px; padding:14px; border-radius:31px 43px 28px 39px; background:white; opacity:.43; box-shadow:0 8px 0 rgba(38,38,43,.08); transition:opacity .25s ease,transform .28s var(--ease-spring),background .25s ease; }
.division-action-rail>li:nth-child(2) { border-radius:43px 29px 40px 33px; }
.division-action-rail>li>div:first-child { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:13px; }
.division-action-rail>li>div:first-child>i { display:grid; width:50px; height:50px; border-radius:17px 22px 16px 20px; background:var(--violet); color:white; font-style:normal; font-weight:900; place-items:center; }
.division-action-rail>li span { display:flex; min-width:0; flex-direction:column; }
.division-action-rail>li small { color:var(--violet); font-size:9px; font-weight:900; letter-spacing:.1em; }
.division-action-rail>li strong { margin-top:4px; font-size:clamp(18px,1.6vw,25px); }
.division-action-rail>li em { margin-top:5px; color:var(--muted); font-size:13px; font-style:normal; font-weight:750; }
.division-action-rail>li.is-current { background:var(--pink); opacity:1; transform:translateX(-7px) rotate(-.25deg); box-shadow:0 11px 0 rgba(38,38,43,.1); }
.division-action-rail>li.is-done { background:var(--acid); opacity:1; }
.division-action-rail>li.is-done>div:first-child>i { background:var(--emerald); }
.division-action-choices { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; padding-left:65px; }
.division-action-choices button { display:grid; width:48px; height:48px; border:0; border-radius:15px 20px 14px 18px; background:var(--violet); color:white; font:950 22px/1 var(--font-display); cursor:pointer; place-items:center; box-shadow:0 5px 0 rgba(38,38,43,.12); transition:transform .2s var(--ease-spring); }
.division-action-choices button:hover { transform:translateY(-3px) rotate(-2deg); }
.division-action-undo { display:flex; min-height:48px; padding:8px 14px 8px 18px; border:0; border-radius:19px 27px 17px 24px; align-items:center; justify-content:space-between; background:var(--oat); color:var(--ink); font-weight:850; cursor:pointer; }
.division-action-undo b { font-size:20px; }

@keyframes division-sync-arrow { 0%,100% { transform:translateX(-3px); } 50% { transform:translateX(6px); } }
@keyframes division-bring-down { 0% { opacity:.2; transform:translateY(-32px) scale(.78); } 70% { transform:translateY(5px) scale(1.08); } 100% { opacity:1; transform:none; } }
@keyframes division-slot-breathe { 0%,100% { transform:scale(.94); opacity:.58; } 50% { transform:scale(1.05); opacity:1; } }
@keyframes division-work-build { from { opacity:0; transform:translateY(-13px) scale(.96); } to { opacity:1; transform:none; } }

@media (max-width:980px) {
  .division-stage--algorithm .division-algorithm-layout { grid-template-columns:1fr; }
  .division-sync-rule { display:none; }
  .division-live-board { min-height:560px; }
  .division-action-rail>li.is-current { transform:none; }
}

@media (max-width:680px) {
  .division-live-board { min-height:540px; padding:18px 13px; }
  .division-live-board>header { align-items:flex-start; flex-direction:column; gap:5px; }
  .division-live-potence { grid-template-columns:1.38fr .82fr; grid-template-rows:82px 70px; }
  .division-live-potence__dividend { grid-template-columns:repeat(3,54px); padding-right:12px; }
  .division-live-potence__dividend>span { width:50px; height:60px; font-size:39px; }
  .division-live-potence__divisor { font-size:45px; }
  .division-live-potence__quotient>span { width:37px; height:46px; font-size:27px; }
  .division-work-cycle { grid-template-columns:40px 1fr minmax(80px,.65fr); }
  .division-work-cycle>b { text-align:right; }
  .division-work-cycle__exchange,.division-work-cycle__complete { grid-column:2/-1; width:100%; }
  .division-action-choices { padding-left:0; }
}

@media (prefers-reduced-motion:reduce) {
  .division-sync-rule>b,.division-live-potence__dividend>span.is-dropping,.division-live-potence__quotient>span,.division-work-cycle { animation:none!important; }
}

/* True French long-division workspace. Each answer unlocks the next number in
   the real column position and the multiplication fact follows the active step. */
.division-stage[data-learning-canvas="true-column-working"] { background:var(--pink); }
.division-column-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; max-width:1180px; align-items:start; gap:20px; }
.division-column-paper { min-height:760px; padding:24px 28px 20px; border-radius:38px 53px 34px 48px; overflow:hidden; background-color:#fffefa; background-image:linear-gradient(rgba(146,103,234,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(146,103,234,.1) 1px,transparent 1px); background-size:36px 36px; box-shadow:0 13px 0 rgba(38,38,43,.11); }
.division-column-paper>header { display:flex; min-height:64px; padding:0 6px; align-items:start; justify-content:space-between; gap:20px; }
.division-column-paper>header div { display:grid; gap:5px; }
.division-column-paper>header span { color:var(--violet); font-size:9px; font-weight:950; letter-spacing:.13em; }
.division-column-paper>header strong { font:950 23px/1 var(--font-display); }
.division-column-paper>header small { display:grid; width:54px; height:40px; border-radius:14px 19px 13px 17px; background:var(--acid); color:var(--ink); font-size:11px; font-weight:950; place-items:center; }

.division-column-equation { display:grid; grid-template-columns:390px 240px; width:630px; max-width:100%; margin:4px auto 0; align-items:start; }
.division-column-left { width:390px; }
.division-column-dividend { display:grid; grid-template-columns:repeat(3,78px); width:234px; height:96px; margin-left:92px; align-items:center; }
.division-column-dividend span { display:grid; width:72px; height:78px; color:var(--ink); font:950 60px/1 var(--font-display); opacity:1; place-items:center; transition:transform .25s var(--ease-spring),background .2s ease,opacity .2s ease; }
.division-column-dividend span.is-active { border-radius:21px 28px 19px 25px; background:var(--sun); transform:scale(1.08) rotate(-1deg); }
.division-column-dividend span.is-used { opacity:.48; }
.division-column-right { min-height:176px; border-left:6px solid var(--ink); }
.division-column-right>strong { display:grid; height:84px; padding-left:25px; align-items:center; font:950 58px/1 var(--font-display); }
.division-column-quotient { display:grid; grid-template-columns:repeat(3,64px); min-height:86px; padding:10px 12px 0; border-top:6px solid var(--ink); gap:4px; }
.division-column-quotient .division-paper-input { width:60px; height:65px; font-size:37px; }

.division-column-work { display:grid; width:326px; margin-left:0; }
.division-column-row,.division-column-rule { position:relative; display:grid; grid-template-columns:repeat(3,78px); width:326px; padding-left:92px; }
.division-column-row { min-height:68px; align-items:center; }
.division-column-row>span { display:block; grid-column:var(--column-start) / span var(--column-span); width:100%; }
.division-column-row>i { position:absolute; top:17px; left:70px; color:var(--coral); font:950 30px/1 var(--font-display); font-style:normal; }
.division-column-row .division-paper-input { width:calc(100% - 5px); height:59px; border-radius:0; border:0; border-bottom:0; background:transparent; font-size:39px; letter-spacing:.12em; text-align:right; box-shadow:none; }
.division-column-row .division-paper-input.is-current { border-radius:16px 22px 14px 20px; background:var(--sun); box-shadow:0 0 0 4px white,0 0 0 8px var(--violet); animation:division-column-current 1.2s ease-in-out infinite; }
.division-column-row .division-paper-input.is-complete { color:var(--emerald); }
.division-column-row .division-paper-input.is-future { opacity:.15; }
.division-column-row .division-paper-input.is-wrong { border-radius:16px 22px 14px 20px; background:white; box-shadow:0 0 0 5px var(--coral); }
.division-column-rule { min-height:5px; }
.division-column-rule::before { grid-column:var(--column-start) / span var(--column-span); height:5px; border-radius:100%; background:var(--ink); content:""; }
.division-column-row--result { min-height:72px; }
.division-column-row--result>span { position:relative; }
.division-column-drop { position:absolute; top:-18px; right:4px; display:flex; align-items:center; gap:3px; color:var(--violet); font:950 17px/1 var(--font-display); opacity:0; transform:translateY(-18px); transition:opacity .25s ease,transform .45s var(--ease-spring); }
.division-column-drop i { color:var(--coral); font-size:27px; font-style:normal; }
.division-column-drop.is-visible { opacity:1; transform:none; }
.division-column-paper>footer { display:grid; grid-template-columns:185px 1fr; min-height:82px; margin:12px 0 0; padding:13px 16px; border-radius:23px 31px 20px 28px; align-items:center; gap:16px; background:var(--oat); }
.division-column-paper>footer button { display:flex; min-height:50px; padding:8px 9px 8px 15px; border:0; border-radius:17px 23px 15px 21px; align-items:center; justify-content:space-between; background:var(--violet); color:white; font-size:11px; font-weight:900; cursor:pointer; }
.division-column-paper>footer button:disabled { opacity:.3; cursor:not-allowed; }
.division-column-paper>footer button b { display:grid; width:35px; height:35px; border-radius:12px 16px 11px 15px; background:white; color:var(--ink); font-size:18px; place-items:center; }
.division-column-paper>footer>span { font-size:13px; font-weight:800; line-height:1.3; }

.division-paper-input.is-current { border-color:var(--violet); background:var(--sun); box-shadow:0 0 0 4px white,0 0 0 8px var(--violet); }
.division-paper-input.is-complete { border-color:var(--emerald); background:var(--acid); color:var(--ink); }
.division-column-equation .division-paper-input.is-complete { border:0; background:transparent; color:var(--emerald); box-shadow:none; }
.division-paper-input.is-future { opacity:.18; }
.division-paper-input.is-wrong { opacity:1; }

.division-fact-helper { padding:24px 20px 20px; border-radius:34px 47px 30px 43px; background:var(--violet); color:white; box-shadow:0 12px 0 rgba(38,38,43,.12); }
.division-fact-helper>header span { color:var(--acid); font-size:10px; font-weight:950; letter-spacing:.13em; }
.division-fact-helper>header strong { display:block; margin-top:9px; font:950 27px/.96 var(--font-display); letter-spacing:-.04em; }
.division-fact-helper ol { display:grid; gap:4px; margin:18px 0; padding:0; list-style:none; }
.division-fact-helper li { display:flex; min-height:37px; padding:5px 10px; border-radius:12px 17px 11px 15px; align-items:center; justify-content:space-between; font:850 14px/1 var(--font-display); opacity:.58; transition:transform .25s var(--ease-spring),background .2s ease,opacity .2s ease; }
.division-fact-helper li b { font-size:15px; }
.division-fact-helper li.is-active { background:var(--acid); color:var(--ink); opacity:1; transform:scale(1.08) rotate(-.7deg); box-shadow:0 6px 0 rgba(38,38,43,.14); }
.division-fact-helper>p { display:grid; grid-template-columns:34px 1fr; margin:18px 0 0; padding:12px; border-radius:18px 25px 16px 22px; align-items:start; gap:8px; background:var(--coral); }
.division-fact-helper>p>i { color:var(--acid); font:950 25px/1 var(--font-display); font-style:normal; }
.division-fact-helper>p span { display:grid; gap:4px; }
.division-fact-helper>p strong { color:var(--acid); font-size:10px; letter-spacing:.08em; }
.division-fact-helper>p span { font-size:11px; font-weight:800; line-height:1.3; }

@keyframes division-column-current { 0%,100%{transform:scale(.98)} 50%{transform:scale(1.04)} }

@media (max-width:980px) {
  .division-column-layout { grid-template-columns:1fr; }
  .division-fact-helper { display:grid; grid-template-columns:180px 1fr; gap:18px; }
  .division-fact-helper ol { grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; }
  .division-fact-helper>p { grid-column:1/-1; }
}

@media (max-width:680px) {
  .division-column-paper { min-height:700px; padding:18px 10px; }
  .division-column-equation { grid-template-columns:280px 150px; width:430px; transform:scale(.78); transform-origin:top left; margin-bottom:-145px; }
  .division-column-paper>footer { grid-template-columns:1fr; }
  .division-fact-helper { display:block; }
  .division-fact-helper ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
  .division-column-row .division-paper-input.is-current,.division-fact-helper li { animation:none!important; transition:none!important; }
}

/* Concept gate: a child meets and locates every new technical word before any
   question is allowed to use it. */
.division-stage--vocabulary { background:var(--oat); }
.division-vocabulary-world { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); align-items:stretch; gap:24px; }
.division-vocabulary-board { position:relative; min-height:560px; padding:28px 34px 24px; overflow:hidden; border-radius:50px 69px 43px 62px; background:var(--sun); box-shadow:0 14px 0 rgba(38,38,43,.11); }
.division-vocabulary-board::after { position:absolute; right:-45px; bottom:-42px; width:190px; height:150px; border-radius:72px 105px 63px 92px; background:var(--pink); content:""; transform:rotate(-8deg); }
.division-vocabulary-board__caption { color:var(--violet); font-size:11px; font-weight:950; letter-spacing:.13em; }
.division-vocabulary-potence { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:180px 125px; max-width:650px; margin:58px auto 0; }
.division-vocabulary-potence button { border:0; background:transparent; color:var(--ink); cursor:pointer; transition:transform .35s var(--ease-spring),color .25s ease; }
.division-vocabulary-potence button small { display:block; margin-bottom:8px; color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.12em; }
.division-vocabulary-potence button strong { font:950 clamp(68px,7vw,108px)/.8 var(--font-display); }
.division-vocabulary-potence>button:first-child { padding-right:36px; text-align:right; }
.division-vocabulary-potence__right { display:grid; grid-template-rows:1fr 1fr; border-left:8px solid var(--ink); }
.division-vocabulary-potence__right>button:first-child { display:flex; padding:0 0 22px 30px; border-bottom:8px solid var(--ink); align-items:end; gap:20px; text-align:left; }
.division-vocabulary-potence__right>button:first-child small { order:2; margin:0 0 9px; }
.division-vocabulary-potence__right>button:first-child strong { font-size:72px; }
.division-vocabulary-potence__right>button:last-child { display:flex; padding:18px 0 0 28px; align-items:start; gap:18px; text-align:left; }
.division-vocabulary-potence__right>button:last-child small { order:2; margin:15px 0 0; }
.division-vocabulary-potence__right>button:last-child strong { font-size:64px; }
.division-vocabulary-remainder { grid-column:1; grid-row:2; justify-self:end; min-width:150px; margin-right:34px; text-align:center; }
.division-vocabulary-remainder strong { font-size:58px!important; }
.division-vocabulary-potence button.is-active { color:var(--emerald); transform:scale(1.12) rotate(-1deg); animation:division-vocab-pop .75s var(--ease-spring); }
.division-vocabulary-potence button.is-active small { color:var(--ink); }
.division-vocabulary-equation { position:relative; z-index:1; display:flex; margin:28px 0 0; align-items:center; justify-content:center; gap:13px; color:var(--ink); }
.division-vocabulary-equation b { display:grid; min-width:56px; min-height:44px; padding:6px 11px; border-radius:15px 22px 14px 20px; background:white; font:950 22px/1 var(--font-display); place-items:center; }
.division-vocabulary-equation span { font-weight:950; }
.division-vocabulary-roles { display:grid; grid-template-rows:repeat(4,1fr); gap:12px; }
.division-vocabulary-roles>button { display:grid; grid-template-columns:58px 1fr; min-height:118px; padding:14px 20px; border:0; border-radius:31px 45px 28px 40px; align-items:center; gap:14px; background:var(--pink); color:var(--ink); text-align:left; cursor:pointer; box-shadow:0 8px 0 rgba(38,38,43,.09); transition:transform .3s var(--ease-spring),background .2s ease; }
.division-vocabulary-roles>button:nth-child(2) { border-radius:47px 29px 42px 33px; background:var(--acid); }
.division-vocabulary-roles>button:nth-child(3) { border-radius:29px 48px 34px 42px; background:var(--violet); color:white; }
.division-vocabulary-roles>button:nth-child(4) { border-radius:45px 34px 48px 28px; background:var(--coral); }
.division-vocabulary-roles>button>i { display:grid; width:52px; height:52px; border-radius:18px 24px 16px 21px; background:white; color:var(--ink); font-style:normal; font-weight:950; place-items:center; }
.division-vocabulary-roles>button>span { display:flex; flex-direction:column; }
.division-vocabulary-roles small { font-size:9px; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }
.division-vocabulary-roles strong { margin-top:3px; font:950 25px/1 var(--font-display); }
.division-vocabulary-roles em { margin-top:5px; font-size:12px; font-style:normal; font-weight:750; opacity:.78; }
.division-vocabulary-roles>button.is-active { transform:translateX(-12px) scale(1.035) rotate(-.4deg); }
.division-vocabulary-roles>button.is-seen>i { background:var(--emerald); color:white; }
.division-vocabulary-explanation { display:grid; grid-template-columns:130px 150px 1fr; min-height:100px; margin:24px 0 0; padding:18px 26px; border-radius:30px 49px 27px 43px; align-items:center; gap:18px; background:var(--coral); color:var(--ink); box-shadow:0 9px 0 rgba(38,38,43,.1); }
.division-vocabulary-explanation>span { font-size:11px; font-weight:950; letter-spacing:.12em; }
.division-vocabulary-explanation>strong { font:950 50px/1 var(--font-display); }
.division-vocabulary-explanation>p { margin:0; font-size:17px; font-weight:800; line-height:1.25; }

/* The guided algorithm uses the real French potence and working columns.
   Supporting prompts live beside the calculation, never in its place. */
.division-algorithm-layout--real { grid-template-columns:minmax(0,1.08fr) minmax(350px,.82fr)!important; align-items:start!important; gap:24px!important; }
.division-real-paper { min-height:690px; padding:26px 30px 22px; border-radius:42px 59px 37px 53px; overflow:hidden; background-color:#fffefa; background-image:linear-gradient(rgba(146,103,234,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(146,103,234,.1) 1px,transparent 1px); background-size:36px 36px; box-shadow:0 14px 0 rgba(38,38,43,.11); }
.division-real-paper>header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.division-real-paper>header span { color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.13em; }
.division-real-paper>header strong { padding:10px 14px; border-radius:14px 20px 13px 18px; background:var(--acid); font-size:11px; }
.division-real-equation { display:grid; grid-template-columns:335px 175px; width:510px; max-width:100%; margin:26px auto 0; align-items:start; }
.division-real-left { width:335px; }
.division-real-dividend { display:grid; grid-template-columns:repeat(3,72px); width:216px; height:88px; margin-left:70px; align-items:center; }
.division-real-dividend span { display:grid; width:66px; height:70px; color:var(--ink); font:950 54px/1 var(--font-display); opacity:1; place-items:center; transition:transform .3s var(--ease-spring),background .2s ease,opacity .2s ease; }
.division-real-dividend span.is-active { border-radius:20px 27px 18px 24px; background:var(--sun); transform:scale(1.08) rotate(-1deg); }
.division-real-dividend span.is-used { opacity:.48; }
.division-real-right { min-height:168px; border-left:7px solid var(--ink); }
.division-real-right>strong { display:flex; height:80px; padding:0 0 0 25px; align-items:center; gap:18px; font:950 55px/1 var(--font-display); }
.division-real-right>strong small { order:2; color:var(--violet); font-size:9px; letter-spacing:.1em; }
.division-real-quotient { min-height:88px; padding:8px 10px 0 16px; border-top:7px solid var(--ink); }
.division-real-quotient>small { display:block; color:var(--violet); font-size:9px; font-weight:950; letter-spacing:.1em; }
.division-real-quotient>span { display:flex; margin-top:6px; gap:4px; }
.division-real-quotient b { display:grid; width:48px; height:48px; color:rgba(38,38,43,.22); font:950 35px/1 var(--font-display); place-items:center; }
.division-real-quotient b.is-current { border-radius:14px 20px 13px 18px; background:var(--sun); color:var(--violet); animation:division-column-current 1.2s ease-in-out infinite; }
.division-real-quotient b.is-filled { color:var(--emerald); animation:division-digit-pop .42s var(--ease-spring); }
.division-real-work { display:grid; width:216px; margin-left:70px; }
.division-real-row,.division-real-rule { position:relative; display:grid; grid-template-columns:repeat(3,72px); width:216px; }
.division-real-row { min-height:58px; align-items:center; opacity:0; transform:translateY(-10px); }
.division-real-row.is-visible { opacity:1; transform:none; transition:opacity .25s ease,transform .45s var(--ease-spring); }
.division-real-row>i { position:absolute; left:-31px; color:var(--coral); font:950 29px/1 var(--font-display); font-style:normal; }
.division-real-row>strong { grid-column:var(--real-start) / span var(--real-span); padding-right:7px; color:var(--emerald); font:950 40px/1 var(--font-display); text-align:right; }
.division-real-rule { min-height:5px; opacity:0; }
.division-real-rule::before { grid-column:var(--real-start) / span var(--real-span); height:5px; border-radius:100%; background:var(--ink); content:""; }
.division-real-rule.is-visible { opacity:1; }
.division-real-row--result { min-height:62px; }
.division-real-row--result>span { position:absolute; top:-20px; left:calc((var(--drop-column) - 1) * 72px - 4px); display:flex; align-items:center; gap:3px; color:var(--violet); font:950 16px/1 var(--font-display); }
.division-real-row--result>span i { color:var(--coral); font-size:25px; font-style:normal; }
.division-real-paper>footer { display:flex; min-height:70px; margin:14px 0 0; padding:12px 16px; border-radius:22px 31px 20px 28px; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; background:var(--oat); }
.division-real-paper>footer span { color:var(--violet); font-size:9px; font-weight:950; letter-spacing:.08em; }
.division-real-paper>footer span b { margin-left:4px; color:var(--ink); font-size:15px; }
.division-real-paper>footer>i { color:var(--coral); font-size:20px; font-style:normal; font-weight:950; }
.division-action-rail--real>li { min-height:138px; }
.division-action-rail--real .division-action-choices { margin-top:12px; }

@keyframes division-vocab-pop { 0%{transform:scale(.85)} 60%{transform:scale(1.18) rotate(1deg)} 100%{transform:scale(1.12) rotate(-1deg)} }

@media (max-width:980px) {
  .division-vocabulary-world,.division-algorithm-layout--real { grid-template-columns:1fr!important; }
  .division-vocabulary-roles { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
  .division-vocabulary-roles>button.is-active { transform:scale(1.025); }
}

@media (max-width:680px) {
  .division-vocabulary-board { min-height:470px; padding:20px 14px; }
  .division-vocabulary-potence { grid-template-columns:1.18fr .82fr; grid-template-rows:145px 105px; margin-top:42px; }
  .division-vocabulary-potence button strong { font-size:62px; }
  .division-vocabulary-potence__right>button:first-child strong { font-size:48px; }
  .division-vocabulary-potence__right>button:last-child strong { font-size:44px; }
  .division-vocabulary-roles { grid-template-columns:1fr; }
  .division-vocabulary-explanation { grid-template-columns:1fr 90px; }
  .division-vocabulary-explanation>p { grid-column:1/-1; }
  .division-real-paper { min-height:610px; padding:20px 10px; }
  .division-real-equation { grid-template-columns:285px 145px; width:430px; transform:scale(.78); transform-origin:top left; margin-bottom:-155px; }
  .division-real-left { width:285px; }
  .division-real-dividend,.division-real-work { margin-left:54px; }
  .division-real-quotient b { width:39px; }
  .division-real-paper>footer { margin-top:0; }
}

@media (prefers-reduced-motion:reduce) {
  .division-vocabulary-potence button.is-active,.division-real-quotient b,.division-real-row { animation:none!important; transition:none!important; }
}

/* ─────────────────────────────────────────────────────────────
   LOCKED COURSE SYSTEM · LESSON → LAB → FLASHCARDS → SUMMARY → GUIDE
   The approved Lab above is intentionally untouched. These styles belong
   to its shared navigator and the four supporting routed experiences.
   ───────────────────────────────────────────────────────────── */
.division-module-page { --course-banner:var(--violet); --course-banner-accent:var(--acid); min-height:100svh; padding-bottom:90px; overflow:hidden; background:var(--oat); color:var(--ink); }
.division-module-bar { position:relative; z-index:4; display:flex; width:100vw; min-height:86px; margin-right:calc(50% - 50vw); margin-left:calc(50% - 50vw); padding:13px max(clamp(18px,4vw,72px),env(safe-area-inset-left)) 19px; box-sizing:border-box; align-items:center; justify-content:space-between; gap:20px; background:var(--course-banner); color:#fff; }
.division-module-bar::after { position:absolute; right:3%; bottom:4px; left:3%; height:5px; border-radius:50%; background:var(--course-banner-accent); content:""; transform:rotate(-.25deg); }
.division-module-bar div { display:grid; gap:4px; }
.division-module-bar span { color:var(--course-banner-accent); font:950 11px/1 var(--font-display); letter-spacing:.12em; }
.division-module-bar strong { font:900 clamp(20px,2vw,31px)/1 var(--font-display); }
.division-module-bar time { display:grid; min-width:102px; min-height:48px; border-radius:54% 46% 50% 50%/48% 57% 43% 52%; background:var(--course-banner-accent); color:var(--ink); font:900 13px/1 var(--font-display); place-items:center; transform:rotate(1deg); }
.division-module-nav { position:relative; z-index:5; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:min(calc(100% - 38px),1280px); margin:17px auto 34px; gap:10px; }
.division-module-nav::before { position:absolute; z-index:-1; top:50%; right:5%; left:5%; height:4px; border-radius:50%; background:rgba(38,38,43,.12); content:""; }
.division-module-nav button { display:grid; grid-template-columns:48px 1fr; min-height:68px; padding:8px 15px 8px 8px; border:0; border-radius:24px 37px 22px 34px; align-items:center; gap:11px; background:var(--soft); color:var(--ink); text-align:left; cursor:pointer; box-shadow:none; transition:transform .25s var(--ease-spring),background .2s ease; }
.division-module-nav button:nth-child(2) { border-radius:37px 23px 34px 25px; }
.division-module-nav button:nth-child(3) { border-radius:28px 39px 24px 35px; }
.division-module-nav button:nth-child(4) { border-radius:40px 27px 37px 24px; }
.division-module-nav button:nth-child(5) { border-radius:31px 42px 27px 38px; }
.division-module-nav button:hover { transform:translateY(-4px) rotate(-.4deg); }
.division-module-nav button.is-current { background:var(--acid); transform:translateY(-4px) rotate(-.65deg); }
.division-module-nav i { display:grid; width:48px; height:48px; border-radius:17px 22px 15px 21px; background:var(--violet); color:white; font:950 12px/1 var(--font-display); font-style:normal; place-items:center; }
.division-module-nav .is-current i { background:var(--emerald); }
.division-module-nav span { display:grid; gap:3px; }
.division-module-nav strong { font:900 17px/1 var(--font-display); }
.division-module-nav small { color:rgba(38,38,43,.58); font-family:var(--font-display); font-size:11px; font-weight:750; }
.division-module-kicker { display:block; color:var(--violet); font:950 12px/1 var(--font-display); letter-spacing:.14em; text-transform:uppercase; }
.division-module-page h1,.division-module-page h2 { margin:15px 0 22px; font:950 clamp(68px,7.7vw,128px)/.79 var(--font-display); letter-spacing:-.075em; text-transform:uppercase; text-wrap:balance; }
.division-module-page h1 i,.division-module-page h2 i { color:var(--violet); font-style:normal; }
.division-module-page h1 i::after,.division-module-page h2 i::after { display:none; }

/* Lesson: an explanatory story before any challenge. */
.division-lesson-hero { position:relative; display:grid; grid-template-columns:1.03fr .97fr; width:min(calc(100% - 34px),1540px); min-height:720px; margin:0 auto 28px; padding:clamp(42px,5vw,82px); overflow:hidden; border-radius:84px 130px 72px 118px; align-items:center; gap:34px; background:var(--sun); box-shadow:none; }
.division-lesson-hero::after { position:absolute; right:-8%; bottom:-24%; width:50%; aspect-ratio:1.3; border-radius:48% 52% 43% 57%/55% 44% 56% 45%; background:var(--pink); content:""; transform:rotate(-9deg); }
.division-lesson-hero__copy { position:relative; z-index:2; }
.division-lesson-hero h1 { max-width:680px; font-size:clamp(62px,5.8vw,96px); }
.division-lesson-hero h1 i { display:block; max-width:680px; white-space:normal; }
.division-lesson-hero__copy>p { max-width:760px; margin:0; font-size:clamp(18px,1.6vw,24px); font-weight:650; line-height:1.42; }
.division-lesson-promise { display:flex; flex-wrap:wrap; max-width:710px; margin-top:28px; align-items:center; gap:8px; }
.division-lesson-promise strong { width:100%; margin-bottom:3px; color:var(--emerald); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.division-lesson-promise span { padding:10px 15px; border-radius:18px 27px 16px 24px; background:rgba(255,255,255,.75); font-size:14px; font-weight:850; }
.division-lesson-hero__cast { position:relative; z-index:2; min-height:570px; align-self:stretch; }
.division-lesson-teacher { position:absolute; z-index:3; right:-5%; bottom:-10%; width:86%; height:108%; object-fit:contain; object-position:right bottom; filter:drop-shadow(0 20px 14px rgba(38,38,43,.18)); animation:division-lesson-teacher .75s .12s var(--ease-spring) both; }
.division-lesson-potence { position:absolute; z-index:4; top:4%; left:-5%; display:grid; grid-template-columns:1.25fr .78fr; grid-template-rows:1fr 1fr; width:300px; min-height:190px; padding:20px; border-radius:36px 51px 32px 46px; background:var(--soft); box-shadow:none; transform:rotate(-4deg); animation:division-lesson-potence 4s ease-in-out infinite; }
.division-lesson-potence span,.division-lesson-potence b,.division-lesson-potence strong { display:grid; font:950 55px/1 var(--font-display); place-items:center; }
.division-lesson-potence b { border-bottom:7px solid var(--ink); border-left:7px solid var(--ink); }
.division-lesson-potence strong { border-left:7px solid var(--ink); color:var(--violet); }
.division-lesson-potence small { position:absolute; right:23px; bottom:13px; color:var(--emerald); font-weight:900; }
.division-lesson-blob { position:absolute; z-index:5; right:60%; bottom:-2%; width:190px; height:190px; animation:division-lesson-blob 2.2s ease-in-out infinite; }
.division-lesson-blob>.goodie-companion { width:100%; height:100%; }

.division-lesson-roles { width:min(calc(100% - 34px),1540px); margin:0 auto 28px; padding:clamp(44px,5vw,80px); border-radius:126px 72px 119px 78px; background:var(--violet); color:white; box-shadow:none; }
.division-lesson-roles>header { max-width:1050px; }
.division-lesson-roles .division-module-kicker,.division-lesson-roles h2 i { color:var(--acid); }
.division-lesson-roles>header>p { max-width:750px; margin:0 0 28px; font-size:20px; font-weight:650; }
.division-lesson-roles>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.division-lesson-roles article { display:grid; min-height:250px; padding:25px; border-radius:43% 57% 47% 53%/38% 42% 58% 62%; align-content:space-between; background:var(--sun); color:var(--ink); box-shadow:none; transform:rotate(calc((var(--role-order) - 1.5) * .65deg)); animation:division-role-rise .55s calc(var(--role-order) * .08s) var(--ease-spring) both; }
.division-lesson-roles article.is-violet { background:var(--acid); }
.division-lesson-roles article.is-pink { background:var(--pink); }
.division-lesson-roles article.is-coral { background:var(--coral); }
.division-lesson-roles article>span { font:950 clamp(62px,6vw,96px)/.75 var(--font-display); }
.division-lesson-roles article strong { display:block; margin-bottom:7px; font:950 20px/1 var(--font-display); }
.division-lesson-roles article p { margin:0; font-size:15px; font-weight:700; line-height:1.3; }
.division-lesson-roles>aside { display:flex; min-height:92px; margin-top:24px; padding:18px 25px; border-radius:32px 49px 29px 43px; align-items:center; flex-wrap:wrap; gap:8px 19px; background:rgba(255,255,255,.14); }
.division-lesson-roles>aside>strong { color:var(--acid); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.division-lesson-roles>aside p { margin:0; font-size:20px; font-weight:800; }
.division-lesson-roles>aside mark { margin-left:auto; padding:12px 17px; border-radius:17px 25px 16px 22px; background:var(--acid); color:var(--ink); font:950 24px/1 var(--font-display); transform:rotate(-1deg); }

.division-lesson-story { width:min(calc(100% - 34px),1540px); margin:0 auto 28px; padding:clamp(44px,5vw,80px); border-radius:76px 124px 70px 115px; background:var(--pink); box-shadow:none; }
.division-lesson-story>header { max-width:1100px; }
.division-exchange-story { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:34px; gap:13px; }
.division-exchange-story::before { position:absolute; top:43px; right:5%; left:5%; height:4px; border-radius:50%; background:var(--violet); content:""; }
.division-exchange-story article { position:relative; z-index:1; display:grid; min-height:320px; padding:13px 18px 22px; border-radius:38px 52px 34px 47px; align-content:start; background:var(--soft); box-shadow:none; }
.division-exchange-story article:nth-child(even) { border-radius:53px 35px 49px 38px; transform:translateY(24px); }
.division-exchange-story article>i { display:grid; width:65px; height:65px; border-radius:23px 30px 20px 27px; background:var(--violet); color:white; font:950 14px/1 var(--font-body); font-style:normal; place-items:center; }
.division-exchange-story article:nth-child(2)>i { background:var(--coral); color:var(--ink); }
.division-exchange-story article:nth-child(3)>i { background:var(--emerald); }
.division-exchange-story article:nth-child(4)>i { background:var(--acid); color:var(--ink); }
.division-exchange-story article>span { display:grid; margin-top:34px; gap:10px; }
.division-exchange-story small { color:var(--violet); font-weight:950; letter-spacing:.1em; }
.division-exchange-story strong { font:900 clamp(21px,2vw,29px)/1.02 var(--font-display); }
.division-exchange-story p { margin:0; font-size:15px; font-weight:650; line-height:1.4; }
.division-exchange-story article>b { align-self:end; margin-top:19px; color:var(--emerald); font:950 28px/1 var(--font-display); }

.division-lesson-rhythm { display:grid; grid-template-columns:1fr .9fr; width:min(calc(100% - 34px),1540px); min-height:630px; margin:0 auto; padding:clamp(44px,5vw,80px); overflow:hidden; border-radius:120px 75px 112px 82px; align-items:center; gap:45px; background:var(--acid); box-shadow:none; }
.division-lesson-rhythm>div:first-child { position:relative; z-index:2; }
.division-lesson-rhythm h2 { font-size:clamp(58px,6.3vw,104px); }
.division-lesson-rhythm p { max-width:710px; font-size:20px; font-weight:700; line-height:1.4; }
.division-lesson-rhythm button,.division-flashcards-summary,.division-summary-actions button { display:inline-flex; min-height:66px; margin-top:24px; padding:8px 9px 8px 25px; border:0; border-radius:29px 40px 26px 36px; align-items:center; gap:26px; background:var(--violet); color:white; font-weight:950; cursor:pointer; box-shadow:none; transition:transform .25s var(--ease-spring); }
.division-lesson-rhythm button:hover,.division-flashcards-summary:hover,.division-summary-actions button:hover { transform:translateY(-4px) rotate(-.4deg); }
.division-lesson-rhythm button b,.division-flashcards-summary b,.division-summary-actions button b { display:grid; width:48px; height:48px; border-radius:17px 22px 15px 20px; background:white; color:var(--ink); font-size:22px; place-items:center; }
.division-rhythm-orbit { position:relative; min-height:470px; }
.division-rhythm-orbit::before { position:absolute; inset:5%; border:4px dashed var(--violet); border-radius:48% 52% 46% 54%/54% 45% 55% 46%; content:""; animation:division-orbit-spin 24s linear infinite; }
.division-rhythm-orbit>span { position:absolute; z-index:2; padding:12px 16px; border-radius:18px 27px 16px 24px; background:var(--soft); color:var(--ink); font:950 13px/1 var(--font-display); box-shadow:none; }
.division-rhythm-orbit>span:nth-child(1) { top:2%; left:35%; }
.division-rhythm-orbit>span:nth-child(2) { top:38%; right:-2%; }
.division-rhythm-orbit>span:nth-child(3) { right:34%; bottom:1%; }
.division-rhythm-orbit>span:nth-child(4) { top:43%; left:-1%; }
.division-rhythm-orbit>.goodie-companion { position:absolute; top:23%; left:24%; width:54%; height:54%; }

/* Lesson reader: a complete, scrollable textbook chapter before the Lab. */
.division-reader { overflow:visible; background:var(--oat); }
.division-reader-cover { position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); width:min(calc(100% - 34px),1540px); min-height:650px; margin:0 auto 36px; padding:clamp(44px,5vw,82px); overflow:hidden; border-radius:78px 126px 70px 116px; align-items:center; gap:38px; background:var(--sun); box-shadow:none; }
.division-reader-cover::after { position:absolute; right:-11%; bottom:-35%; width:58%; height:78%; border-radius:47% 53% 42% 58%/59% 42% 58% 41%; background:var(--pink); content:""; transform:rotate(-8deg); }
.division-reader-cover__copy { position:relative; z-index:2; }
.division-reader-cover h1 { max-width:810px; font-size:clamp(74px,7vw,118px); }
.division-reader-cover__copy>p { max-width:730px; margin:0; font-size:clamp(19px,1.7vw,26px); font-weight:680; line-height:1.46; }
.division-reader-goals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:670px; margin-top:32px; gap:10px; }
.division-reader-goals>strong { grid-column:1/-1; margin-bottom:4px; color:var(--emerald); font-size:13px; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.division-reader-goals>span { display:grid; grid-template-columns:36px minmax(0,1fr); min-height:62px; padding:11px 16px 11px 11px; border-radius:22px 31px 20px 29px; align-items:center; gap:10px; background:rgba(255,255,255,.9); font-size:15px; font-weight:900; line-height:1.18; box-shadow:none; }
.division-reader-goals>span>b { display:grid; width:36px; height:36px; border-radius:50%; place-items:center; color:#fff; background:var(--violet); font:950 12px/1 var(--font-mono); }
.division-reader-cover__visual { position:relative; z-index:2; min-height:500px; align-self:stretch; }
.division-reader-cover__equation { position:absolute; z-index:4; top:4%; left:-4%; display:grid; width:270px; padding:22px 24px; border-radius:35px 49px 31px 44px; background:var(--soft); box-shadow:none; transform:rotate(-4deg); }
.division-reader-cover__equation small { color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.13em; }
.division-reader-cover__equation strong { margin-top:13px; font:950 44px/.9 var(--font-display); }
.division-reader-cover__equation span { justify-self:end; margin-top:8px; color:var(--emerald); font:950 34px/1 var(--font-display); }
.division-reader-teacher { position:absolute; z-index:3; right:-4%; bottom:-11%; width:91%; height:111%; object-fit:contain; object-position:right bottom; filter:drop-shadow(0 20px 14px rgba(38,38,43,.16)); animation:division-lesson-teacher .75s .12s var(--ease-spring) both; }
.division-reader-cover__blob { position:absolute; z-index:5; bottom:-4%; left:-4%; width:190px; height:190px; animation:division-lesson-blob 2.2s ease-in-out infinite; }
.division-reader-cover__blob>.goodie-companion { width:100%; height:100%; }
.approved-hero-symbol { position:absolute; z-index:4; top:7%; left:-2%; display:grid; min-width:190px; min-height:150px; place-items:center; pointer-events:none; transform:rotate(-7deg); filter:none; animation:approved-hero-symbol-float 3s ease-in-out infinite; }
.approved-hero-symbol strong { color:var(--violet); font:950 clamp(76px,8vw,132px)/.75 var(--font-display); letter-spacing:-.07em; text-align:center; text-shadow:5px 5px 0 var(--soft); white-space:nowrap; }
@keyframes approved-hero-symbol-float { 0%,100%{transform:translateY(0) rotate(-7deg)} 50%{transform:translateY(-10px) rotate(-3deg)} }

.division-reader-layout { display:grid; grid-template-columns:minmax(0,950px) minmax(280px,360px); width:min(calc(100% - 34px),1390px); margin:0 auto; align-items:start; gap:clamp(28px,4vw,66px); }
.division-reader-article { min-width:0; padding:clamp(38px,5vw,76px); border-radius:72px 104px 64px 96px; background:#fffefa; box-shadow:none; }
.division-reader-section { padding:clamp(50px,7vw,92px) 0; border-top:3px solid rgba(38,38,43,.1); scroll-margin-top:20px; }
.division-reader-section:first-child { padding-top:4px; border-top:0; }
.division-reader-chapter { display:block; margin-bottom:18px; color:var(--violet); font-size:11px; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.division-reader-section h2,.division-reader-finale h2 { max-width:820px; margin:0 0 34px; font-size:clamp(52px,5.3vw,82px); line-height:.88; }
.division-reader-section h2 em,.division-reader-finale h2 i { color:var(--violet); font-style:normal; }
.division-reader-section p { max-width:790px; margin:0 0 25px; font-size:clamp(18px,1.45vw,22px); font-weight:560; line-height:1.68; }
.division-reader-section p strong { font-weight:900; }
.division-reader-lead { font-size:clamp(22px,1.85vw,28px)!important; font-weight:690!important; line-height:1.53!important; }
.division-reader-section mark { padding:0 .14em .03em; border-radius:.18em .42em .16em .35em; color:inherit; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.division-reader-section mark.is-sun { background:var(--sun); }
.division-reader-section mark.is-violet { background:#d8c8ff; }
.division-reader-section mark.is-pink { background:var(--pink); }
.division-reader-section mark.is-coral { background:#ffb2a9; }
.division-reader-section mark.is-acid { background:var(--acid); }
.division-reader-voice { max-width:760px; margin:34px 0 0 8%; padding:24px 30px; border-radius:29px 47px 26px 42px; background:var(--pink); box-shadow:none; transform:rotate(-.5deg); }
.division-reader-voice span,.division-reader-rule b { display:block; margin-bottom:7px; color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.13em; }
.division-reader-voice p { margin:0; font-size:18px; font-weight:820; line-height:1.45; }

.division-reader-roles { display:grid; margin:34px 0; gap:11px; }
.division-reader-roles>div { display:grid; grid-template-columns:130px 1fr; min-height:125px; padding:18px 24px; border-radius:30px 48px 27px 43px; align-items:center; gap:22px; background:var(--sun); box-shadow:none; }
.division-reader-roles>div:nth-child(even) { border-radius:47px 29px 43px 27px; }
.division-reader-roles>div.is-violet { background:#d8c8ff; }
.division-reader-roles>div.is-pink { background:var(--pink); }
.division-reader-roles>div.is-coral { background:#ffb2a9; }
.division-reader-roles dt { font:950 clamp(45px,5vw,70px)/.8 var(--font-display); }
.division-reader-roles dd { margin:0; }
.division-reader-roles dd strong { font:950 23px/1 var(--font-display); }
.division-reader-roles dd p { margin:6px 0 0; font-size:16px; font-weight:650; line-height:1.35; }
.division-reader-proof { margin:36px 0 0; padding:28px 31px; border-radius:38px 55px 34px 50px; background:var(--acid); box-shadow:none; }
.division-reader-proof>span,.division-reader-result>span,.division-reader-check>span { display:block; margin-bottom:13px; color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.13em; }
.division-reader-proof p { margin:0 0 19px; font-size:17px; font-weight:850; }
.division-reader-proof>strong { font:950 clamp(28px,3.2vw,46px)/1 var(--font-display); }

.division-reader-placevalue { display:flex; margin:36px 0; align-items:center; justify-content:center; flex-wrap:wrap; gap:11px; }
.division-reader-placevalue>div { display:grid; width:190px; min-height:190px; border-radius:44% 56% 48% 52%/54% 43% 57% 46%; align-content:center; justify-items:center; background:var(--sun); box-shadow:none; }
.division-reader-placevalue>div:nth-of-type(2) { background:var(--pink); transform:rotate(1deg); }
.division-reader-placevalue>div:nth-of-type(3) { background:#d8c8ff; transform:rotate(-1deg); }
.division-reader-placevalue strong { font:950 70px/.8 var(--font-display); }
.division-reader-placevalue span { margin-top:13px; font-size:10px; font-weight:950; letter-spacing:.1em; }
.division-reader-placevalue small { margin-top:5px; color:rgba(38,38,43,.6); font-weight:850; }
.division-reader-placevalue>b { color:var(--violet); font:950 27px/1 var(--font-display); }
.division-reader-rule { display:grid; grid-template-columns:105px 1fr; max-width:790px; margin:32px 0; padding:25px 29px; border-radius:30px 47px 27px 43px; align-items:center; gap:18px; background:var(--acid); box-shadow:none; }
.division-reader-rule.is-coral { background:#ffb2a9; }
.division-reader-rule b { margin:0; color:var(--ink); }
.division-reader-rule p { margin:0; font-size:18px; font-weight:780; line-height:1.42; }

.division-reader-worked { position:relative; display:grid; grid-template-columns:390px 195px; width:585px; max-width:100%; min-height:650px; margin:50px auto 55px; padding:40px 35px 48px; border-radius:46px 64px 41px 58px; background:var(--sun); box-shadow:none; }
.division-reader-worked__calculation { position:relative; width:320px; min-height:540px; font:950 70px/1 var(--font-display); font-variant-numeric:tabular-nums; }
.division-reader-worked__calculation span,.division-reader-worked__calculation i { position:absolute; z-index:2; text-align:right; }
/* Every endpoint below is locked to the real hundreds / tens / units columns. */
.division-reader-worked__calculation .origin { top:0; left:45px; width:216px; }
.division-reader-worked__calculation .minus.one { top:84px; left:72px; width:100px; color:var(--emerald); }
.division-reader-worked__calculation .rule.one { top:151px; left:72px; width:100px; height:6px; border-radius:50%; background:var(--ink); }
.division-reader-worked__calculation .carry.one { top:170px; left:72px; width:144px; }
.division-reader-worked__calculation .minus.two { top:250px; left:44px; width:172px; color:var(--emerald); }
.division-reader-worked__calculation .rule.two { top:317px; left:44px; width:172px; height:6px; border-radius:50%; background:var(--ink); }
.division-reader-worked__calculation .carry.two { top:335px; left:117px; width:144px; }
.division-reader-worked__calculation .minus.three { top:415px; left:89px; width:172px; color:var(--emerald); }
.division-reader-worked__calculation .rule.three { top:482px; left:89px; width:172px; height:6px; border-radius:50%; background:var(--ink); }
.division-reader-worked__calculation .remainder { top:500px; left:189px; width:72px; color:var(--violet); }
.division-bring-down { position:absolute; inset:0; z-index:1; width:100%; height:100%; overflow:visible; pointer-events:none; }
.division-bring-down path { fill:none; stroke:var(--violet); stroke-linecap:round; stroke-linejoin:round; }
.division-bring-down .track { stroke-width:4px; stroke-dasharray:1; stroke-dashoffset:1; animation:division-bring-down-track 4.8s ease-in-out infinite; }
.division-bring-down .tip { stroke-width:5px; opacity:0; animation:division-bring-down-tip 4.8s ease-in-out infinite; }
.division-bring-down .track.two,.division-bring-down .tip.two { animation-delay:.65s; }
.division-bring-down.is-summary .track { stroke-width:3.5px; }
.division-bring-down.is-summary .tip { stroke-width:4px; }
@keyframes division-bring-down-track { 0%,12% { opacity:0; stroke-dashoffset:1; } 36%,78% { opacity:.9; stroke-dashoffset:0; } 100% { opacity:.2; stroke-dashoffset:0; } }
@keyframes division-bring-down-tip { 0%,30% { opacity:0; } 38%,78% { opacity:.9; } 100% { opacity:.2; } }
.division-reader-worked__answer { min-height:195px; border-left:8px solid var(--ink); }
.division-reader-worked__answer strong { display:grid; height:100px; padding-left:30px; align-items:center; font:950 70px/1 var(--font-display); }
.division-reader-worked__answer span { display:block; padding:22px 0 0 28px; border-top:8px solid var(--ink); color:var(--violet); font:950 70px/1 var(--font-display); }
.division-reader-worked__legend { position:absolute; bottom:22px; left:159px; display:grid; grid-template-columns:repeat(3,44px); width:132px; gap:0; }
.division-reader-worked__legend span { padding:8px 0; border-radius:13px 19px 12px 17px; font-size:8px; font-weight:900; text-align:center; }
.division-reader-worked__legend .is-sun { background:white; }
.division-reader-worked__legend .is-pink { background:var(--pink); }
.division-reader-worked__legend .is-violet { background:#d8c8ff; }

.division-reader-steps { display:grid; margin:42px 0; gap:17px; }
.division-reader-steps>section { display:grid; grid-template-columns:82px 1fr; padding:28px 31px 31px 24px; border-radius:37px 56px 33px 51px; align-items:start; gap:21px; background:var(--oat); box-shadow:none; }
.division-reader-steps>section:nth-child(2) { border-radius:56px 36px 51px 34px; }
.division-reader-steps>section>i { display:grid; width:68px; height:68px; border-radius:23px 31px 21px 28px; background:var(--violet); color:white; font:950 18px/1 var(--font-body); font-style:normal; place-items:center; }
.division-reader-steps>section:nth-child(2)>i { background:var(--coral); color:var(--ink); }
.division-reader-steps>section:nth-child(3)>i { background:var(--acid); color:var(--ink); }
.division-reader-steps span { color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.12em; }
.division-reader-steps h3 { margin:8px 0 10px; font:950 clamp(31px,3vw,44px)/.95 var(--font-display); }
.division-reader-steps p { margin:0 0 15px; font-size:17px; line-height:1.55; }
.division-reader-steps small { display:block; color:var(--emerald); font-size:14px; font-weight:850; }
.division-reader-calc { display:inline-block; padding:10px 14px; border-radius:16px 23px 14px 21px; background:white; font-weight:900!important; }
.division-reader-calc b { padding:0 6px; color:var(--violet); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.division-reader-result { margin:40px 0 0; padding:35px; border-radius:43% 57% 46% 54%/43% 45% 55% 57%; background:var(--acid); text-align:center; box-shadow:none; }
.division-reader-result>span { margin-bottom:10px; }
.division-reader-result>strong { display:block; font:950 clamp(42px,5vw,68px)/.9 var(--font-display); }
.division-reader-result p { margin:15px auto 0; font-size:17px; }

.division-reader-remainder { display:flex; margin:35px 0; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; }
.division-reader-remainder>div { display:grid; min-width:135px; min-height:125px; padding:18px; border-radius:29px 43px 26px 39px; align-content:center; justify-items:center; background:var(--pink); box-shadow:none; }
.division-reader-remainder>div:nth-of-type(2) { background:#d8c8ff; }
.division-reader-remainder>div:nth-of-type(3) { background:var(--sun); }
.division-reader-remainder>div:nth-of-type(4) { background:#ffb2a9; }
.division-reader-remainder small { font-size:9px; font-weight:950; letter-spacing:.08em; }
.division-reader-remainder strong { margin-top:9px; font:950 43px/.9 var(--font-display); }
.division-reader-remainder>b { color:var(--violet); font:950 25px/1 var(--font-display); }
.division-reader-check { margin:34px 0; padding:36px; border-radius:54px 35px 49px 33px; background:var(--violet); color:white; box-shadow:none; }
.division-reader-check>span { color:var(--acid); }
.division-reader-check>strong { display:block; font:950 clamp(38px,4.5vw,63px)/.95 var(--font-display); }
.division-reader-check>p { margin:16px 0 0; color:white; font-size:17px; }
.division-reader-mistakes { display:grid; margin:34px 0 0; padding:0; list-style:none; gap:10px; }
.division-reader-mistakes li { display:grid; grid-template-columns:64px 1fr; min-height:120px; padding:21px 25px; border-radius:30px 45px 27px 41px; align-items:center; gap:18px; background:var(--pink); }
.division-reader-mistakes li:nth-child(even) { border-radius:45px 30px 41px 27px; background:var(--oat); }
.division-reader-mistakes i { color:var(--coral); font:950 15px/1 var(--font-body); font-style:normal; }
.division-reader-mistakes strong { font:900 20px/1.1 var(--font-display); }
.division-reader-mistakes p { margin:6px 0 0; font-size:15px; line-height:1.42; }

.division-reader-finale { position:relative; display:grid; grid-template-columns:1fr 300px; margin:45px calc(clamp(38px,5vw,76px) * -1) calc(clamp(38px,5vw,76px) * -1); padding:clamp(44px,5vw,76px); overflow:hidden; border-radius:70px 104px 64px 96px; align-items:center; gap:28px; background:var(--acid); }
.division-reader-finale h2 { font-size:clamp(45px,5vw,75px); }
.division-reader-finale p { max-width:690px; font-size:18px; font-weight:680; line-height:1.5; }
.division-reader-finale button { display:inline-flex; min-height:66px; margin-top:20px; padding:8px 9px 8px 25px; border:0; border-radius:29px 40px 26px 36px; align-items:center; gap:24px; background:var(--violet); color:white; font-weight:950; cursor:pointer; box-shadow:none; }
.division-reader-finale button b { display:grid; width:48px; height:48px; border-radius:17px 22px 15px 20px; background:white; color:var(--ink); place-items:center; }
.division-reader-finale__visual { position:relative; display:grid; min-height:320px; align-content:center; justify-items:center; }
.division-reader-finale__visual>.goodie-companion { position:absolute; right:-8%; bottom:-15%; width:225px; height:225px; }
.division-reader-finale__visual>strong { position:relative; z-index:2; color:var(--violet); font:950 100px/.8 var(--font-display); transform:rotate(-4deg); }
.division-reader-finale__visual>span { position:relative; z-index:2; padding:9px 13px; border-radius:14px 20px 13px 18px; background:var(--soft); font-size:11px; font-weight:900; transform:rotate(2deg); }

.division-reader-rail { position:relative; display:grid; align-self:stretch; align-content:start; gap:17px; }
.division-reader-rail>nav,.division-reader-rail>section { padding:25px; border-radius:34px 49px 31px 45px; background:var(--soft); box-shadow:none; }
.division-reader-rail>nav { position:sticky; z-index:2; top:22px; align-self:start; }
.division-reader-rail>nav>span,.division-reader-rail>section>span { display:block; margin-bottom:15px; color:var(--violet); font-size:10px; font-weight:950; letter-spacing:.13em; }
.division-reader-rail nav a { display:flex; min-height:44px; padding:10px 0; align-items:center; border-top:1px solid rgba(38,38,43,.12); color:var(--ink); font-size:13px; font-weight:780; text-decoration:none; }
.division-reader-rail nav a:hover { color:var(--violet); }
.division-reader-rail__rhythm { background:var(--violet)!important; color:white; }
.division-reader-rail__rhythm>span { color:var(--acid)!important; }
.division-reader-rail__rhythm ol { display:grid; margin:0; padding:0; list-style:none; gap:8px; }
.division-reader-rail__rhythm li { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:10px; font-size:14px; font-weight:850; }
.division-reader-rail__rhythm i { display:grid; width:38px; height:38px; border-radius:13px 18px 12px 16px; background:var(--acid); color:var(--ink); font-size:11px; font-style:normal; place-items:center; }
.division-reader-rail__table { background:var(--sun)!important; }
.division-reader-rail__table p { margin:0; font:900 21px/1.5 var(--font-display); letter-spacing:.03em; }
.division-reader-rail__table small { display:block; margin-top:12px; font-size:12px; font-weight:680; line-height:1.4; }
.division-reader-rail__henry { position:relative; min-height:300px; overflow:hidden; background:var(--pink)!important; }
.division-reader-rail__henry img { position:absolute; right:-15%; bottom:-16%; width:77%; height:75%; object-fit:contain; object-position:right bottom; }
.division-reader-rail__henry p { position:relative; z-index:2; width:66%; margin:0; font-size:13px; font-weight:680; line-height:1.42; }
.division-reader-rail__henry strong { display:block; margin-bottom:7px; font:900 18px/1 var(--font-display); }

@media (max-width:1100px) {
  .division-reader-cover { grid-template-columns:1fr; }
  .division-reader-cover__visual { min-height:500px; }
  .division-reader-layout { grid-template-columns:1fr; }
  .division-reader-rail { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .division-reader-rail>nav { position:static; }
  .division-reader-rail>nav { grid-row:span 2; }
}

@media (max-width:720px) {
  .division-reader-cover { width:100%; min-height:0; padding:38px 22px 25px; border-radius:48px 66px 43px 61px; }
  .division-reader-cover h1 { font-size:clamp(60px,18vw,82px); }
  .division-reader-cover__visual { min-height:410px; }
  .division-reader-teacher { width:110%; }
  .division-reader-cover__equation { left:0; width:215px; padding:18px; }
  .division-reader-cover__equation strong { font-size:35px; }
  .division-reader-cover__blob { width:140px; height:140px; }
  .division-reader-layout { width:100%; gap:18px; }
  .division-reader-article { padding:38px 19px; border-radius:47px 66px 43px 61px; }
  .division-reader-section { padding:58px 0; }
  .division-reader-section h2,.division-reader-finale h2 { font-size:clamp(44px,13.5vw,66px); }
  .division-reader-section p { font-size:17px; }
  .division-reader-lead { font-size:20px!important; }
  .division-reader-voice { margin-left:0; padding:21px; }
  .division-reader-roles>div { grid-template-columns:90px 1fr; padding:17px; }
  .division-reader-roles dt { font-size:43px; }
  .division-reader-rule { grid-template-columns:1fr; }
  .division-reader-placevalue>div { width:136px; min-height:142px; }
  .division-reader-placevalue strong { font-size:52px; }
  .division-reader-worked { grid-template-columns:295px 145px; width:440px; min-height:560px; margin-left:50%; padding:30px 18px 38px; transform:translateX(-50%) scale(.78); transform-origin:top center; margin-bottom:-75px; }
  .division-reader-worked__calculation { width:275px; }
  .division-reader-worked__answer strong,.division-reader-worked__answer span { padding-left:19px; font-size:57px; }
  .division-reader-steps>section { grid-template-columns:1fr; padding:22px 18px 25px; }
  .division-reader-remainder>div { min-width:105px; min-height:105px; padding:12px; }
  .division-reader-mistakes li { grid-template-columns:48px 1fr; padding:18px; }
  .division-reader-finale { grid-template-columns:1fr; margin:35px -19px -38px; padding:38px 22px; }
  .division-reader-finale__visual { min-height:260px; }
  .division-reader-rail { grid-template-columns:1fr; }
  .division-reader-rail>nav { grid-row:auto; }
}

@media (prefers-reduced-motion:reduce) {
  .division-reader-teacher,.division-reader-cover__blob { animation:none!important; }
}

/* Flashcards: one retrieval task, a real flip, and immediate self-rating. */
.division-flashcards-page { background:var(--violet); color:white; }
.division-flashcards-page .division-module-bar::after { background:var(--acid); }
.division-flashcards-page .division-module-bar span { color:var(--acid); }
.division-flashcards-page .division-module-nav button { background:var(--soft); color:var(--ink); }
.division-flashcards-page .division-module-nav button.is-current { background:var(--acid); }
.division-flashcards-stage { width:min(calc(100% - 34px),1540px); margin:0 auto; padding:clamp(28px,4vw,66px); }
.division-flashcards-stage>header { max-width:1110px; }
.division-flashcards-stage .division-module-kicker,.division-flashcards-stage h1 i { color:var(--acid); }
.division-flashcards-stage>header>p { max-width:780px; font-size:20px; font-weight:650; line-height:1.42; }
.division-flashcards-progress { display:grid; grid-template-columns:auto 1fr auto; margin:26px 0 32px; align-items:center; gap:15px; }
.division-flashcards-progress>span,.division-flashcards-progress>strong { font:900 13px/1 var(--font-body); letter-spacing:.08em; }
.division-flashcards-progress>div { position:relative; height:10px; overflow:hidden; border-radius:50%; background:rgba(255,255,255,.2); }
.division-flashcards-progress>div i { display:block; width:var(--flash-progress); height:100%; border-radius:50%; background:var(--acid); transition:width .45s var(--ease-spring); }
.division-flashcard-world { display:grid; grid-template-columns:minmax(0,1fr) 300px; max-width:1230px; margin:0 auto; align-items:center; gap:38px; perspective:1800px; }
.division-flashcard { width:100%; min-height:500px; padding:0; border:0; border-radius:82px 126px 73px 116px; background:transparent; color:var(--ink); cursor:pointer; perspective:1800px; filter:none; }
.division-flashcard__inner { position:relative; display:block; width:100%; min-height:500px; transform-style:preserve-3d; transition:transform .72s var(--ease-spring); }
.division-flashcard.is-flipped .division-flashcard__inner { transform:rotateY(180deg); }
.division-flashcard__front,.division-flashcard__back { position:absolute; inset:0; display:flex; padding:clamp(38px,5vw,78px); border-radius:82px 126px 73px 116px; align-items:center; justify-content:center; flex-direction:column; text-align:center; backface-visibility:hidden; }
.division-flashcard__front { background:var(--sun); }
.division-flashcard.is-violet .division-flashcard__front { background:var(--acid); }
.division-flashcard.is-pink .division-flashcard__front { background:var(--pink); }
.division-flashcard.is-coral .division-flashcard__front { background:var(--coral); }
.division-flashcard.is-acid .division-flashcard__front { background:var(--acid); }
.division-flashcard__back { background:var(--soft); transform:rotateY(180deg); }
.division-flashcard small { color:var(--violet); font:950 12px/1 var(--font-body); letter-spacing:.13em; }
.division-flashcard strong { max-width:850px; margin:28px 0; font:950 clamp(62px,7.5vw,120px)/.82 var(--font-display); letter-spacing:-.07em; text-transform:uppercase; text-wrap:balance; }
.division-flashcard__back strong { font-size:clamp(38px,4.6vw,72px); line-height:.95; text-transform:none; }
.division-flashcard em { max-width:690px; font:850 14px/1.3 var(--font-body); font-style:normal; }
.division-flashcard__back em { padding:14px 20px; border-radius:21px 31px 19px 28px; background:var(--acid); color:var(--ink); font-size:17px; }
.division-flashcard-companion { position:relative; min-height:330px; align-self:end; }
.division-flashcard-companion>.goodie-companion { position:absolute; right:0; bottom:0; width:290px; height:290px; }
.division-flashcard-companion>span { position:absolute; z-index:2; top:3%; left:-10%; width:190px; color:white; font:950 20px/1.02 var(--font-display); transform:rotate(-5deg); }
.division-flashcard-controls { display:flex; max-width:1230px; margin:30px auto 0; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; }
.division-flashcard-controls button { display:flex; min-height:58px; padding:8px 17px; border:0; border-radius:24px 34px 22px 31px; align-items:center; gap:14px; background:var(--soft); color:var(--ink); font-weight:900; cursor:pointer; box-shadow:none; }
.division-flashcard-controls button.is-review { background:var(--coral); }
.division-flashcard-controls button.is-known { background:var(--acid); }
.division-flashcard-controls button.is-marked { background:var(--emerald); color:white; }
.division-flashcard-controls button[disabled] { opacity:.28; cursor:not-allowed; }
.division-flashcard-controls>span { padding:0 16px; color:rgba(255,255,255,.72); font-size:13px; font-weight:800; }
.division-flashcards-summary { display:flex; margin:28px auto 0; background:var(--acid); color:var(--ink); }

/* Summary: a scan-friendly memory trace with a print mode. */
.division-summary-page { background:var(--acid); }
.division-summary-hero { display:grid; grid-template-columns:1fr 360px; width:min(calc(100% - 34px),1540px); min-height:470px; margin:0 auto 28px; padding:clamp(40px,5vw,78px); border-radius:83px 128px 75px 116px; align-items:center; gap:34px; background:var(--pink); box-shadow:none; }
.division-summary-hero>div:first-child>p { max-width:780px; font-size:20px; font-weight:650; line-height:1.42; }
.division-summary-badge { position:relative; display:grid; width:330px; height:330px; border-radius:46% 54% 43% 57%/56% 44% 56% 44%; place-self:center; place-items:center; align-content:center; background:var(--violet); color:white; box-shadow:none; transform:rotate(3deg); }
.division-summary-badge>strong { font:950 130px/.72 var(--font-display); }
.division-summary-badge>span { color:var(--acid); font:950 28px/1 var(--font-display); text-transform:uppercase; }
.division-summary-badge>small { margin-top:12px; font-weight:850; }
.division-summary-badge>.goodie-companion { position:absolute; right:-31%; bottom:-18%; width:190px; height:190px; transform:rotate(-3deg); }
.division-summary-sheet { width:min(calc(100% - 34px),1540px); margin:0 auto; padding:clamp(40px,5vw,78px); border-radius:122px 75px 114px 82px; background:var(--soft); box-shadow:none; }
.division-summary-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; }
.division-summary-grid>article { padding:28px; border-radius:39px 54px 35px 49px; background:var(--pink); box-shadow:none; }
.division-summary-grid>article:nth-child(2),.division-summary-grid>article:nth-child(3) { border-radius:54px 36px 50px 39px; }
.division-summary-grid>article>span { color:var(--violet); font-size:11px; font-weight:950; letter-spacing:.12em; }
.division-summary-real { grid-row:span 2; }
.division-summary-real>div { display:grid; grid-template-columns:300px 140px; width:440px; max-width:100%; min-height:410px; margin:28px auto 0; }
.division-summary-calculation { position:relative; width:270px; min-height:400px; padding:0!important; font:950 54px/1 var(--font-display); font-variant-numeric:tabular-nums; }
.division-summary-calculation span,.division-summary-calculation i { position:absolute; z-index:2; text-align:right; }
.division-summary-calculation .origin { top:0; left:54px; width:174px; }
.division-summary-calculation .minus.one { top:65px; left:78px; width:82px; color:var(--emerald); }
.division-summary-calculation .rule.one { top:116px; left:78px; width:82px; height:5px; border-radius:50%; background:var(--ink); }
.division-summary-calculation .carry.one { top:130px; left:78px; width:116px; }
.division-summary-calculation .minus.two { top:195px; left:54px; width:140px; color:var(--emerald); }
.division-summary-calculation .rule.two { top:246px; left:54px; width:140px; height:5px; border-radius:50%; background:var(--ink); }
.division-summary-calculation .carry.two { top:260px; left:112px; width:116px; }
.division-summary-calculation .minus.three { top:325px; left:88px; width:140px; color:var(--emerald); }
.division-summary-calculation .rule.three { top:376px; left:88px; width:140px; height:5px; border-radius:50%; background:var(--ink); }
.division-summary-calculation .remainder { top:388px; left:170px; width:58px; color:var(--coral); }
.division-summary-real aside { border-left:7px solid var(--ink); }
.division-summary-real aside>strong { display:block; padding:8px 22px 17px; border-bottom:7px solid var(--ink); font:950 62px/1 var(--font-display); }
.division-summary-real aside>b { display:block; padding:20px; color:var(--violet); font:950 66px/1 var(--font-display); }
.division-summary-roles { background:var(--sun)!important; }
.division-summary-roles dl { display:grid; grid-template-columns:1fr 1fr; margin:25px 0 0; gap:11px; }
.division-summary-roles dl>div { display:grid; grid-template-columns:62px 1fr; min-height:76px; padding:8px; border-radius:23px 33px 21px 30px; align-items:center; gap:10px; background:rgba(255,255,255,.72); }
.division-summary-roles dt { display:grid; width:58px; height:58px; border-radius:20px 26px 18px 24px; background:var(--violet); color:white; font:950 20px/1 var(--font-display); place-items:center; }
.division-summary-roles dd { display:grid; margin:0; }
.division-summary-roles dd strong { font:950 15px/1 var(--font-display); text-transform:uppercase; }
.division-summary-roles dd small { margin-top:4px; font-size:11px; font-weight:700; }
.division-summary-cycle { background:var(--violet)!important; color:white; }
.division-summary-cycle>span { color:var(--acid)!important; }
.division-summary-cycle ol { display:grid; grid-template-columns:repeat(4,1fr); margin:26px 0 0; padding:0; gap:8px; list-style:none; }
.division-summary-cycle li { display:grid; gap:9px; }
.division-summary-cycle i { display:grid; width:48px; height:48px; border-radius:17px 22px 15px 20px; background:var(--acid); color:var(--ink); font-style:normal; place-items:center; }
.division-summary-cycle strong { font-size:13px; }
.division-summary-proof { grid-column:1/-1; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px 25px; background:var(--acid)!important; }
.division-summary-proof>span { grid-column:1/-1; }
.division-summary-proof>strong { font:950 clamp(24px,3vw,46px)/1 var(--font-display); }
.division-summary-proof>p { margin:0; padding:13px 18px; border-radius:20px 29px 18px 26px; background:var(--violet); color:white; font:900 22px/1 var(--font-display); }
.division-summary-proof>small { font-weight:800; }
.division-summary-actions { display:flex; width:min(calc(100% - 34px),1540px); margin:4px auto 0; padding:30px 0; justify-content:center; flex-wrap:wrap; gap:11px; }
.division-summary-actions button { margin:0; background:var(--violet); }
.division-summary-actions button:first-child { background:var(--emerald); }
.division-summary-actions button:nth-child(2) { background:var(--coral); color:var(--ink); }

@keyframes division-lesson-teacher { from{opacity:0;transform:translateX(45px) rotate(2deg)} to{opacity:1;transform:none} }
@keyframes division-lesson-potence { 0%,100%{transform:rotate(-4deg) translateY(0)} 50%{transform:rotate(-2.5deg) translateY(-8px)} }
@keyframes division-lesson-blob { 0%,100%{transform:translateY(0) rotate(-3deg)} 45%{transform:translateY(-16px) rotate(4deg)} 62%{transform:translateY(-7px) rotate(-2deg)} }
@keyframes division-role-rise { from{opacity:0;transform:translateY(24px) scale(.94)} to{opacity:1;transform:rotate(calc((var(--role-order) - 1.5) * .65deg))} }
@keyframes division-orbit-spin { to{transform:rotate(360deg)} }
@keyframes division-flash-buddy { 0%,100%{transform:translateY(0) rotate(-2deg)} 45%{transform:translateY(-18px) rotate(3deg)} 62%{transform:translateY(-7px) rotate(-1deg)} }

@media (max-width:1050px) {
  .division-lesson-hero,.division-lesson-rhythm { grid-template-columns:1fr; }
  .division-lesson-hero__cast { min-height:520px; }
  .division-lesson-roles>div,.division-exchange-story { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .division-exchange-story::before { display:none; }
  .division-exchange-story article:nth-child(even) { transform:none; }
  .division-rhythm-orbit { min-height:420px; }
  .division-flashcard-world { grid-template-columns:1fr 220px; }
.division-flashcard-companion>.goodie-companion { width:220px; height:220px; }
  .division-summary-grid { grid-template-columns:1fr; }
  .division-summary-real { grid-row:auto; }
}

@media (max-width:720px) {
  .division-module-page { padding-inline:8px; }
  .division-module-bar { padding-inline:8px; }
  .division-module-bar time { display:none; }
  .division-module-nav { grid-template-columns:repeat(4,155px); width:100%; margin-inline:0; padding:3px 3px 12px; overflow-x:auto; }
  .division-module-nav::before { display:none; }
  .division-module-nav button { grid-template-columns:42px 1fr; min-height:60px; }
  .division-module-nav i { width:42px; height:42px; }
  .division-module-page h1,.division-module-page h2 { font-size:clamp(52px,15vw,76px); }
  .division-lesson-hero,.division-lesson-roles,.division-lesson-story,.division-lesson-rhythm,.division-summary-hero,.division-summary-sheet { width:100%; padding:38px 22px 48px; border-radius:48px 66px 43px 61px; }
  .division-lesson-hero__cast { min-height:410px; }
  .division-lesson-teacher { width:104%; }
  .division-lesson-potence { left:0; width:230px; min-height:155px; }
  .division-lesson-potence span,.division-lesson-potence b,.division-lesson-potence strong { font-size:41px; }
  .division-lesson-blob { right:auto; left:-2%; width:145px; height:145px; }
  .division-lesson-roles>div,.division-exchange-story { grid-template-columns:1fr; }
  .division-lesson-roles article { min-height:210px; }
  .division-lesson-roles>aside { align-items:flex-start; flex-direction:column; }
  .division-lesson-roles>aside mark { margin-left:0; font-size:19px; }
  .division-lesson-rhythm { gap:15px; }
  .division-rhythm-orbit { min-height:350px; }
  .division-flashcards-stage { width:100%; padding:25px 10px 45px; }
  .division-flashcard-world { grid-template-columns:1fr; gap:0; }
  .division-flashcard,.division-flashcard__inner { min-height:440px; }
  .division-flashcard__front,.division-flashcard__back { padding:30px 20px; border-radius:48px 67px 43px 61px; }
  .division-flashcard strong { font-size:clamp(48px,14vw,72px); }
  .division-flashcard__back strong { font-size:36px; }
  .division-flashcard-companion { min-height:190px; }
.division-flashcard-companion>.goodie-companion { right:2%; width:180px; height:180px; }
  .division-flashcard-companion>span { top:10%; left:4%; }
  .division-flashcard-controls { justify-content:stretch; }
  .division-flashcard-controls button { flex:1 1 42%; justify-content:center; }
  .division-flashcard-controls>span { width:100%; text-align:center; }
  .division-summary-hero { grid-template-columns:1fr; }
  .division-summary-badge { width:250px; height:250px; }
.division-summary-badge>.goodie-companion { right:-17%; width:145px; height:145px; }
  .division-summary-grid>article { padding:22px 16px; }
  .division-summary-real>div { grid-template-columns:250px 130px; width:380px; margin-left:50%; transform:translateX(-50%) scale(.82); transform-origin:top center; margin-bottom:-80px; }
  .division-summary-roles dl { grid-template-columns:1fr; }
  .division-summary-cycle ol { grid-template-columns:1fr 1fr; }
  .division-summary-proof { grid-template-columns:1fr; }
  .division-summary-actions button { width:100%; justify-content:space-between; }
}

@media (prefers-reduced-motion:reduce) {
.division-lesson-teacher { animation:none!important; }
.division-lesson-potence { animation:none!important; }
.division-lesson-blob { animation:none!important; }
.division-lesson-roles article { animation:none!important; }
.division-rhythm-orbit::before { animation:none!important; }
.division-flashcard-companion>.goodie-companion {; }
  .division-flashcard__inner { transition:none!important; }
  .division-bring-down .track { opacity:.82; stroke-dashoffset:0; animation:none!important; }
  .division-bring-down .tip { opacity:.82; animation:none!important; }
}

@media print {
  body:has(.division-summary-page) { background:white!important; }
  body:has(.division-summary-page) .immersive-nav,
  body:has(.division-summary-page) .division-module-bar,
  body:has(.division-summary-page) .division-module-nav,
  body:has(.division-summary-page) .division-summary-hero,
  body:has(.division-summary-page) .division-summary-actions { display:none!important; }
  .division-summary-page { min-height:0; padding:0; background:white!important; }
  .division-summary-sheet { width:100%; margin:0; padding:28px; border-radius:0; box-shadow:none; break-inside:avoid; }
}

/* Complete parent/teacher guide — an editorial reading system, not a card dashboard. */
.division-guide-page{overflow:visible;background:var(--oat)}
.division-guide-cover{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);width:min(calc(100% - 34px),1540px);min-height:610px;margin:0 auto 34px;padding:clamp(45px,5.5vw,88px);overflow:hidden;border-radius:78px 128px 70px 116px;align-items:center;gap:clamp(42px,5vw,86px);background:var(--soft);box-shadow:none}
.division-guide-cover::before{position:absolute;right:-8%;bottom:-25%;width:52%;aspect-ratio:1;border-radius:48% 52% 43% 57%/55% 44% 56% 45%;background:var(--coral);content:"";transform:rotate(-8deg)}
.division-guide-cover::after{position:absolute;left:-6%;top:-20%;width:30%;aspect-ratio:1;border-radius:44% 56% 37% 63%/51% 43% 57% 49%;background:var(--pink);content:"";opacity:.55;transform:rotate(14deg)}
.division-guide-cover>div,.division-guide-cover>aside{position:relative;z-index:1}.division-guide-cover h1{max-width:940px;margin-bottom:28px;font-size:clamp(62px,6.3vw,108px)}.division-guide-cover h1 i{color:var(--coral)}.division-guide-cover>div>p{max-width:710px;margin:0;font-size:clamp(19px,1.6vw,27px);font-weight:720;line-height:1.45}
.division-guide-cover dl{display:flex;margin:30px 0 0;flex-wrap:wrap;gap:10px}.division-guide-cover dl div{min-width:170px;padding:14px 18px;border-radius:22px 33px 19px 30px;background:rgba(255,255,255,.72)}.division-guide-cover dt{color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.13em}.division-guide-cover dd{margin:5px 0 0;font-weight:900}
.division-guide-cover__route{display:grid;padding:clamp(31px,4vw,55px);border:5px solid var(--ink);border-radius:74px 112px 67px 98px;gap:25px;background:var(--acid);box-shadow:none;transform:rotate(1.2deg)}.division-guide-cover__route>span{font-size:11px;font-weight:950;letter-spacing:.14em}.division-guide-cover__route>div{display:grid;padding-bottom:24px;border-bottom:5px solid var(--ink);gap:3px}.division-guide-cover__route>div strong{font:950 clamp(40px,4.4vw,72px)/.88 var(--font-display)}.division-guide-cover__route>div b{color:var(--violet);font:950 clamp(48px,5vw,82px)/.88 var(--font-display)}.division-guide-cover__route ol{display:grid;margin:0;padding:0;gap:10px;list-style:none}.division-guide-cover__route li{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;font-size:16px;font-weight:900}.division-guide-cover__route li i{display:grid;width:38px;height:38px;border-radius:13px 18px 12px 16px;background:var(--violet);color:#fff;font-size:11px;font-style:normal;place-items:center}
.division-guide-layout{display:grid;grid-template-columns:270px minmax(0,1fr);width:min(calc(100% - 34px),1540px);margin:0 auto;align-items:start;gap:30px}.division-guide-toc{position:sticky;top:110px;display:grid;max-height:calc(100svh - 135px);padding:25px 19px 28px;overflow:auto;border-radius:43px 61px 39px 55px;gap:3px;background:var(--violet);color:#fff;box-shadow:none}.division-guide-toc>span{margin:4px 10px 14px;color:var(--acid);font-size:11px;font-weight:950;letter-spacing:.14em}.division-guide-toc a{display:flex;min-height:43px;padding:9px 10px;border-radius:15px 22px 14px 19px;align-items:center;gap:9px;color:#fff;font-size:12px;font-weight:800;line-height:1.2;text-decoration:none}.division-guide-toc a:hover{background:rgba(255,255,255,.14)}.division-guide-toc i{display:grid;width:27px;height:27px;flex:0 0 auto;border-radius:10px 13px 9px 12px;background:var(--acid);color:var(--ink);font-size:9px;font-style:normal;place-items:center}
.division-guide-book{display:grid;min-width:0;gap:24px}.division-guide-book>section{scroll-margin-top:105px}.division-guide-intro,.division-guide-time,.division-guide-bank,.division-guide-truefalse,.division-guide-sheet,.division-guide-cards,.division-guide-assessment{padding:clamp(36px,4.5vw,74px);border-radius:66px 104px 59px 92px;background:var(--soft);box-shadow:none}.division-guide-intro{background:var(--sun)}
.division-guide-intro>span,.division-guide-time>header>span,.division-guide-bank>header>span,.division-guide-truefalse>header>span,.division-guide-sheet>header>span,.division-guide-cards>header>span,.division-guide-assessment>header span{color:var(--violet);font-size:11px;font-weight:950;letter-spacing:.14em}.division-guide-intro h2,.division-guide-time h2,.division-guide-bank h2,.division-guide-truefalse h2,.division-guide-sheet h2,.division-guide-cards h2,.division-guide-assessment h2{margin:12px 0 25px;font-size:clamp(48px,5.4vw,88px)}.division-guide-intro>p{max-width:970px;margin:0;font-size:clamp(22px,2vw,31px);font-weight:770;line-height:1.43}.division-guide-intro mark{padding:0 .18em;background:var(--acid);color:var(--ink)}
.division-guide-editorial{display:grid;max-width:58ch;gap:.48em;text-wrap:pretty}.division-guide-editorial>span{display:block}.division-guide-opening{max-width:970px;margin:31px 0;padding:24px 27px;border-left:7px solid var(--violet);background:rgba(255,255,255,.45)}.division-guide-opening>strong{display:block;margin-bottom:10px;color:var(--violet);font-size:10px;letter-spacing:.11em}.division-guide-opening p{margin:0;font-size:17px;font-weight:720;line-height:1.5}
.division-guide-intro ul{display:grid;margin:30px 0;padding:0;gap:13px;list-style:none}.division-guide-intro li{display:flex;align-items:flex-start;gap:12px;font-size:17px;font-weight:760}.division-guide-intro li::before{display:grid;width:25px;height:25px;flex:0 0 auto;border-radius:9px 12px 8px 11px;background:var(--emerald);color:#fff;content:"✓";font-size:12px;place-items:center}.division-guide-intro aside,.division-guide-another{max-width:940px;padding:22px 27px;border-radius:28px 44px 25px 39px;background:var(--pink)}.division-guide-intro aside strong,.division-guide-another>span{display:block;color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.1em}.division-guide-intro aside p,.division-guide-another p{margin:8px 0 0;font-weight:720;line-height:1.5}
.division-guide-time:nth-of-type(3n+2){background:color-mix(in srgb,var(--pink) 72%,white)}.division-guide-time:nth-of-type(3n){background:color-mix(in srgb,var(--violet) 12%,white)}.division-guide-time>header{max-width:1030px}.division-guide-time>header>div{display:flex;flex-wrap:wrap;gap:7px}.division-guide-time>header mark{padding:9px 13px;border-radius:16px 22px 14px 20px;background:var(--acid);color:var(--ink);font-size:12px;font-weight:900}.division-guide-say{max-width:1000px;margin:31px 0;padding-left:25px;border-left:7px solid var(--coral)}.division-guide-say>span,.division-guide-points>span{color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.13em}.division-guide-say p{margin:9px 0 0;font-size:clamp(18px,1.55vw,24px);font-weight:670;line-height:1.55}.division-guide-points{margin-top:30px}.division-guide-points ol{display:grid;margin:14px 0 0;padding:0;counter-reset:guide-points;gap:11px;list-style:none}.division-guide-points li{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:10px;font-size:16px;font-weight:720;line-height:1.45}.division-guide-points li::before{display:grid;width:32px;height:32px;border-radius:12px 16px 10px 14px;background:var(--violet);color:#fff;content:counter(guide-points);counter-increment:guide-points;font-size:10px;place-items:center}.division-guide-points li>.division-guide-editorial,.division-guide-remember li>.division-guide-editorial{min-width:0}.division-guide-another{margin-top:30px}
.division-guide-place{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.08fr);max-width:1020px;margin:34px 0;align-items:stretch;gap:18px}.division-guide-place article{display:grid;min-height:250px;padding:38px 42px;border-radius:64px 92px 58px 84px;align-content:center;background:var(--sun);box-shadow:none}.division-guide-place article:last-child{background:var(--acid)}.division-guide-place article span{color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.12em}.division-guide-place article strong{display:block;margin:13px 0;font:950 clamp(30px,3vw,49px)/.9 var(--font-display)}.division-guide-place article p{max-width:30ch;margin:0;font-weight:720;line-height:1.45}.division-guide-place>i{align-self:center;font:950 36px/1 var(--font-display);font-style:normal}
.division-guide-exchange{display:flex;max-width:1040px;margin:31px 0;align-items:center;gap:12px}.division-guide-exchange article{display:grid;min-height:150px;padding:24px;border-radius:45% 55% 42% 58%/51% 44% 56% 49%;flex:1;align-content:center;background:var(--sun);text-align:center}.division-guide-exchange article:nth-of-type(2){background:var(--pink)}.division-guide-exchange article:nth-of-type(3){background:var(--acid)}.division-guide-exchange strong{font:950 clamp(25px,2.4vw,39px)/.9 var(--font-display)}.division-guide-exchange span{margin-top:8px;font-weight:800}.division-guide-exchange>i{color:var(--violet);font-size:18px;font-weight:950;font-style:normal}
.division-guide-exchange-table{display:grid;max-width:1080px;margin:28px 0;overflow:hidden;border-radius:28px 43px 25px 38px;background:var(--soft)}.division-guide-exchange-table>header,.division-guide-exchange-table>div{display:grid;grid-template-columns:.8fr 1.35fr 1fr .8fr 1.25fr;align-items:center}.division-guide-exchange-table>header{background:var(--violet);color:#fff}.division-guide-exchange-table span,.division-guide-exchange-table strong{padding:15px 12px;border-right:2px solid rgba(38,38,43,.08);font-size:12px;line-height:1.35}.division-guide-exchange-table>header span{font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.division-guide-exchange-table>div{border-bottom:2px solid rgba(38,38,43,.08)}.division-guide-exchange-table>div strong{color:var(--violet);font-weight:950}.division-guide-exchange-table>div:nth-child(3){background:var(--pink)}.division-guide-exchange-table>div:last-child{background:var(--acid)}
.division-guide-potence{max-width:1080px;margin:36px 0}.division-guide-potence figcaption{margin-bottom:12px;color:var(--violet);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.division-guide-potence__paper{display:grid;padding:clamp(24px,4vw,48px);border-radius:44px 68px 39px 59px;gap:28px;background:var(--sun);box-shadow:none}.division-guide-long{display:grid;grid-template-columns:max-content minmax(150px,200px) minmax(145px,1fr);max-width:850px;align-items:start}.division-guide-long__left{display:grid;padding:8px 0;gap:5px}.division-guide-long__dividend,.division-guide-long__row{display:grid;grid-template-columns:repeat(var(--guide-columns),minmax(48px,74px));min-height:62px;align-items:center}.division-guide-long__dividend strong{position:relative;text-align:right;font:950 clamp(34px,4.1vw,62px)/1 var(--font-display);font-variant-numeric:tabular-nums}.division-guide-long__dividend strong.is-decimal::before{position:absolute;left:-.12em;bottom:-.04em;content:","}.division-guide-long__row>strong{position:relative;padding:4px 4px 7px;text-align:right;font:950 clamp(31px,3.7vw,56px)/1 var(--font-display);font-variant-numeric:tabular-nums}.division-guide-long__row.is-subtract>strong{border-bottom:5px solid var(--ink)}.division-guide-long__row>strong i{position:absolute;left:2px;font-style:normal}.division-guide-long__right{display:grid;min-height:100%;border-left:7px solid var(--ink);align-content:start}.division-guide-long__right strong,.division-guide-long__right b{display:block;padding:8px 24px;text-align:center;font:950 clamp(37px,4.3vw,67px)/1 var(--font-display);font-variant-numeric:tabular-nums}.division-guide-long__right b{padding-top:18px;border-top:7px solid var(--ink);color:var(--violet)}.division-guide-long__notes{display:grid;grid-template-rows:repeat(var(--guide-rows),62px);padding:8px 0}.division-guide-long__notes small{display:flex;padding-left:18px;align-items:center;gap:9px;color:var(--ink);font-size:13px;font-weight:900;white-space:nowrap}.division-guide-long__notes small i{color:var(--violet);font:950 31px/1 var(--font-display);font-style:normal}.division-guide-long__notes small span{padding:7px 10px;border-radius:13px 19px 12px 17px;background:var(--pink)}.division-guide-potence__note{display:grid;grid-template-columns:minmax(150px,.3fr) minmax(0,1fr);padding:20px 24px;border-left:7px solid var(--violet);gap:18px;background:rgba(255,255,255,.55)}.division-guide-potence__note>span{color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.1em}.division-guide-potence__note p{margin:0;font-size:14px;font-weight:750;line-height:1.45}.division-guide-proof-grid{display:grid;max-width:1040px;margin:30px 0;gap:9px}.division-guide-proof-grid article{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(270px,1fr);padding:19px 24px;border-bottom:3px solid rgba(38,38,43,.12);gap:20px}.division-guide-proof-grid span{font-weight:800}.division-guide-proof-grid strong{color:var(--emerald);font-size:18px}
.division-guide-bank{background:var(--violet);color:#fff}.division-guide-bank>header>span{color:var(--acid)}.division-guide-bank>header>p{max-width:800px;font-size:18px;font-weight:700}.division-guide-bank>article{display:grid;grid-template-columns:65px 1fr;padding:31px 0;border-top:3px solid rgba(255,255,255,.16);gap:20px}.division-guide-bank__number{display:grid;width:58px;height:58px;border-radius:19px 27px 17px 24px;background:var(--acid);color:var(--ink);font-size:12px;font-weight:950;place-items:center}.division-guide-bank article>div>span{color:var(--acid);font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.division-guide-bank h3{max-width:920px;margin:10px 0 16px;font:900 clamp(26px,2.5vw,42px)/1.05 var(--font-display)}.division-guide-alt,.division-guide-open{max-width:900px;padding:17px 21px;border-radius:24px 35px 22px 31px;background:rgba(255,255,255,.12);line-height:1.45}.division-guide-alt strong,.division-guide-bank footer strong{display:block;margin-bottom:6px;color:var(--acid);font-size:10px;letter-spacing:.1em}.division-guide-bank ol{display:grid;margin:18px 0;padding:0;gap:8px;list-style:none}.division-guide-bank li{padding:17px 20px;border-radius:23px 34px 20px 30px;background:rgba(255,255,255,.1)}.division-guide-bank li.is-correct{background:var(--acid);color:var(--ink)}.division-guide-bank li>strong{display:block;font-size:15px}.division-guide-bank li p{margin:7px 0 0;font-size:14px;line-height:1.45}.division-guide-bank footer{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;gap:10px}.division-guide-bank footer p{margin:0;padding:17px 20px;border-radius:22px 32px 20px 29px;background:var(--coral);color:var(--ink);font-weight:760}.division-guide-bank footer p:last-child{background:var(--pink)}.division-guide-bank footer strong{color:var(--violet)}
.division-guide-truefalse{background:var(--pink)}.division-guide-truefalse>div{display:grid}.division-guide-truefalse article{display:grid;grid-template-columns:46px 72px 1fr;padding:24px 0;border-top:3px solid rgba(38,38,43,.11);align-items:start;gap:13px}.division-guide-truefalse article>i{display:grid;width:40px;height:40px;border-radius:14px 19px 12px 17px;background:var(--violet);color:#fff;font-size:10px;font-style:normal;place-items:center}.division-guide-truefalse article>span{padding-top:12px;color:var(--emerald);font-size:11px;font-weight:950;letter-spacing:.1em}.division-guide-truefalse h3{margin:5px 0 14px;font:900 clamp(22px,2vw,34px)/1.08 var(--font-display)}.division-guide-truefalse article>p{grid-column:3;margin:4px 0;line-height:1.48}.division-guide-truefalse article>p strong{display:inline-block;min-width:130px;color:var(--violet);font-size:10px;letter-spacing:.09em}
.division-guide-sheet{background:var(--acid)}.division-guide-remember{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);align-items:start;gap:36px}.division-guide-remember ol{display:grid;margin:0;padding:0;counter-reset:guide-memory;gap:14px;list-style:none}.division-guide-remember li{display:grid;grid-template-columns:40px 1fr;align-items:start;gap:11px;font-weight:760;line-height:1.45}.division-guide-remember li::before{display:grid;width:38px;height:38px;border-radius:14px 19px 12px 17px;background:var(--violet);color:#fff;content:counter(guide-memory);counter-increment:guide-memory;font-size:11px;place-items:center}.division-guide-traps{display:grid;overflow:hidden;border-radius:34px 51px 30px 46px;background:var(--soft);box-shadow:none}.division-guide-traps>header{display:grid;padding:24px 28px;border-bottom:3px solid rgba(38,38,43,.1);gap:8px}.division-guide-traps>header span,.division-guide-traps article span{color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.12em}.division-guide-traps>header strong{font:950 clamp(26px,2.4vw,40px)/.95 var(--font-display)}.division-guide-traps>div{display:grid}.division-guide-traps article{display:grid;grid-template-columns:46px 1fr;padding:25px 28px;border-left:9px solid var(--coral);align-items:start;gap:16px}.division-guide-traps article+article{border-top:3px solid rgba(38,38,43,.1);border-left-color:var(--violet)}.division-guide-traps article>i{display:grid;width:42px;height:42px;border-radius:14px 19px 12px 17px;background:var(--coral);font-size:10px;font-style:normal;place-items:center}.division-guide-traps article+article>i{background:var(--violet);color:#fff}.division-guide-traps article p{margin:9px 0 0;font-weight:730;line-height:1.48}.division-guide-traps article mark{display:inline-block;margin-top:15px;padding:8px 11px;border-radius:13px 18px 12px 16px;background:var(--acid);color:var(--ink);font-size:12px;font-weight:950}.division-guide-sheet dl{display:grid;margin:40px 0 0}.division-guide-sheet dl div{display:grid;grid-template-columns:minmax(210px,.45fr) 1fr;padding:17px 0;border-top:3px solid rgba(38,38,43,.12);gap:20px}.division-guide-sheet dt{color:var(--violet);font-weight:950}.division-guide-sheet dd{margin:0;font-weight:700}
.division-guide-cards{background:var(--sun)}.division-guide-cards>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.division-guide-cards article{min-height:230px;padding:28px;border-radius:42px 61px 37px 55px;background:var(--soft)}.division-guide-cards article:nth-child(3n+2){background:var(--pink)}.division-guide-cards article:nth-child(3n){background:var(--acid)}.division-guide-cards i{display:grid;width:42px;height:42px;border-radius:15px 20px 13px 18px;background:var(--violet);color:#fff;font-size:10px;font-style:normal;place-items:center}.division-guide-cards h3{margin:24px 0 12px;font:900 clamp(22px,2vw,33px)/1.05 var(--font-display)}.division-guide-cards p{margin:0;font-weight:720;line-height:1.45}.division-guide-cards small{display:block;margin-top:16px;color:var(--violet);font-weight:900}
.division-guide-assessment>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.division-guide-assessment>header>strong{display:grid;width:145px;height:145px;border-radius:47% 53% 44% 56%/51% 43% 57% 49%;flex:0 0 auto;background:var(--violet);color:#fff;font:950 65px/1 var(--font-display);place-items:center}.division-guide-assessment>header>strong small{display:block;margin-top:-42px;font:800 10px/1 var(--font-body);letter-spacing:.1em}.division-guide-assessment>article{display:grid;grid-template-columns:75px 1fr;padding:29px 0;border-top:3px solid rgba(38,38,43,.11);gap:22px}.division-guide-assessment>article>div{display:grid;align-content:start;justify-items:center;gap:8px}.division-guide-assessment>article i{display:grid;width:55px;height:55px;border-radius:19px 26px 17px 23px;background:var(--coral);font-size:11px;font-style:normal;place-items:center}.division-guide-assessment>article>div strong{color:var(--violet)}.division-guide-assessment article section>span,.division-guide-assessment article aside>strong{color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.11em}.division-guide-assessment article section>p{max-width:900px;margin:10px 0 18px;font-size:19px;font-weight:760;line-height:1.45}.division-guide-assessment article aside{padding:20px 24px;border-radius:27px 41px 24px 37px;background:var(--pink)}.division-guide-assessment article aside p{margin:7px 0 0;line-height:1.5}.division-guide-assessment>footer{display:flex;padding-top:24px;flex-wrap:wrap;gap:10px}.division-guide-assessment>footer button{display:flex;min-height:63px;padding:8px 10px 8px 23px;border:0;border-radius:27px 39px 24px 35px;align-items:center;gap:22px;background:var(--violet);color:#fff;font-weight:900;cursor:pointer;box-shadow:none}.division-guide-assessment>footer button:last-child{background:var(--emerald)}.division-guide-assessment>footer b{display:grid;width:45px;height:45px;border-radius:15px 20px 13px 18px;background:#fff;color:var(--ink);place-items:center}

@media(max-width:1100px){.division-guide-cover,.division-guide-layout{grid-template-columns:1fr}.division-guide-toc{position:relative;top:auto;display:flex;max-height:none;overflow-x:auto}.division-guide-toc>span{display:none}.division-guide-toc a{min-width:max-content}.division-guide-cover>aside{max-width:480px}.division-guide-layout{gap:18px}}
@media(max-width:720px){.division-module-nav{grid-template-columns:repeat(5,155px)}.division-guide-cover{width:100%;min-height:0;padding:42px 22px 55px;border-radius:48px 66px 43px 61px}.division-guide-cover h1{font-size:clamp(51px,15vw,74px)}.division-guide-cover>aside{padding:27px}.division-guide-layout{width:100%}.division-guide-intro,.division-guide-time,.division-guide-bank,.division-guide-truefalse,.division-guide-sheet,.division-guide-cards,.division-guide-assessment{padding:38px 20px 48px;border-radius:46px 64px 42px 58px}.division-guide-place{grid-template-columns:1fr}.division-guide-place article{min-height:0;padding:32px 28px}.division-guide-place>i{transform:rotate(90deg);text-align:center}.division-guide-exchange{align-items:stretch;flex-direction:column}.division-guide-exchange>i{text-align:center}.division-guide-exchange-table{display:block;overflow-x:auto}.division-guide-exchange-table>header,.division-guide-exchange-table>div{grid-template-columns:100px 170px 130px 105px 165px;width:670px}.division-guide-potence__paper{display:block;padding:25px 18px;overflow-x:auto}.division-guide-long{grid-template-columns:max-content 145px 145px;width:620px}.division-guide-long__dividend,.division-guide-long__row{grid-template-columns:repeat(var(--guide-columns),58px)}.division-guide-potence__note{grid-template-columns:1fr;width:620px;margin-top:22px}.division-guide-proof-grid article,.division-guide-remember,.division-guide-sheet dl div{grid-template-columns:1fr}.division-guide-bank>article{grid-template-columns:1fr}.division-guide-bank footer,.division-guide-cards>div{grid-template-columns:1fr}.division-guide-truefalse article{grid-template-columns:44px 1fr}.division-guide-truefalse h3{grid-column:1/-1}.division-guide-truefalse article>p{grid-column:1/-1}.division-guide-assessment>header>strong{width:110px;height:110px;font-size:50px}.division-guide-assessment>article{grid-template-columns:55px 1fr}.division-guide-assessment>footer button{width:100%;justify-content:space-between}}

/* Guide reading contract: colour introduces the chapter; white carries the reading. */
.division-guide-print-brand,.division-guide-print-footer{display:none}
.division-guide-book>section{--guide-band:var(--soft);--guide-pad:clamp(36px,4.5vw,74px);position:relative;padding:var(--guide-pad);overflow:hidden;background:#fff;color:var(--ink)}
.division-guide-book>section>header{position:relative;margin:calc(-1 * var(--guide-pad)) calc(-1 * var(--guide-pad)) 38px;padding:clamp(31px,3.7vw,58px) var(--guide-pad) clamp(29px,3.5vw,52px);overflow:hidden;border-radius:66px 104px 48% 38px/66px 104px 48px 38px;background:var(--guide-band)}
.division-guide-book>section>header::after{position:absolute;right:-4%;bottom:-48%;width:27%;aspect-ratio:1.65;border-radius:48% 52% 42% 58%/54% 44% 56% 46%;background:rgba(255,255,255,.2);content:"";transform:rotate(-8deg)}
.division-guide-book>section>header>*{position:relative;z-index:1}
.division-guide-book>.division-guide-intro{--guide-band:var(--sun);background:#fff}
.division-guide-intro>header>span,.division-guide-time>header>span,.division-guide-bank>header>span,.division-guide-truefalse>header>span,.division-guide-sheet>header>span,.division-guide-cards>header>span,.division-guide-assessment>header span{color:var(--violet);font-size:11px;font-weight:950;letter-spacing:.14em}
.division-guide-intro>header h2,.division-guide-time>header h2,.division-guide-bank>header h2,.division-guide-truefalse>header h2,.division-guide-sheet>header h2,.division-guide-cards>header h2,.division-guide-assessment>header h2{margin:12px 0 0}
.division-guide-book>.division-guide-time{--guide-band:var(--soft);background:#fff}
.division-guide-time:nth-of-type(3n+2){--guide-band:color-mix(in srgb,var(--pink) 72%,white);background:#fff}
.division-guide-time:nth-of-type(3n){--guide-band:color-mix(in srgb,var(--violet) 12%,white);background:#fff}
.division-guide-time>header{max-width:none}
.division-guide-book>.division-guide-bank{--guide-band:var(--violet);background:#fff;color:var(--ink)}
.division-guide-bank>header{color:#fff}
.division-guide-bank>header>span{color:var(--acid)}
.division-guide-bank>article{border-top-color:rgba(38,38,43,.12)}
.division-guide-bank article>div>span{color:var(--violet)}
.division-guide-alt,.division-guide-open{background:color-mix(in srgb,var(--violet) 10%,white)}
.division-guide-alt strong,.division-guide-bank footer strong{color:var(--violet)}
.division-guide-bank li{background:var(--soft)}
.division-guide-bank li.is-correct{background:var(--acid)}
.division-guide-book>.division-guide-truefalse{--guide-band:var(--pink);background:#fff}
.division-guide-book>.division-guide-sheet{--guide-band:var(--acid);background:#fff}
.division-guide-book>.division-guide-cards{--guide-band:var(--sun);background:#fff}
.division-guide-book>.division-guide-assessment{--guide-band:var(--soft);background:#fff}
.division-guide-toc .division-guide-pdf{display:grid;grid-template-columns:38px 1fr;min-height:82px;margin:0 0 14px;padding:11px;border-radius:21px 31px 19px 28px;align-items:center;background:var(--acid);color:var(--ink);box-shadow:none}
.division-guide-toc .division-guide-pdf:hover{background:var(--sun);transform:translateY(-2px)}
.division-guide-toc .division-guide-pdf i{grid-row:1/3;background:var(--violet);color:#fff;font-size:15px}
.division-guide-toc .division-guide-pdf strong{font-size:12px;line-height:1.1}
.division-guide-toc .division-guide-pdf small{align-self:start;font-size:8px;font-weight:800;line-height:1.2;opacity:.72}

@media(max-width:720px){
  .division-guide-book>section{--guide-pad:38px 20px 48px}
  .division-guide-book>section>header{margin:-38px -20px 31px;padding:32px 20px 30px;border-radius:46px 64px 42px 34px}
  .division-guide-toc .division-guide-pdf{min-width:230px;margin:0}
}

@media print{
  @page{size:A4 portrait;margin:24mm 12mm 20mm}
  html,body{background:#fff!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  body:has(.division-guide-page){background:#fff!important}
  body:has(.division-guide-page) .immersive-nav,
  body:has(.division-guide-page) .division-module-bar,
  body:has(.division-guide-page) .division-module-nav,
  body:has(.division-guide-page) .division-guide-toc,
  body:has(.division-guide-page) .division-guide-assessment>footer{display:none!important}
  .division-guide-page{min-height:0;padding:0!important;overflow:visible;background:#fff!important}
  .division-guide-print-brand{position:fixed;z-index:1000;top:-21mm;left:0;right:0;display:flex;height:10mm;align-items:center;justify-content:space-between;border-bottom:.6pt solid #26262b;color:#26262b;font-size:7pt;font-weight:900;letter-spacing:.08em}
  .division-guide-print-brand img{display:block;width:27mm;height:8mm;object-fit:contain;object-position:left center}
  .division-guide-print-footer{display:none!important}
  .division-guide-cover{grid-template-columns:1fr .72fr;width:100%;min-height:238mm;margin:0;padding:18mm 13mm;border-radius:18mm 28mm 16mm 24mm;gap:10mm;box-shadow:none;break-after:page}
  .division-guide-cover h1{font-size:48pt}.division-guide-cover>div>p{font-size:15pt}.division-guide-cover__route{padding:10mm;border-width:2.5pt;border-radius:17mm 24mm 15mm 21mm;box-shadow:none}.division-guide-cover__route>div{border-bottom-width:2.5pt}.division-guide-cover__route>div strong{font-size:28pt}.division-guide-cover__route>div b{font-size:34pt}
  .division-guide-layout{display:block;width:100%;margin:0}
  .division-guide-book{display:block}
  .division-guide-book>section{--guide-pad:11mm 9mm 12mm;margin:0 0 8mm;padding:var(--guide-pad);overflow:visible;border:.7pt solid rgba(38,38,43,.14);border-radius:12mm 18mm 10mm 16mm;box-shadow:none;break-before:page}
  .division-guide-book>section>header{margin:-11mm -9mm 9mm;padding:9mm 9mm 8mm;border-radius:12mm 18mm 10mm 8mm;break-after:avoid}
  .division-guide-book>section h2{font-size:32pt!important}
  .division-guide-book>section p,.division-guide-book>section li,.division-guide-book>section dd{font-size:10.5pt!important;line-height:1.45!important}
  .division-guide-book>section article,.division-guide-book>section aside,.division-guide-book>section figure,.division-guide-book>section li{break-inside:avoid}
  .division-guide-potence__paper{padding:8mm;box-shadow:none}.division-guide-long__dividend strong{font-size:28pt}.division-guide-long__row>strong{font-size:25pt}.division-guide-long__right strong,.division-guide-long__right b{font-size:29pt}
  .division-guide-place article,.division-guide-cards article{box-shadow:none}
  .division-guide-assessment>header>strong{width:30mm;height:30mm;font-size:36pt}
}
/* Keep the home-logo control comfortably tappable even when the artwork is compact. */
.immersive-nav__logo {
  min-height:44px;
  align-items:center;
}

/* Authenticated navigation v2: one bottom banner on every connected surface. */
html:has(body.session-authenticated),
body.session-authenticated,
body.session-authenticated #app {
  background: #fffefa !important;
}

body.session-authenticated {
  --authenticated-shell-gutter: clamp(22px, 3vw, 50px);
}

body.session-authenticated #app {
  padding-right: 0 !important;
  padding-bottom: 116px !important;
  padding-left: 0 !important;
}

.final-brand .app-shell-navigation {
  position: relative;
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  height: 154px;
  min-height: 154px;
  margin: 0;
  padding: 15px var(--authenticated-shell-gutter);
  border: 0;
  box-sizing: border-box;
  grid-template-columns: 156px minmax(0, 1fr) 118px;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
  background: transparent;
  box-shadow: none;
}
.final-brand .app-shell-navigation::before {
  display: none;
}

.final-brand .app-shell-navigation .app-bottom-banner {
  --bottom-banner-color: #6846d6;
  position: fixed;
  z-index: 220;
  inset: auto auto 14px 50%;
  display: grid;
  width: min(1240px, calc(100% - 48px));
  height: 90px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 32px 42px 30px 38px / 38px 31px 43px 33px;
  grid-template-columns: 252px minmax(0, 1fr) 166px;
  grid-template-rows: 1fr;
  align-items: center;
  gap: 8px;
  overflow: visible;
  background: color-mix(in srgb, var(--bottom-banner-color) 96%, transparent);
  box-shadow: 0 22px 54px rgba(47, 29, 94, .26);
  color: #fff;
  backdrop-filter: blur(18px) saturate(1.25);
  transform: translateX(-50%);
}

.final-brand .app-shell-navigation > .app-shell__context--home {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  grid-column: 2;
  align-items: center;
}
.kid-home-header-greeting { min-width: 0; }
.kid-home-header-greeting > span { display: flex; align-items: center; gap: 10px; color: var(--violet); font: 850 10px/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.kid-home-header-greeting > span i { width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 5px rgba(176, 238, 11, .2); }
.kid-home-header-greeting h1 { margin: 9px 0 0; font: 900 clamp(32px, 3.3vw, 50px)/.88 var(--font-display); letter-spacing: -.06em; white-space: nowrap; }
.kid-home-header-greeting h1 em { color: var(--violet); font-style: normal; }

.final-brand .app-bottom-banner::before {
  top: auto;
  right: auto;
  bottom: -32px;
  left: 9%;
  width: 140px;
  height: 70px;
  opacity: .5;
}
.final-brand .app-bottom-banner::after {
  right: 8%;
  bottom: -48px;
  width: 118px;
  height: 82px;
}

.final-brand .app-shell__profile {
  position: relative;
  z-index: 212;
  top: auto;
  right: auto;
  grid-column: 3;
  justify-self: end;
}
.final-brand .app-shell__profile .role-menu { width: auto; }
.final-brand .app-shell__profile .role-menu__trigger {
  position: relative;
  display: grid;
  width: 118px;
  height: 118px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  grid-template-columns: 1fr;
  gap: 0;
  place-items: center;
}
.final-brand .app-shell__profile .role-menu__trigger::after { position: absolute; right: 30%; bottom: -7px; left: 30%; height: 4px; background: var(--violet); content: ''; opacity: 0; transform: scaleX(.35); transition: opacity .18s ease, transform .18s ease; }
.final-brand .app-shell__profile .role-menu__trigger:focus-visible { outline: 0; }
.final-brand .app-shell__profile .role-menu__trigger:focus-visible::after { opacity: 1; transform: scaleX(1); }
.final-brand .app-shell__profile .learner-avatar-frame {
  position: relative;
  display: grid;
  width: 112px;
  height: 112px;
  border: 4px solid #fff;
  border-radius: 50%;
  overflow: hidden;
  background: var(--acid);
  box-shadow: 0 14px 32px rgba(42, 24, 96, .18);
  place-items: center;
}
.final-brand .app-shell__profile .learner-avatar {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: var(--acid);
  object-fit: cover;
  box-shadow: none;
}
.final-brand .app-shell__profile .learner-avatar-frame.is-default .learner-avatar { transform: scale(1.32); }
.final-brand .app-shell__profile .learner-avatar-frame.has-personal-photo .learner-avatar { transform: scale(1.01); }
.final-brand .app-shell__profile .grownup-avatar {
  width: 92px;
  height: 92px;
  border: 4px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 12px 28px rgba(42, 24, 96, .16);
}
.final-brand .app-shell__profile .role-menu__name,
.final-brand .app-shell__profile .role-menu__chevron {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.final-brand .app-shell__profile .role-menu__panel {
  position: fixed;
  top: 132px;
  right: 26px;
  left: auto;
  display: grid;
  width: min(370px, calc(100% - 36px));
  padding: 12px;
  border: 1px solid rgba(38, 38, 43, .08);
  border-radius: 32px 44px 34px 40px / 38px 31px 46px 35px;
  overflow: hidden;
  background: #fffefa;
  box-shadow: 0 28px 75px rgba(42, 24, 96, .24), 0 4px 0 rgba(38, 38, 43, .05);
  color: var(--ink);
  gap: 10px;
}
.final-brand .role-menu__identity {
  position: relative;
  display: grid;
  min-height: 104px;
  padding: 14px;
  border-radius: 23px 34px 25px 31px;
  overflow: hidden;
  background: var(--violet);
  color: white;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.final-brand .role-menu__identity::after { position: absolute; right: -18px; bottom: -38px; width: 125px; height: 88px; border-radius: 54% 46% 0 0; background: var(--pink); content: ''; opacity: .45; transform: rotate(-11deg); }
.final-brand .role-menu__identity-photo { z-index: 1; display: grid; width: 72px; height: 72px; border: 3px solid #fff; border-radius: 50%; overflow: hidden; background: var(--acid); box-shadow: 0 8px 20px rgba(28, 16, 65, .24); place-items: center; }
.final-brand .role-menu__identity-photo img { width: 100%; height: 100%; background: var(--acid); object-fit: cover; transform: scale(1.25); }
.final-brand .role-menu__identity > div { z-index: 1; min-width: 0; }
.final-brand .role-menu__identity > div small { display: block; margin-bottom: 3px; color: var(--acid); font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.final-brand .role-menu__identity > div strong { display: block; overflow: hidden; font: 900 25px/1 var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.final-brand .role-menu__photo-action { z-index: 2; display: grid; width: 58px; min-height: 62px; padding: 7px 5px; border: 0; border-radius: 17px 21px 16px 20px; background: var(--acid); color: var(--ink); text-align: center; grid-template-columns: 1fr; place-items: center; gap: 3px; }
.final-brand .role-menu__photo-action:hover { background: var(--yellow); transform: translateY(-2px) rotate(1deg); }
.final-brand .role-menu__photo-action svg { width: 25px; height: 25px; }
.final-brand .role-menu__photo-action span { font: 900 9px/1 var(--font-display); text-transform: uppercase; }
.final-brand .role-menu__spaces { display: grid; gap: 7px; }
.final-brand .role-menu__panel .role-menu__space { display: grid; width: 100%; min-height: 68px; padding: 8px 10px; border: 0; border-radius: 20px 27px 21px 25px; background: #f3f0fb; color: var(--ink); grid-template-columns: 48px minmax(0, 1fr) 28px; align-items: center; gap: 10px; text-align: left; transition: transform .2s var(--ease-spring), background-color .2s ease; }
.final-brand .role-menu__panel .role-menu__space:hover { transform: translateX(-4px); }
.final-brand .role-menu__panel .role-menu__space--learner { background: color-mix(in srgb, var(--acid) 34%, white); }
.final-brand .role-menu__panel .role-menu__space--parent { background: color-mix(in srgb, var(--pink) 26%, white); }
.final-brand .role-menu__panel .role-menu__space--teacher { background: color-mix(in srgb, var(--yellow) 33%, white); }
.final-brand .role-menu__space i { display: grid; width: 48px; height: 48px; border-radius: 15px 19px 14px 18px; background: #fffefa; color: var(--violet); box-shadow: 0 5px 0 rgba(38, 38, 43, .08); place-items: center; }
.final-brand .role-menu__space i svg { width: 25px; height: 25px; }
.final-brand .role-menu__space > span { display: grid; min-width: 0; gap: 3px; }
.final-brand .role-menu__space > span strong { font: 900 15px/1 var(--font-display); }
.final-brand .role-menu__space > span small { color: rgba(38, 38, 43, .64); font-size: 10px; font-weight: 750; }
.final-brand .role-menu__space > b { font: 900 20px/1 var(--font-display); }
.final-brand .role-menu__level { display: grid; min-height: 66px; padding: 10px 13px; border: 2px solid rgba(146, 103, 234, .23); border-radius: 19px 25px 20px 23px; background: var(--oat); grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.final-brand .role-menu__level > span { display: grid; width: 40px; height: 40px; border-radius: 13px 16px 12px 15px; background: var(--violet); color: white; place-items: center; }
.final-brand .role-menu__level > span svg { width: 21px; height: 21px; }
.final-brand .role-menu__level div { display: flex; align-items: baseline; gap: 7px; }
.final-brand .role-menu__level small { color: rgba(38, 38, 43, .62); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.final-brand .role-menu__level strong { font: 950 18px/1 var(--font-display); }
.final-brand .role-menu__level > b { max-width: 82px; color: var(--violet); font: 900 9px/1.15 var(--font-display); text-align: right; text-transform: uppercase; }

.learner-photo-layer {
  position: fixed;
  z-index: 620;
  inset: 0;
  display: grid;
  padding: 28px;
  overflow: auto;
  background: rgba(104, 70, 214, .16);
  backdrop-filter: blur(7px);
  place-items: center;
}
.learner-photo-editor {
  position: relative;
  display: grid;
  width: min(980px, 100%);
  min-height: 610px;
  border: 1px solid rgba(38, 38, 43, .08);
  border-radius: 42px 58px 40px 54px / 54px 41px 60px 46px;
  grid-template-columns: minmax(350px, .9fr) minmax(430px, 1.1fr);
  overflow: hidden;
  background: #fffefa;
  box-shadow: 0 32px 90px rgba(42, 24, 96, .25);
}
.learner-photo-editor__close {
  position: absolute;
  z-index: 5;
  top: 18px;
  right: 18px;
  display: grid;
  width: 48px;
  height: 48px;
  border: 2px solid var(--ink);
  border-radius: 16px 21px 15px 19px;
  background: #fffefa;
  color: var(--ink);
  font: 900 25px/1 var(--font-display);
  box-shadow: 0 6px 0 rgba(42, 24, 96, .12);
  place-items: center;
}
.learner-photo-editor__preview {
  position: relative;
  display: flex;
  min-width: 0;
  padding: 42px 30px 34px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--violet);
  color: #fff;
  text-align: center;
}
.learner-photo-editor__preview::before { position: absolute; top: -23%; left: -34%; width: 390px; aspect-ratio: 1; border: 34px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; }
.learner-photo-editor__preview::after { position: absolute; right: -35%; bottom: -37%; width: 430px; aspect-ratio: 1; border-radius: 50%; background: rgba(255,209,38,.22); content: ''; }
.learner-photo-editor__preview > span { position: relative; z-index: 2; font: 850 10px/1 var(--font-display); letter-spacing: .13em; text-transform: uppercase; }
.learner-photo-editor__preview > div { position: relative; z-index: 2; display: grid; width: 318px; max-width: 88%; aspect-ratio: 1; margin: 27px 0 24px; border-radius: 50%; background: var(--acid); box-shadow: 0 20px 46px rgba(42,24,96,.24); place-items: center; }
.learner-photo-editor__preview .learner-avatar-frame { display: grid; width: 100%; height: 100%; border: 6px solid #fff; border-radius: 50%; overflow: hidden; background: var(--acid); place-items: center; }
.learner-photo-editor__preview .learner-avatar { display: block; width: 100%; height: 100%; border: 0; border-radius: 0; background: var(--acid); object-fit: cover; }
.learner-photo-editor__preview .learner-avatar-frame.is-default .learner-avatar { transform: scale(1.32); }
.learner-photo-editor__preview .learner-avatar-frame.has-personal-photo .learner-avatar { transform: scale(1.01); }
.learner-photo-editor__preview > div > i { position: absolute; z-index: 3; color: var(--sun); font: 900 35px/1 var(--font-display); font-style: normal; }
.learner-photo-editor__preview > div > i:first-of-type { top: 4%; right: -3%; transform: rotate(13deg); }
.learner-photo-editor__preview > div > i:last-of-type { bottom: 9%; left: -1%; font-size: 23px; transform: rotate(-11deg); }
.learner-photo-editor__preview > small { position: relative; z-index: 2; max-width: 280px; color: rgba(255,255,255,.76); font-size: 10px; font-weight: 750; line-height: 1.4; }
.learner-photo-editor__copy { display: flex; min-width: 0; padding: 72px 54px 44px; flex-direction: column; align-items: flex-start; }
.learner-photo-editor__copy > span { color: var(--violet); font: 850 10px/1 var(--font-display); letter-spacing: .13em; text-transform: uppercase; }
.learner-photo-editor__copy h2 { max-width: 480px; margin: 16px 0 15px; font: 900 clamp(42px, 4.2vw, 60px)/.84 var(--font-display); letter-spacing: -.06em; }
.learner-photo-editor__copy > p { max-width: 510px; margin: 0; color: var(--muted); font-size: 13px; font-weight: 650; line-height: 1.55; }
.learner-photo-upload { display: grid; width: 100%; min-height: 82px; margin-top: 30px; padding: 13px 16px; border: 2px solid var(--ink); border-radius: 20px 28px 19px 25px; grid-template-columns: 44px 1fr 22px; align-items: center; gap: 14px; background: var(--pink); box-shadow: 0 8px 0 var(--ink); cursor: pointer; }
.learner-photo-upload > i { display: grid; width: 44px; height: 44px; border-radius: 14px 18px 13px 17px; background: var(--ink); color: #fff; font: 900 23px/1 var(--font-display); font-style: normal; place-items: center; }
.learner-photo-upload > span { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.learner-photo-upload strong { font: 900 15px/1 var(--font-display); }
.learner-photo-upload small { color: rgba(38,38,43,.62); font-size: 8px; font-weight: 850; letter-spacing: .06em; }
.learner-photo-upload > b { color: var(--violet); font-size: 19px; }
[data-profile-photo-input] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.learner-photo-editor__status { min-height: 38px; margin-top: 22px; color: var(--muted); font-size: 10px; font-weight: 750; line-height: 1.4; }
.learner-photo-editor.is-processing .learner-photo-upload { opacity: .55; pointer-events: none; }
.learner-photo-editor__actions { display: flex; width: 100%; margin-top: 8px; align-items: center; gap: 20px; flex-wrap: wrap; }
.learner-photo-editor__actions button { min-height: 50px; border: 0; color: var(--ink); font-weight: 850; }
.learner-photo-editor__actions button:first-child { display: flex; min-width: 210px; padding: 0 19px; border-radius: 18px 25px 17px 22px; align-items: center; justify-content: space-between; gap: 26px; background: var(--acid); box-shadow: 0 7px 0 rgba(42,24,96,.16); }
.learner-photo-editor__actions button:first-child:disabled { opacity: .38; box-shadow: none; cursor: not-allowed; }
.learner-photo-editor__actions button:last-child:not(:first-child) { min-height: 44px; padding: 0 2px; border-bottom: 2px solid currentColor; background: transparent; }
.learner-photo-editor__privacy { display: flex; margin-top: auto; padding-top: 28px; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; font-weight: 750; }
.learner-photo-editor__privacy i { width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 4px rgba(176,238,11,.2); }

.final-brand .app-shell-navigation .app-bottom-banner .app-rail__nav {
  position: static;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 0;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-items: stretch;
  justify-content: center;
  gap: 4px;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.final-brand .app-bottom-banner .app-rail__nav button,
.final-brand .app-bottom-banner .app-rail__nav button:last-child {
  display: grid;
  width: auto;
  min-width: 88px;
  min-height: 70px;
  padding: 7px 9px;
  border-radius: 23px 29px 21px 27px;
  flex: 1 1 0;
  gap: 4px;
  font-size: 9px;
}
.final-brand .app-bottom-banner .app-rail__nav button.is-active {
  background: var(--nav-icon-surface, var(--acid));
  transform: translateY(-5px) rotate(-.5deg);
}
.final-brand .app-bottom-banner .app-rail__nav button i {
  width: 38px;
  height: 38px;
  border: 2px solid rgba(38, 38, 43, .16);
  border-radius: 13px 17px 12px 15px;
  background: var(--nav-icon-surface, #fffefa);
  color: var(--ink);
  box-shadow: 0 4px 0 rgba(38, 38, 43, .12);
  transform: rotate(var(--nav-icon-turn, 0deg));
  transition: transform .2s var(--ease-spring), box-shadow .2s ease;
}
.final-brand .app-bottom-banner .app-rail__nav button:hover i,
.final-brand .app-bottom-banner .app-rail__nav button.is-active i {
  box-shadow: 0 6px 0 rgba(38, 38, 43, .14);
  transform: rotate(var(--nav-icon-turn, 0deg)) scale(1.08);
}
.final-brand .app-bottom-banner .app-rail__nav button[data-view="today"] { --nav-icon-surface: #f6cc24; --nav-icon-turn: -5deg; }
.final-brand .app-bottom-banner .app-rail__nav button[data-view="schedule"] { --nav-icon-surface: #fdc8e9; --nav-icon-turn: 4deg; }
.final-brand .app-bottom-banner .app-rail__nav button[data-view="classes"] { --nav-icon-surface: #b0ee0b; --nav-icon-turn: -3deg; }
.final-brand .app-bottom-banner .app-rail__nav button[data-view="recreation"] { --nav-icon-surface: #fd7666; --nav-icon-turn: 5deg; }
.final-brand .app-bottom-banner .app-rail__nav button[data-view="progress"] { --nav-icon-surface: #76dfd0; --nav-icon-turn: -4deg; }
.final-brand .app-bottom-banner .app-rail__nav button svg { width: 23px; height: 23px; stroke-width: 2.2; }

.final-brand .app-bottom-banner .app-nav-companion {
  position: relative;
  z-index: 3;
  width: 202px;
  height: 70px;
  min-width: 0;
  margin: 0;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  justify-self: center;
}
.final-brand .app-bottom-banner .app-nav-companion__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  text-align: left;
}
.final-brand .app-bottom-banner .app-nav-companion__copy small {
  font: 850 8px/1 var(--font-display);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.final-brand .app-bottom-banner .app-nav-companion__copy strong {
  max-width: 84px;
  overflow: hidden;
  font: 900 13px/1 var(--font-display);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.final-brand .app-bottom-banner .app-nav-companion--blob {
  display: grid;
  padding: 2px 9px 2px 2px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 25px 31px 23px 29px;
  grid-template-columns: 70px 1fr;
  align-items: center;
  background: rgba(255, 255, 255, .11);
  color: #fff;
}
.final-brand .app-bottom-banner .app-nav-companion--blob .goodie-companion {
  width: 96px;
  height: 96px;
  margin: -17px 0 -9px -15px;
}
.final-brand .app-bottom-banner .app-nav-companion--blob .app-nav-companion__copy small { color: var(--acid); }
.final-brand .app-bottom-banner .app-nav-companion--teacher {
  display: grid;
  width: 244px;
  padding: 2px 12px 2px 116px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 25px 31px 23px 29px;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  overflow: visible;
  background: rgba(255, 255, 255, .11);
  color: #fff;
  cursor: pointer;
  transition: transform .2s var(--ease-spring), background .2s ease;
}
.final-brand .app-bottom-banner .app-nav-companion--teacher .app-nav-companion__copy strong {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
}
.final-brand .app-bottom-banner .app-nav-companion--teacher:hover {
  background: rgba(255, 255, 255, .18);
  transform: translateY(-3px) rotate(-1deg);
}
.final-brand .app-bottom-banner .app-nav-companion--teacher.is-open {
  border-color: var(--acid);
  background: rgba(176, 238, 11, .18);
  box-shadow: 0 0 0 3px rgba(176, 238, 11, .16);
  transform: translateY(-3px);
}
.final-brand .app-bottom-banner .app-nav-companion--teacher:focus-visible {
  outline: 4px solid #fff;
  outline-offset: 4px;
}
.final-brand .app-bottom-banner .app-nav-companion__character {
  position: absolute;
  bottom: 0;
  left: -8px;
  display: block;
  width: 132px;
  height: 125px;
  overflow: hidden;
  pointer-events: none;
}
.final-brand .app-bottom-banner .app-nav-companion__character img {
  position: absolute;
  top: -2px;
  left: 50%;
  display: block;
  width: auto;
  max-width: none;
  height: 220px;
  filter: drop-shadow(0 9px 7px rgba(38, 38, 43, .22));
  transform: translateX(-50%);
}
.final-brand .app-bottom-banner .app-nav-companion--teacher[data-tutor="m-henry"] .app-nav-companion__character img { top: -23px; }
.final-brand .app-bottom-banner .app-nav-companion--teacher[data-tutor="m-henry"] .app-nav-companion__copy { transform: translateX(10px); }
.final-brand .app-bottom-banner .app-nav-companion--teacher .app-nav-companion__copy small { color: var(--acid); }
.final-brand .app-bottom-banner .app-nav-companion__live {
  position: absolute;
  top: -6px;
  left: 106px;
  width: 12px;
  height: 12px;
  border: 3px solid #6846d6;
  border-radius: 50%;
  background: #0fbc53;
  box-shadow: 0 0 0 2px rgba(15, 188, 83, .22);
}

.final-brand .app-bottom-banner .app-rail__footer {
  display: flex;
  padding: 0;
  grid-column: 3;
  grid-row: 1;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.final-brand .app-bottom-banner .app-rail__footer .language-switch {
  width: 76px;
  min-width: 76px;
}
.final-brand .app-bottom-banner .app-rail__footer .language-switch span.is-active {
  background: #fff;
  color: var(--bottom-banner-color);
}
.final-brand .app-bottom-banner .app-rail__sign-out {
  display: grid;
  width: 72px;
  min-height: 50px;
  padding: 5px;
  grid-template-columns: 20px 1fr;
}

.final-brand .app-shell__logo {
  position: relative;
  z-index: 210;
  top: auto;
  right: auto;
  left: auto;
  display: grid !important;
  width: 156px;
  height: 124px;
  min-height: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  background-image: none;
  box-shadow: none;
  filter: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  grid-column: 1;
  place-items: center;
}
.final-brand .app-shell__logo::before,
.final-brand .app-shell__logo::after,
.final-brand .app-shell__logo-art,
.final-brand .app-shell__logo-art::before,
.final-brand .app-shell__logo-art::after {
  border: 0;
  background: transparent;
  background-image: none;
  box-shadow: none;
  filter: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.final-brand .immersive-nav__logo-art,
.maths-pilot-brand img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center !important;
}

.final-brand .app-shell__logo-art.good-ones-logo {
  display: inline-flex;
  width: auto !important;
  height: auto !important;
  max-width: none;
  color: var(--ink);
  font-size: 39px;
}
.final-brand .app-shell__logo .good-ones-logo--stacked .good-ones-logo__words {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "the" "good" "ones";
  justify-items: start;
  gap: 0;
  transform: translateX(.11em);
}
.final-brand .app-shell__logo .good-ones-logo__the { grid-area: the; }
.final-brand .app-shell__logo .good-ones-logo__good { grid-area: good; }
.final-brand .app-shell__logo .good-ones-logo__ones {
  grid-area: ones;
  transform: scaleX(.912);
  transform-origin: left center;
}

.session-authenticated .learner-main,
.session-authenticated .grownup-main,
.session-authenticated .launch-schedule,
.session-authenticated .approved-home,
.session-authenticated .approved-home-mobile,
.session-authenticated .immersive-nav + .learner-main,
.session-authenticated .immersive-nav + .play-game-screen {
  margin-top: 0;
  padding-top: 0 !important;
}

.session-authenticated .immersive-nav {
  left: 0 !important;
  padding-left: 164px;
  padding-right: clamp(16px, 3vw, 44px);
  justify-content: flex-start;
}
.session-authenticated .immersive-nav__logo {
  display: none;
}

@media (max-width: 900px) {
  body.session-authenticated #app { padding-bottom: 98px !important; }
  .final-brand .app-shell-navigation {
    height: 112px;
    min-height: 112px;
    padding-block: 10px;
    padding-inline: var(--authenticated-shell-gutter);
    grid-template-columns: 112px minmax(0, 1fr) 94px;
    gap: 12px;
  }
  .final-brand .app-shell-navigation .app-bottom-banner {
    inset: auto 8px 8px 50%;
    width: calc(100% - 16px);
    height: 80px;
    padding: 7px;
    grid-template-columns: 74px minmax(0, 1fr) 74px;
    gap: 4px;
  }
  .final-brand .app-bottom-banner .app-rail__nav button,
  .final-brand .app-bottom-banner .app-rail__nav button:last-child {
    min-width: 0;
    min-height: 66px;
    padding: 5px 3px;
  }
  .final-brand .app-bottom-banner .app-rail__nav button i { width: 32px; height: 32px; border-radius: 11px 14px 10px 13px; }
  .final-brand .app-bottom-banner .app-rail__nav button svg { width: 20px; height: 20px; }
  .final-brand .app-bottom-banner .app-nav-companion { width: 68px; height: 66px; }
  .final-brand .app-bottom-banner .app-nav-companion__copy { display: none; }
  .final-brand .app-bottom-banner .app-nav-companion--blob { display: grid; padding: 0; grid-template-columns: 1fr; place-items: center; }
.final-brand .app-bottom-banner .app-nav-companion--blob .goodie-companion { width: 88px; height: 88px; margin: -13px 0 -7px; }
  .final-brand .app-bottom-banner .app-nav-companion--teacher { padding: 0; grid-template-columns: 1fr; place-items: center; }
  .final-brand .app-bottom-banner .app-nav-companion__character { bottom: 0; left: -8px; width: 86px; height: 98px; }
  .final-brand .app-bottom-banner .app-nav-companion__character img { top: -2px; height: 148px; }
  .final-brand .app-bottom-banner .app-nav-companion--teacher[data-tutor="m-henry"] .app-nav-companion__character img { top: -18px; }
  .final-brand .app-bottom-banner .app-nav-companion__live { top: -4px; left: auto; right: 1px; }
  .final-brand .app-bottom-banner .app-rail__sign-out { display: none; }
  .final-brand .app-bottom-banner .app-rail__footer .language-switch { width: 68px; min-width: 68px; }
  .final-brand .app-shell__logo { width: 112px; height: 92px; padding: 8px 9px; }
  .final-brand .app-shell__logo-art.good-ones-logo { font-size: 27px; }
  .final-brand .app-shell__profile .role-menu__trigger { width: 96px; height: 96px; padding: 0; }
  .final-brand .app-shell__profile .learner-avatar-frame { width: 92px; height: 92px; }
  .final-brand .app-shell__profile .grownup-avatar { width: 88px; height: 88px; }
  .final-brand .app-shell__profile .role-menu__panel { top: 108px; right: 8px; width: min(360px, calc(100% - 16px)); }
  .session-authenticated .immersive-nav { padding-left: 128px; padding-right: 96px; }
  .learner-photo-layer { padding: 18px; }
  .learner-photo-editor { grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); }
  .learner-photo-editor__preview > div { width: 260px; }
  .learner-photo-editor__copy { padding: 68px 34px 38px; }
}

@media (max-width: 560px) {
  body.session-authenticated { --authenticated-shell-gutter: 10px; }
  .final-brand .app-shell-navigation { grid-template-columns: 104px minmax(0, 1fr) 86px; gap: 8px; }
  .final-brand .app-shell-navigation .app-bottom-banner { grid-template-columns: 58px minmax(0, 1fr) 58px; }
  .final-brand .app-bottom-banner .app-rail__nav button i { width: 28px; height: 28px; border-width: 1px; }
  .final-brand .app-bottom-banner .app-rail__nav button svg { width: 18px; height: 18px; }
  .final-brand .app-bottom-banner .app-nav-companion { width: 52px; }
.final-brand .app-bottom-banner .app-nav-companion--blob .goodie-companion { width: 72px; height: 72px; }
  .final-brand .app-bottom-banner .app-nav-companion__character { bottom: 0; left: -7px; width: 75px; height: 103px; }
  .final-brand .app-bottom-banner .app-nav-companion__character img { top: -2px; height: 138px; }
  .final-brand .app-bottom-banner .app-nav-companion--teacher[data-tutor="m-henry"] .app-nav-companion__character img { top: -14px; }
  .final-brand .app-bottom-banner .app-rail__footer .language-switch { width: 54px; min-width: 54px; padding: 2px; }
  .final-brand .app-bottom-banner .app-rail__footer .language-switch span { font-size: 8px; }
  .final-brand .app-bottom-banner .app-rail__nav button span { font-size: 7.5px; }
  .final-brand .app-shell__logo { width: 104px; height: 86px; }
  .final-brand .app-shell__logo-art.good-ones-logo { font-size: 25px; }
  .final-brand .app-shell__profile .role-menu__trigger { width: 86px; height: 86px; }
  .final-brand .app-shell__profile .learner-avatar-frame { width: 82px; height: 82px; }
  .final-brand .app-shell__profile .grownup-avatar { width: 78px; height: 78px; }
  .final-brand .app-shell__profile .role-menu__panel { top: 102px; }
  .final-brand .role-menu__identity { min-height: 94px; padding: 11px; grid-template-columns: 62px minmax(0, 1fr) auto; }
  .final-brand .role-menu__identity-photo { width: 62px; height: 62px; }
  .final-brand .role-menu__identity > div strong { font-size: 22px; }
  .final-brand .role-menu__photo-action { width: 52px; min-height: 56px; }
  .final-brand .role-menu__panel .role-menu__space { min-height: 62px; grid-template-columns: 43px minmax(0, 1fr) 24px; }
  .final-brand .role-menu__space i { width: 43px; height: 43px; }
}

@media (max-width: 700px) {
  .learner-photo-layer { padding: 10px; place-items: start center; }
  .learner-photo-editor { min-height: 0; border-radius: 30px 39px 28px 36px; grid-template-columns: 1fr; }
  .learner-photo-editor__preview { min-height: 390px; padding: 38px 24px 30px; }
  .learner-photo-editor__preview > div { width: 248px; margin-block: 23px 18px; }
  .learner-photo-editor__copy { padding: 42px 24px 34px; }
  .learner-photo-editor__copy h2 { padding-right: 36px; font-size: clamp(38px, 12vw, 52px); }
  .learner-photo-editor__close { position: fixed; top: 21px; right: 21px; }
  .learner-photo-upload { margin-top: 24px; }
  .learner-photo-editor__actions { align-items: stretch; flex-direction: column; }
  .learner-photo-editor__actions button:first-child { width: 100%; }
  .learner-photo-editor__actions button:last-child:not(:first-child) { align-self: flex-start; }
}

body.session-authenticated .voice-guide-dock {
  bottom: 122px;
}

@media (max-width: 900px) {
  body.session-authenticated .voice-guide-dock { bottom: 104px; }
}

/* Authenticated learner homepage v4 */
.kid-home {
  --kid-home-shadow: 0 22px 54px rgba(55, 35, 105, .12);
  width: auto;
  max-width: none;
  margin: 0 var(--authenticated-shell-gutter);
  padding: 16px 0 176px;
  color: var(--ink);
}
.kid-home button { font-family: var(--font-body); }
.kid-home button:focus-visible { outline: 4px solid var(--ink); outline-offset: 4px; }

.kid-home-route header span,
.kid-home-worlds header span { display: flex; align-items: center; gap: 10px; color: var(--violet); font: 850 11px/1 var(--font-display); letter-spacing: .13em; text-transform: uppercase; }

.kid-home-focus { position: relative; display: grid; min-height: 492px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 48px 68px 46px 62px / 60px 46px 69px 50px; grid-template-columns: minmax(0, 1.02fr) minmax(440px, .9fr); overflow: hidden; background: linear-gradient(132deg, #724cdb 0%, #6741d0 70%, #5e39c6 100%); color: #fff; box-shadow: var(--kid-home-shadow); isolation: isolate; }
.kid-home-focus::before { position: absolute; z-index: -1; bottom: -48%; left: 31%; width: 55%; aspect-ratio: 1; border-radius: 46% 54% 61% 39% / 60% 42% 58% 40%; background: rgba(196, 157, 255, .18); content: ''; transform: rotate(-15deg); }
.kid-home-focus::after { position: absolute; z-index: -1; top: -90px; left: -70px; width: 240px; aspect-ratio: 1; border: 34px solid rgba(255, 255, 255, .06); border-radius: 50%; content: ''; }
.kid-home-focus__copy { position: relative; z-index: 3; display: flex; padding: clamp(38px, 4.3vw, 64px); flex-direction: column; align-items: flex-start; }
.kid-home-kicker { display: flex; min-height: 30px; padding: 0 12px; border-radius: 999px; align-items: center; gap: 9px; background: rgba(255, 255, 255, .13); color: rgba(255, 255, 255, .86); font: 850 10px/1 var(--font-display); letter-spacing: .09em; text-transform: uppercase; }
.kid-home-kicker i { width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 4px rgba(176, 238, 11, .14); }
.kid-home-focus h2 { max-width: 730px; margin: 26px 0 19px; font: 900 clamp(55px, 5.4vw, 86px)/.77 var(--font-display); letter-spacing: -.075em; text-transform: uppercase; }
.kid-home-focus h2 em { color: var(--acid); font-style: normal; }
.kid-home-focus__copy > p { max-width: 650px; margin: 0; color: rgba(255, 255, 255, .8); font-size: clamp(15px, 1.25vw, 18px); font-weight: 650; line-height: 1.5; }
.kid-home-focus__actions { display: flex; margin-top: 28px; align-items: center; gap: 12px; flex-wrap: wrap; }
.kid-home-focus__actions button { min-height: 54px; padding: 0 20px; border: 1px solid rgba(255, 255, 255, .26); border-radius: 21px 27px 20px 25px; background: rgba(255, 255, 255, .1); color: #fff; font-weight: 850; }
.kid-home-focus__actions button:first-child { display: flex; min-width: 208px; padding-left: 22px; border: 0; align-items: center; justify-content: space-between; gap: 24px; background: var(--acid); color: var(--ink); box-shadow: 0 8px 0 rgba(38, 38, 43, .16); }
.kid-home-focus__actions button:first-child b { display: grid; width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: #fff; place-items: center; }
.kid-home-focus__actions button:last-child { min-height: 44px; padding: 0 2px; border: 0; border-bottom: 2px solid currentColor; border-radius: 0; background: transparent; box-shadow: none; }
.kid-home-focus__copy dl { display: flex; width: 100%; margin: auto 0 0; padding-top: 25px; border-top: 1px solid rgba(255, 255, 255, .17); gap: 9px; }
.kid-home-focus__copy dl div { display: flex; min-width: 0; padding-right: clamp(12px, 2vw, 28px); flex-direction: column; gap: 7px; }
.kid-home-focus__copy dl div + div { padding-left: clamp(12px, 2vw, 28px); border-left: 1px solid rgba(255, 255, 255, .17); }
.kid-home-focus__copy dt { color: rgba(255, 255, 255, .57); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.kid-home-focus__copy dd { margin: 0; font: 850 12px/1 var(--font-display); white-space: nowrap; }
.kid-home-focus__stage { position: relative; min-height: 492px; overflow: hidden; }
.kid-home-focus__stage::before { position: absolute; right: -8%; bottom: -29%; width: 96%; aspect-ratio: 1; border-radius: 50%; background: var(--pink); content: ''; box-shadow: inset 0 0 0 18px rgba(255, 255, 255, .14); }
.kid-home-focus__stage::after { position: absolute; right: -15%; bottom: -24%; width: 64%; aspect-ratio: 1; border-radius: 48% 52% 43% 57% / 56% 42% 58% 44%; background: var(--sun); content: ''; opacity: .92; transform: rotate(18deg); }
.kid-home-focus__teacher { position: absolute; z-index: 4; right: -6%; bottom: 0; width: 118%; height: 100%; object-fit: cover; object-position: 62% bottom; filter: drop-shadow(0 20px 18px rgba(38, 38, 43, .2)); }
.kid-home-focus__buddy { position: absolute; z-index: 6; top: 4%; right: -2%; width: 132px; height: 132px; transform: rotate(8deg); }
.kid-home-focus__buddy .goodie-companion { width: 100%; height: 100%; }
.kid-home-focus__orbit { position: absolute; z-index: 3; top: 12%; left: 5%; display: grid; width: 104px; aspect-ratio: 1; padding: 20px; border-radius: 50%; background: var(--coral); color: var(--ink); font: 900 10px/1.3 var(--font-display); text-align: center; place-items: center; transform: rotate(-9deg); }
.kid-home-focus__bubble { position: absolute; z-index: 3; border: 4px solid rgba(255, 255, 255, .42); border-radius: 50%; }
.kid-home-focus__bubble--one { top: 9%; left: 39%; width: 25px; height: 25px; }
.kid-home-focus__bubble--two { top: 29%; right: 9%; width: 14px; height: 14px; }
.kid-home-focus__question { position: absolute; z-index: 7; right: 6%; bottom: 6%; display: flex; width: min(285px, 66%); min-height: 72px; padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .65); border-radius: 22px 29px 20px 27px; flex-direction: column; justify-content: center; gap: 5px; background: rgba(255, 254, 250, .9); color: var(--ink); box-shadow: 0 12px 28px rgba(38, 38, 43, .14); backdrop-filter: blur(12px); }
.kid-home-focus__question small { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.kid-home-focus__question strong { font: 850 13px/1.18 var(--font-display); }

.kid-home-route { position: relative; margin-top: 78px; }
.kid-home-route > header,
.kid-home-worlds > header { display: flex; margin-bottom: 28px; align-items: flex-end; justify-content: space-between; gap: 30px; }
.kid-home-route h2,
.kid-home-worlds h2 { max-width: 850px; margin: 11px 0 0; font: 900 clamp(35px, 3.7vw, 56px)/.91 var(--font-display); letter-spacing: -.055em; }
.kid-home-section-link { min-height: 44px; padding: 6px 0; border: 0; border-bottom: 2px solid currentColor; border-radius: 0; background: transparent; color: var(--ink); font-weight: 850; box-shadow: none; }
.kid-home-section-link b { margin-left: 14px; color: var(--violet); }
.kid-home-route__line { position: absolute; z-index: -1; top: 143px; right: 13%; left: 13%; height: 5px; border-top: 4px dotted rgba(103, 65, 208, .24); }
.kid-home-route__line i { position: absolute; top: -9px; width: 14px; height: 14px; border: 3px solid var(--soft); border-radius: 50%; background: var(--violet); }
.kid-home-route__line i:nth-child(1) { left: 0; }
.kid-home-route__line i:nth-child(2) { left: calc(50% - 7px); background: var(--sun); }
.kid-home-route__line i:nth-child(3) { right: 0; background: var(--pink); }
.kid-home-route__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.kid-home-stop { position: relative; display: grid; min-height: 190px; padding: 22px; border: 1px solid rgba(38, 38, 43, .06); border-radius: 31px 39px 29px 37px; grid-template-columns: 58px 1fr; align-items: start; gap: 16px; overflow: hidden; color: var(--ink); box-shadow: 0 12px 30px rgba(38, 38, 43, .08); text-align: left; transition: transform .2s var(--ease-spring), box-shadow .2s ease; }
.kid-home-stop:hover { box-shadow: 0 18px 38px rgba(38, 38, 43, .11); transform: translateY(-6px); }
.kid-home-stop--live { background: #ede5ff; }
.kid-home-stop--next { background: #fff2bd; }
.kid-home-stop--later { background: #ffe5f3; }
.kid-home-stop > span { display: flex; flex-direction: column; align-items: center; gap: 7px; }
.kid-home-stop > span i { display: grid; width: 54px; height: 54px; border-radius: 18px 23px 17px 21px; background: var(--violet); color: #fff; font: 900 13px/1 var(--font-display); font-style: normal; place-items: center; }
.kid-home-stop--next > span i { background: var(--sun); color: var(--ink); }
.kid-home-stop--later > span i { background: var(--pink); color: var(--ink); }
.kid-home-stop > span small { font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.kid-home-stop > div { display: flex; min-width: 0; flex-direction: column; }
.kid-home-stop > div small { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.kid-home-stop > div strong { margin-top: 15px; font: 900 clamp(21px, 2vw, 28px)/.92 var(--font-display); letter-spacing: -.045em; }
.kid-home-stop > div em { margin-top: 11px; color: rgba(38, 38, 43, .65); font-size: 11px; font-style: normal; font-weight: 750; }
.kid-home-stop > b { position: absolute; right: 17px; bottom: 15px; padding: 7px 9px; border-radius: 999px; background: rgba(255, 255, 255, .7); font-size: 9px; }

.kid-home-insights { display: grid; margin-top: 82px; grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); gap: 16px; }
.kid-home-growth,
.kid-home-buddy-card { min-height: 430px; border-radius: 40px 54px 38px 50px / 50px 39px 56px 43px; box-shadow: var(--kid-home-shadow); }
.kid-home-growth { padding: 31px; background: #fff; border: 1px solid rgba(38, 38, 43, .07); }
.kid-home-growth > header { display: flex; align-items: center; justify-content: space-between; }
.kid-home-growth > header span,
.kid-home-buddy-card__experience > span { color: var(--violet); font: 850 10px/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.kid-home-growth__body { display: grid; margin-top: 24px; grid-template-columns: 160px 1fr; align-items: center; gap: 25px; }
.kid-home-growth__ring { position: relative; display: flex; width: 155px; aspect-ratio: 1; border-radius: 50%; flex-direction: column; align-items: center; justify-content: center; background: conic-gradient(var(--violet) calc(var(--kid-growth) * 1turn), #eee9f7 0); }
.kid-home-growth__ring::before { position: absolute; inset: 13px; border-radius: 50%; background: #fff; content: ''; }
.kid-home-growth__ring strong,
.kid-home-growth__ring span { position: relative; z-index: 1; }
.kid-home-growth__ring strong { font: 900 34px/1 var(--font-display); letter-spacing: -.05em; }
.kid-home-growth__ring span { width: 80px; margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 800; line-height: 1.15; text-align: center; text-transform: uppercase; }
.kid-home-growth__body > div:last-child > strong { display: block; font: 900 clamp(24px, 2.2vw, 33px)/.95 var(--font-display); letter-spacing: -.045em; }
.kid-home-growth__body > div:last-child > p { margin: 13px 0; color: var(--muted); font-size: 13px; font-weight: 650; line-height: 1.45; }
.kid-home-growth__body > div:last-child > small { display: inline-flex; align-items: center; gap: 7px; color: var(--violet); font-weight: 850; }
.kid-home-growth__body > div:last-child > small i { width: 9px; height: 9px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 4px rgba(176, 238, 11, .2); }
.kid-home-growth__bars { display: grid; margin-top: 27px; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.kid-home-growth__bars > span { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
.kid-home-growth__bars small { font-size: 9px; font-weight: 850; }
.kid-home-growth__bars > span > i { height: 7px; border-radius: 999px; overflow: hidden; background: #eee9f7; }
.kid-home-growth__bars > span > i b { display: block; height: 100%; border-radius: inherit; background: var(--violet); }
.kid-home-buddy-card { position: relative; display: grid; padding: 34px 32px 34px 238px; grid-template-columns: 1fr; align-items: center; overflow: hidden; background: var(--acid); }
.kid-home-buddy-card::before { position: absolute; right: -14%; bottom: -65%; width: 72%; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 255, 255, .3); content: ''; }
.kid-home-buddy-card::after { position: absolute; top: -35%; left: -11%; width: 390px; aspect-ratio: 1; border: 28px solid rgba(255, 255, 255, .25); border-radius: 50%; content: ''; }
.kid-home-buddy-card__character { position: absolute; z-index: 2; bottom: -8px; left: -2px; width: 250px; height: 250px; transform: rotate(-5deg); }
.kid-home-buddy-card__character .goodie-companion { width: 100%; height: 100%; }
.kid-home-buddy-card__experience { position: relative; z-index: 3; min-width: 0; }
.kid-home-buddy-card h2 { max-width: 550px; margin: 14px 0 12px; font: 900 clamp(31px, 3vw, 45px)/.91 var(--font-display); letter-spacing: -.055em; }
.kid-home-buddy-card p { max-width: 590px; margin: 0; font-size: 13px; font-weight: 680; line-height: 1.45; }
.kid-home-checkin-options { display: grid; margin-top: 24px; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.kid-home-checkin-options button { display: grid; min-height: 118px; padding: 15px; border: 1px solid rgba(38, 38, 43, .12); border-radius: 18px 25px 17px 22px; grid-template-columns: 30px minmax(0, 1fr) 18px; align-items: start; gap: 9px; background: rgba(255, 255, 255, .72); color: var(--ink); box-shadow: 0 8px 0 rgba(38, 38, 43, .08); text-align: left; transition: transform .2s var(--ease-spring), box-shadow .2s ease; }
.kid-home-checkin-options button:hover { box-shadow: 0 11px 0 rgba(38, 38, 43, .1); transform: translateY(-3px); }
.kid-home-checkin-options button > i { display: grid; width: 30px; height: 30px; border: 2px solid var(--ink); border-radius: 10px 13px 9px 12px; color: var(--violet); font: 900 9px/1 var(--font-display); font-style: normal; place-items: center; }
.kid-home-checkin-options button > span { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.kid-home-checkin-options button strong { font: 900 13px/1.05 var(--font-display); }
.kid-home-checkin-options button small { color: rgba(38, 38, 43, .66); font-size: 9px; font-weight: 700; line-height: 1.28; }
.kid-home-checkin-options button > b { color: var(--violet); font-size: 17px; }
.kid-home-checkin-response { display: flex; min-height: 108px; margin-top: 24px; padding: 18px 20px; border: 1px solid rgba(38, 38, 43, .11); border-radius: 19px 27px 18px 24px; flex-direction: column; justify-content: center; gap: 10px; background: rgba(255, 255, 255, .7); box-shadow: 0 9px 0 rgba(38, 38, 43, .07); }
.kid-home-checkin-response small { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.kid-home-checkin-response strong { font: 850 15px/1.25 var(--font-display); }
.kid-home-checkin-actions { display: flex; margin-top: 22px; align-items: center; gap: 18px; flex-wrap: wrap; }
.kid-home-checkin-actions button { min-height: 49px; padding: 0 18px; border: 0; color: var(--ink); font-weight: 850; }
.kid-home-checkin-actions button:first-child { display: flex; min-width: 192px; border-radius: 18px 24px 17px 22px; align-items: center; justify-content: space-between; gap: 20px; background: var(--ink); color: #fff; }
.kid-home-checkin-actions button:first-child b { color: var(--acid); }
.kid-home-checkin-actions button:last-child { min-height: 44px; padding: 0 2px; border-bottom: 2px solid currentColor; background: transparent; }

.kid-home-worlds { margin-top: 88px; }
.kid-home-worlds > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.kid-home-subject { position: relative; display: flex; min-height: 310px; padding: 24px; border: 1px solid rgba(38, 38, 43, .06); border-radius: 34px 45px 32px 42px / 43px 34px 48px 38px; flex-direction: column; align-items: flex-start; overflow: hidden; color: var(--ink); box-shadow: 0 13px 31px rgba(38, 38, 43, .09); text-align: left; transition: transform .24s var(--ease-spring), box-shadow .2s ease; }
.kid-home-subject:hover { box-shadow: 0 20px 40px rgba(38, 38, 43, .13); transform: translateY(-8px) rotate(-.4deg); }
.kid-home-subject--maths { background: #d8bdfb; }
.kid-home-subject--science { background: #ddf7e7; }
.kid-home-subject--french { background: #ffdce9; }
.kid-home-subject--english { background: #fff0b7; }
.kid-home-subject__top { position: relative; z-index: 3; display: flex; width: 100%; align-items: center; justify-content: space-between; }
.kid-home-subject__top > i { display: grid; width: 48px; height: 48px; border: 2px solid rgba(38, 38, 43, .12); border-radius: 16px 21px 15px 19px; background: rgba(255, 255, 255, .72); font-style: normal; place-items: center; }
.kid-home-subject__top > i svg { width: 26px; height: 26px; }
.kid-home-subject__top small { padding: 7px 9px; border-radius: 999px; background: rgba(255, 255, 255, .68); font: 900 10px/1 var(--font-display); }
.kid-home-subject > strong { position: relative; z-index: 3; margin-top: 40px; font: 900 clamp(29px, 2.8vw, 40px)/.88 var(--font-display); letter-spacing: -.055em; }
.kid-home-subject > span:not(.kid-home-subject__top):not(.kid-home-subject__progress) { position: relative; z-index: 3; margin-top: 8px; font-size: 11px; font-weight: 750; }
.kid-home-subject__progress { position: relative; z-index: 3; width: 50%; height: 7px; margin-top: auto; border-radius: 999px; overflow: hidden; background: rgba(255, 255, 255, .58); }
.kid-home-subject__progress i { display: block; width: var(--kid-subject-progress); height: 100%; border-radius: inherit; background: var(--ink); }
.kid-home-subject__teacher { position: absolute; z-index: 2; right: -4%; bottom: -10%; width: 84%; height: 91%; object-fit: contain; object-position: right bottom; filter: drop-shadow(0 12px 10px rgba(38, 38, 43, .15)); }

.kid-home-finish { position: relative; min-height: 300px; margin-top: 88px; padding: 46px 42% 46px 52px; border-radius: 42px 60px 40px 56px / 55px 41px 62px 46px; overflow: hidden; background: var(--sun); box-shadow: var(--kid-home-shadow); }
.kid-home-finish::before { position: absolute; right: -8%; bottom: -70%; width: 62%; aspect-ratio: 1; border-radius: 50%; background: var(--violet); content: ''; }
.kid-home-finish > div:first-child { position: relative; z-index: 3; }
.kid-home-finish > div:first-child > span { color: var(--violet); font: 850 10px/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.kid-home-finish h2 { max-width: 720px; margin: 15px 0 25px; font: 900 clamp(38px, 4.4vw, 65px)/.84 var(--font-display); letter-spacing: -.065em; }
.kid-home-finish h2 em { color: var(--violet); font-style: normal; }
.kid-home-finish button { min-height: 50px; padding: 0 18px; border: 0; border-radius: 19px 25px 18px 23px; background: var(--ink); color: #fff; font-weight: 850; }
.kid-home-finish button b { margin-left: 25px; color: var(--acid); }
.kid-home-finish__buddy { position: absolute; z-index: 3; right: 8%; bottom: -13%; width: 280px; height: 280px; }
.kid-home-finish__buddy .goodie-companion { width: 100%; height: 100%; }
.kid-home-finish > i { position: absolute; z-index: 2; color: rgba(255, 255, 255, .22); font: 900 82px/1 var(--font-display); font-style: normal; transform: rotate(var(--letter-turn)); }
.kid-home-finish > i:nth-of-type(1) { --letter-turn:-12deg; top: 8%; right: 34%; }
.kid-home-finish > i:nth-of-type(2) { --letter-turn:10deg; right: 3%; bottom: 4%; }
.kid-home-finish > i:nth-of-type(3) { --letter-turn:5deg; top: 8%; right: 17%; }

@media (max-width: 1100px) {
  .kid-home-focus { grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); }
  .kid-home-focus h2 { font-size: clamp(52px, 6vw, 72px); }
  .kid-home-route__cards { grid-template-columns: 1fr; }
  .kid-home-route__line { display: none; }
  .kid-home-stop { min-height: 150px; }
  .kid-home-insights { grid-template-columns: 1fr; }
  .kid-home-worlds > div { grid-template-columns: repeat(2, 1fr); }
  .kid-home-subject { min-height: 285px; }
}

@media (max-height: 820px) and (min-width: 601px) {
  .kid-home-focus,
  .kid-home-focus__stage { min-height: 450px; }
  .kid-home-focus__copy { padding: 27px 32px; }
  .kid-home-focus h2 { margin: 16px 0 12px; font-size: clamp(45px, 5.1vw, 64px); }
  .kid-home-focus__copy > p { font-size: 14px; }
  .kid-home-focus__actions { margin-top: 17px; }
}

@media (max-width: 900px) {
  .kid-home { width: auto; margin-inline: var(--authenticated-shell-gutter); padding: 12px 0 132px; }
  .kid-home-header-greeting h1 { margin: 7px 0 0; font-size: clamp(24px, 4.8vw, 38px); }
  .kid-home-focus { grid-template-columns: 1fr; }
  .kid-home-focus__copy { min-height: 490px; }
  .kid-home-focus__stage { min-height: 440px; }
  .kid-home-focus__stage::before { right: -3%; width: 78%; }
  .kid-home-focus__teacher { right: -4%; width: 108%; height: 100%; object-position: 61% bottom; }
  .kid-home-focus__buddy { right: 4%; }
  .kid-home-route,
  .kid-home-insights,
  .kid-home-worlds,
  .kid-home-finish { margin-top: 62px; }
  .kid-home-buddy-card { padding-left: 238px; }
  .kid-home-finish { padding-right: 42%; }
}

@media (max-width: 600px) {
  .kid-home { width: auto; margin-inline: var(--authenticated-shell-gutter); padding-top: 8px; }
  .kid-home-header-greeting > span { gap: 5px; font-size: 6px; letter-spacing: .07em; white-space: nowrap; }
  .kid-home-header-greeting > span i { width: 5px; height: 5px; box-shadow: 0 0 0 3px rgba(176, 238, 11, .2); }
  .kid-home-header-greeting h1 { max-width: 150px; margin-top: 4px; font-size: clamp(18px, 5.3vw, 24px); line-height: .96; white-space: normal; }
  .kid-home-focus { border-radius: 35px 43px 33px 40px; }
  .kid-home-focus__copy { min-height: 465px; padding: 29px 24px; }
  .kid-home-focus h2 { margin: 18px 0 12px; font-size: clamp(43px, 12.4vw, 54px); }
  .kid-home-focus__copy > p { font-size: 13.5px; line-height: 1.42; }
  .kid-home-focus__actions { margin-top: 17px; align-items: stretch; flex-direction: column; }
  .kid-home-focus__actions button { min-height: 50px; }
  .kid-home-focus__copy dl { padding-top: 18px; }
  .kid-home-focus__actions button { width: 100%; }
  .kid-home-focus__actions button:last-child { width: auto; align-self: flex-start; }
  .kid-home-focus__copy dl { justify-content: space-between; }
  .kid-home-focus__copy dl div { padding-right: 8px; }
  .kid-home-focus__copy dl div + div { padding-left: 8px; }
  .kid-home-focus__copy dd { font-size: 10px; }
  .kid-home-focus__stage { min-height: 350px; }
  .kid-home-focus__teacher { right: -8%; width: 118%; height: 100%; object-position: 61% bottom; }
  .kid-home-focus__buddy { top: 2%; right: -3%; width: 104px; height: 104px; }
  .kid-home-focus__orbit { top: 7%; left: 4%; width: 82px; }
  .kid-home-focus__question { right: 4%; bottom: 4%; width: 72%; }
  .kid-home-route > header,
  .kid-home-worlds > header { align-items: flex-start; flex-direction: column; }
  .kid-home-route h2,
  .kid-home-worlds h2 { font-size: 37px; }
  .kid-home-section-link { width: auto; align-self: flex-start; }
  .kid-home-stop { min-height: 176px; padding: 18px; grid-template-columns: 50px 1fr; gap: 12px; }
  .kid-home-stop > span i { width: 48px; height: 48px; }
  .kid-home-growth { min-height: 0; padding: 24px 20px; }
  .kid-home-growth__body { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .kid-home-growth__bars { margin-top: 31px; }
  .kid-home-buddy-card { min-height: 760px; padding: 30px 24px 245px; align-items: start; }
  .kid-home-buddy-card.is-complete { min-height: 640px; }
  .kid-home-buddy-card__character { right: 50%; bottom: -4px; left: auto; width: 250px; height: 250px; transform: translateX(50%) rotate(-5deg); }
  .kid-home-checkin-options { grid-template-columns: 1fr; }
  .kid-home-checkin-options button { min-height: 96px; }
  .kid-home-checkin-actions { align-items: stretch; flex-direction: column; }
  .kid-home-checkin-actions button:first-child { width: 100%; }
  .kid-home-checkin-actions button:last-child { align-self: flex-start; }
  .kid-home-worlds > div { grid-template-columns: 1fr; }
  .kid-home-subject { min-height: 255px; }
  .kid-home-subject__teacher { right: -2%; bottom: -8%; width: 68%; height: 88%; }
  .kid-home-finish { min-height: 520px; padding: 36px 24px 235px; }
  .kid-home-finish::before { right: -32%; bottom: -36%; width: 110%; }
  .kid-home-finish h2 { font-size: 46px; }
  .kid-home-finish__buddy { right: 50%; bottom: -38px; width: 250px; height: 250px; transform: translateX(50%); }
  .kid-home-finish > i { font-size: 62px; }
}

@media (prefers-reduced-motion: reduce) {
  .kid-home button { transition: none !important; }
  .kid-home button:hover { transform: none !important; }
}

/* Logged-in weekly timetable v2 */
.kid-week {
  --kid-page-banner: var(--pink);
  width: auto;
  max-width: none;
  margin: 0 var(--authenticated-shell-gutter);
  padding: 12px 0 152px;
  color: var(--ink);
}

.kid-week-hero {
  position: relative;
  display: grid;
  min-height: 430px;
  padding: clamp(42px, 5vw, 76px);
  border-radius: 54px 68px 52px 62px;
  overflow: hidden;
  background: var(--kid-page-banner);
  color: var(--ink);
  grid-template-columns: minmax(0, 1fr) minmax(310px, .55fr);
  align-items: center;
  gap: clamp(30px, 5vw, 80px);
  isolation: isolate;
}
.kid-week-hero::before,
.kid-week-hero::after {
  position: absolute;
  z-index: -1;
  border: 2px solid rgba(255,255,255,.16);
  border-radius: 50%;
  content: "";
}
.kid-week-hero::before { top: -230px; left: -120px; width: 520px; height: 520px; border-color: rgba(104,70,214,.15); box-shadow: 0 0 0 42px rgba(255,255,255,.16), 0 0 0 90px rgba(104,70,214,.035); }
.kid-week-hero::after { right: 19%; bottom: -360px; width: 680px; height: 680px; border-color: rgba(104,70,214,.12); background: rgba(255,255,255,.24); }
.kid-week-hero__copy { position: relative; z-index: 2; }
.kid-week-hero__copy > span,
.kid-week-board > header > div > span,
.kid-week-move > div > span {
  display: block;
  font: 850 11px/1 var(--font-body);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kid-week-hero__copy > span { color: #6846d6; }
.kid-week-hero h1 {
  max-width: 880px;
  margin: 20px 0 24px;
  font: 900 clamp(64px, 6.8vw, 112px)/.79 var(--font-display);
  letter-spacing: -.075em;
  text-wrap: balance;
}
.kid-week-hero h1 i { color: #6846d6; }
.kid-week-hero__copy p { max-width: 770px; margin: 0; color: rgba(38,38,43,.76); font-size: clamp(15px, 1.35vw, 20px); font-weight: 700; line-height: 1.5; }
.kid-week-hero__guide { position: relative; display: grid; min-height: 300px; place-items: center; }
.kid-week-hero__guide > div { position: absolute; z-index: 3; top: 12%; left: 1%; display: flex; width: 126px; height: 126px; border: 2px solid rgba(255,255,255,.38); border-radius: 50%; flex-direction: column; align-items: center; justify-content: center; background: rgba(38,38,43,.9); color: white; transform: rotate(-7deg); }
.kid-week-hero__guide > div span { font: 900 48px/.8 var(--font-display); }
.kid-week-hero__guide > div strong { margin-top: 8px; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.kid-week-hero__guide > div small { max-width: 92px; margin-top: 4px; color: var(--acid); font-size: 8px; font-weight: 800; text-align: center; }
.kid-week-hero__guide .goodie-companion { position: relative; z-index: 2; width: min(100%, 340px); height: 340px; transform: rotate(4deg); }

.kid-week-command {
  display: grid;
  margin-top: 22px;
  padding: 18px;
  border: 1px solid rgba(38,38,43,.1);
  border-radius: 28px 34px 26px 31px;
  background: #fff;
  grid-template-columns: minmax(370px, .9fr) minmax(390px, 1.1fr) auto;
  align-items: center;
  gap: 18px;
  box-shadow: 0 16px 40px rgba(104,70,214,.08);
}
.kid-week-picker { display: grid; min-width: 0; grid-template-columns: 52px minmax(0, 1fr) 52px; align-items: center; gap: 9px; }
.kid-week-picker > button:not(.kid-week-picker__today) { display: grid; width: 52px; height: 52px; border: 1px solid rgba(38,38,43,.14); border-radius: 16px 19px 15px 18px; background: var(--soft); color: var(--ink); font-size: 25px; place-items: center; }
.kid-week-picker > button:hover { background: var(--pink); }
.kid-week-picker > div { min-width: 0; }
.kid-week-picker > div span { display: block; color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.kid-week-picker > div strong { display: block; margin-top: 6px; overflow: hidden; font-size: clamp(17px, 1.45vw, 23px); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.kid-week-picker__today { min-height: 33px; padding: 0; border: 0; border-bottom: 2px solid; background: transparent; color: #6846d6; grid-column: 2; justify-self: start; font-size: 11px; font-weight: 850; }
.kid-week-balance { display: grid; padding: 10px 14px; border-inline: 1px solid rgba(38,38,43,.09); grid-template-columns: repeat(3, 1fr); gap: 16px; }
.kid-week-balance > div { min-width: 0; }
.kid-week-balance span { display: block; min-height: 24px; color: #77727e; font-size: 9px; font-weight: 800; line-height: 1.15; text-transform: uppercase; }
.kid-week-balance strong { display: block; margin: 3px 0 8px; font: 900 25px/.9 var(--font-display); }
.kid-week-balance i { position: relative; display: block; height: 5px; overflow: hidden; border-radius: 8px; background: #eeeaf5; }
.kid-week-balance i::after { display: block; width: calc(var(--balance) * 100%); height: 100%; border-radius: inherit; background: var(--acid); content: ""; }
.kid-week-balance > div:nth-child(2) i::after { background: var(--sun); }
.kid-week-balance > div:nth-child(3) i::after { background: var(--pink); }
.kid-week-reset { display: flex; min-height: 52px; padding: 0 18px; border: 2px solid var(--ink); border-radius: 17px 20px 16px 19px; background: var(--ink); color: #fff; align-items: center; justify-content: center; gap: 9px; font-size: 11px; font-weight: 850; line-height: 1.15; text-align: left; }
.kid-week-reset:hover { background: #6846d6; }
.kid-week-reset span { color: var(--acid); font-size: 19px; }

.kid-week-mobile-days { display: none; }
.kid-week-move {
  display: flex;
  min-height: 88px;
  margin-top: 20px;
  padding: 17px 24px;
  border-radius: 25px 30px 24px 28px;
  background: #f0eaff;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.kid-week-move > div > span { color: #6846d6; }
.kid-week-move > div strong { display: block; margin-top: 7px; font-size: clamp(15px, 1.4vw, 20px); }
.kid-week-move > div small { display: block; margin-top: 4px; color: #6f6977; font-size: 11px; font-weight: 650; }
.kid-week-move > button { min-height: 42px; padding: 0; border: 0; border-bottom: 3px solid; background: transparent; color: #6846d6; font-weight: 850; white-space: nowrap; }
.kid-week-move__gesture { display: grid; width: 50px; height: 50px; border-radius: 15px 18px 14px 17px; background: #6846d6; color: #fff; font-size: 25px; place-items: center; }

.kid-week-board { margin-top: clamp(42px, 5vw, 72px); }
.kid-week-board > header { display: flex; margin-bottom: 18px; padding-inline: 4px; align-items: end; justify-content: space-between; gap: 30px; }
.kid-week-board > header > div > span { color: #6846d6; }
.kid-week-board h2 { margin: 9px 0 0; font: 900 clamp(38px, 4.2vw, 66px)/.88 var(--font-display); letter-spacing: -.055em; }
.kid-week-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; color: #6e6874; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.kid-week-legend span { display: flex; align-items: center; gap: 6px; }
.kid-week-legend i { display: block; width: 11px; height: 11px; border-radius: 4px; background: #d8bdfb; }
.kid-week-legend span:nth-child(2) i { background: var(--sun); }
.kid-week-legend span:nth-child(3) i { background: var(--acid); }
.kid-week-board__scroller { padding: 12px; border: 1px solid rgba(38,38,43,.08); border-radius: 34px 40px 32px 38px; overflow-x: auto; background: #f7f4fb; box-shadow: inset 0 1px 0 #fff, 0 22px 52px rgba(104,70,214,.08); scrollbar-color: #9267ea #e9e3f1; scrollbar-width: thin; }
.kid-week-grid { display: grid; min-width: 1320px; grid-template-columns: 76px repeat(7, minmax(156px, 1fr)); grid-template-rows: 84px repeat(6, minmax(146px, auto)); gap: 8px; }
.kid-week-grid__corner { display: flex; padding: 0 8px 10px; color: #8b8492; grid-column: 1; grid-row: 1; align-items: end; justify-content: center; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.kid-week-day { display: grid; min-width: 0; padding: 10px 8px; border: 0; border-radius: 19px 24px 17px 22px; background: #fff; color: var(--ink); grid-column: var(--schedule-column); grid-row: 1; grid-template-columns: 1fr auto; align-content: center; text-align: left; }
.kid-week-day span { color: #736d79; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.kid-week-day strong { grid-row: 1 / span 2; grid-column: 2; font: 900 30px/.8 var(--font-display); }
.kid-week-day small { margin-top: 7px; color: #8c8691; font-size: 9px; font-weight: 700; }
.kid-week-day.is-today { background: var(--acid); box-shadow: inset 0 0 0 2px rgba(104,70,214,.16); }
.kid-week-day.is-weekend:not(.is-today) { background: #fff6df; }
.kid-week-day:hover { transform: translateY(-2px); }
.kid-week-time { display: flex; padding-top: 15px; color: #5f5965; grid-column: 1; grid-row: var(--schedule-row); justify-content: center; font: 900 16px/1 var(--font-display); }
.kid-week-slot { position: relative; min-width: 0; min-height: 146px; padding: 5px; border: 1px dashed rgba(38,38,43,.12); border-radius: 20px 25px 18px 23px; background: rgba(255,255,255,.7); grid-column: var(--schedule-column); grid-row: var(--schedule-row); transition: background .16s ease, box-shadow .16s ease, transform .16s ease; }
.kid-week-slot.is-weekend { background: rgba(255,247,224,.76); }
.kid-week-slot.is-drop-target { z-index: 4; background: rgba(176,238,11,.35); box-shadow: inset 0 0 0 4px var(--acid), 0 12px 26px rgba(104,70,214,.15); transform: scale(1.025); }
.kid-week-slot__empty { display: flex; width: 100%; height: 100%; min-height: 134px; padding: 8px; border: 0; border-radius: 16px 21px 15px 19px; background: transparent; color: #aaa4af; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.kid-week-slot__empty:hover { background: #fff; color: #6846d6; }
.kid-week-slot__empty span { font-size: 22px; }
.kid-week-slot__empty small { font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }

.kid-week-event {
  --event-card: #f0eaff;
  --event-accent: #6846d6;
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 134px;
  padding: 0;
  border: 0;
  border-radius: 16px 21px 15px 19px;
  overflow: hidden;
  background: var(--event-card);
  color: var(--ink);
  cursor: grab;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  box-shadow: 0 6px 0 color-mix(in srgb, var(--event-accent) 17%, transparent);
  transition: transform .18s var(--ease-spring), box-shadow .18s ease, opacity .18s ease;
}
.kid-week-event:hover { z-index: 2; box-shadow: 0 9px 0 color-mix(in srgb, var(--event-accent) 22%, transparent); transform: translateY(-3px) rotate(-.5deg); }
.kid-week-event:active { cursor: grabbing; }
.kid-week-event.is-dragging { opacity: .38; transform: scale(.96) rotate(2deg); }
.kid-week-event.is-selected { outline: 4px solid #6846d6; outline-offset: -2px; box-shadow: 0 0 0 5px rgba(176,238,11,.68), 0 8px 0 rgba(104,70,214,.16); }
.kid-week-event__open { display: flex; width: 100%; height: 100%; min-height: 134px; padding: 11px 42px 11px 11px; border: 0; background: transparent; color: inherit; flex-direction: column; align-items: stretch; text-align: left; }
.kid-week-event__open:hover strong { color: var(--event-accent); }
.kid-week-event__open:focus-visible { outline: 3px solid var(--event-accent); outline-offset: -5px; }
.kid-week-event__top { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 6px; }
.kid-week-event__top time { padding: 5px 7px; border-radius: 8px; background: rgba(255,255,255,.7); color: #5f5965; font-size: 8px; font-weight: 900; white-space: nowrap; }
.kid-week-event .subject-glyph { width: 37px; height: 32px; color: var(--event-accent); }
.kid-week-event .subject-glyph .glyph-line { stroke-width: 9px; }
.kid-week-event__symbol { display: grid; width: 32px; height: 32px; border-radius: 10px 13px 9px 12px; background: rgba(255,255,255,.72); color: var(--event-accent); font: 900 18px/1 var(--font-display); place-items: center; }
.kid-week-event__open > strong { display: -webkit-box; margin-top: 8px; overflow: hidden; font-size: clamp(12px, .9vw, 15px); line-height: 1.03; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.kid-week-event__note { display: -webkit-box; margin-top: 5px; overflow: hidden; color: #615b67; font-size: 9px; font-weight: 650; line-height: 1.22; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.kid-week-event__open > small { display: flex; margin-top: auto; padding-top: 7px; color: var(--event-accent); align-items: center; gap: 4px; font-size: 7px; font-weight: 900; letter-spacing: .015em; text-transform: uppercase; }
.kid-week-event__open > small i { font-style: normal; font-size: 12px; }
.kid-week-event__move { position: absolute; right: 7px; bottom: 7px; display: grid; width: 31px; height: 31px; padding: 0; border: 2px solid rgba(255,255,255,.88); border-radius: 10px 13px 9px 12px; background: var(--event-accent); color: #fff; cursor: grab; place-items: center; box-shadow: 0 3px 0 color-mix(in srgb, var(--event-accent) 25%, transparent); }
.kid-week-event__move:hover { transform: translateY(-2px); }
.kid-week-event__move:focus-visible { outline: 3px solid #6846d6; outline-offset: 2px; }
.kid-week-event__move span { font-size: 15px; font-weight: 900; }
.kid-week-event--reading { --event-card: #ffdceb; --event-accent: #bb3f7d; }
.kid-week-event--french { --event-card: #ffe0e7; --event-accent: #d44e69; }
.kid-week-event--maths { --event-card: #ddc8ff; --event-accent: #6846d6; }
.kid-week-event--science { --event-card: #d9f6e4; --event-accent: #0a8e42; }
.kid-week-event--english { --event-card: #fff0b5; --event-accent: #ad7100; }
.kid-week-event--geography { --event-card: #d3f2ed; --event-accent: #168c80; }
.kid-week-event--project { --event-card: #ccefeb; --event-accent: #177a70; }
.kid-week-event--ai { --event-card: #eee2ff; --event-accent: #764acb; }
.kid-week-event--music { --event-card: #ffe1be; --event-accent: #b96020; }
.kid-week-event--break { --event-card: #fff1bd; --event-accent: #a36a00; }
.kid-week-event--play { --event-card: #d9f87d; --event-accent: #507300; }
.kid-week-event--spanish { --event-card: #ffd9c4; --event-accent: #c5542e; }
.kid-week-event--planning { --event-card: #eee9ff; --event-accent: #6846d6; }
.schedule-is-dragging .kid-week-slot { border-color: rgba(104,70,214,.34); }

.kid-week-library-layer { position: fixed; z-index: 520; inset: 0; display: grid; padding: clamp(18px, 4vw, 56px); overflow-y: auto; background: rgba(104,70,214,.16); place-items: center; }
.kid-week-library { width: min(1180px, 100%); max-height: min(900px, calc(100vh - 40px)); padding: clamp(28px, 4vw, 52px); border: 1px solid rgba(104,70,214,.14); border-radius: 46px 58px 42px 53px; overflow-y: auto; background: #fffefa; box-shadow: 0 28px 80px rgba(104,70,214,.18); }
.kid-week-library > header { display: grid; grid-template-columns: 1fr 54px; align-items: start; gap: 24px; }
.kid-week-library > header span { color: #6846d6; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.kid-week-library h2 { margin: 10px 0 12px; font: 900 clamp(42px, 5vw, 72px)/.84 var(--font-display); letter-spacing: -.055em; }
.kid-week-library > header p { max-width: 780px; margin: 0; color: #68616d; font-size: 14px; font-weight: 650; line-height: 1.45; }
.kid-week-library__close { display: grid; width: 54px; height: 54px; padding: 0; border: 0; border-radius: 17px 21px 15px 19px; background: #6846d6; color: #fff; font-size: 31px; place-items: center; }
.kid-week-library__groups { display: grid; margin-top: 34px; gap: 34px; }
.kid-week-library__groups > section > h3 { margin: 0 0 12px; color: #6846d6; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.kid-week-library__groups > section > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; }
.kid-week-library-card { position: relative; display: grid; min-height: 132px; padding: 15px 47px 15px 15px; border: 0; border-radius: 21px 27px 19px 24px; overflow: hidden; background: var(--event-card); color: var(--ink); grid-template-columns: 40px 1fr; grid-template-rows: auto auto 1fr; align-items: start; gap: 3px 10px; text-align: left; }
.kid-week-library-card:hover { transform: translateY(-3px) rotate(-.35deg); box-shadow: 0 8px 0 color-mix(in srgb, var(--event-accent) 18%, transparent); }
.kid-week-library-card:focus-visible { outline: 4px solid var(--event-accent); outline-offset: 2px; }
.kid-week-library-card > span { display: grid; width: 40px; height: 40px; grid-row: 1 / span 2; place-items: center; }
.kid-week-library-card .subject-glyph { width: 38px; height: 36px; color: var(--event-accent); }
.kid-week-library-card .kid-week-event__symbol { width: 36px; height: 36px; }
.kid-week-library-card > strong { align-self: end; font-size: 14px; line-height: 1.05; }
.kid-week-library-card > small { color: #68616d; font-size: 9px; font-weight: 650; line-height: 1.25; }
.kid-week-library-card > time { align-self: end; padding-top: 12px; color: var(--event-accent); grid-column: 1 / span 2; font-size: 9px; font-weight: 900; }
.kid-week-library-card > b { position: absolute; right: 12px; top: 50%; display: grid; width: 29px; height: 29px; border-radius: 9px 12px 8px 11px; background: var(--event-accent); color: #fff; font-size: 17px; place-items: center; transform: translateY(-50%); }

@media (max-width: 1180px) {
  .kid-week-command { grid-template-columns: 1fr 1fr; }
  .kid-week-balance { border-right: 0; }
  .kid-week-reset { grid-column: 1 / -1; justify-self: end; }
}

@media (max-width: 900px) {
  .kid-week { margin-inline: var(--authenticated-shell-gutter); padding-top: 8px; }
  .kid-week-hero { min-height: 530px; grid-template-columns: 1fr; }
  .kid-week-hero__guide { position: absolute; right: 2%; bottom: -54px; width: 310px; opacity: .98; }
  .kid-week-hero__copy { max-width: 70%; align-self: start; }
  .kid-week-hero__guide > div { top: 5%; left: -13%; }
  .kid-week-command { grid-template-columns: 1fr; }
  .kid-week-balance { border: 0; border-top: 1px solid rgba(38,38,43,.08); border-bottom: 1px solid rgba(38,38,43,.08); }
  .kid-week-reset { grid-column: 1; justify-self: stretch; }
  .kid-week-board > header { align-items: flex-start; flex-direction: column; }
  .kid-week-legend { justify-content: flex-start; }
  .kid-week-library__groups > section > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .kid-week { padding-bottom: 120px; }
  .kid-week-hero { min-height: 630px; padding: 36px 25px; border-radius: 34px 42px 32px 39px; align-items: start; }
  .kid-week-hero__copy { max-width: none; }
  .kid-week-hero h1 { margin-top: 16px; font-size: clamp(52px, 16vw, 76px); }
  .kid-week-hero__copy p { max-width: 92%; font-size: 14px; }
  .kid-week-hero__guide { right: 50%; bottom: -36px; width: 280px; transform: translateX(50%); }
  .kid-week-hero__guide > div { top: 10%; left: -2%; width: 102px; height: 102px; }
  .kid-week-hero__guide > div span { font-size: 38px; }
.kid-week-hero__guide .goodie-companion { width: 280px; height: 280px; }
  .kid-week-command { padding: 14px; }
  .kid-week-picker { grid-template-columns: 46px minmax(0,1fr) 46px; }
  .kid-week-picker > button:not(.kid-week-picker__today) { width: 46px; height: 46px; }
  .kid-week-balance { gap: 9px; padding-inline: 2px; }
  .kid-week-balance span { font-size: 7.5px; }
  .kid-week-mobile-days { display: grid; margin-top: 18px; grid-template-columns: repeat(7, 1fr); gap: 4px; }
  .kid-week-mobile-days button { display: grid; min-width: 0; min-height: 58px; padding: 6px 2px; border: 1px solid rgba(38,38,43,.1); border-radius: 13px 16px 12px 15px; background: #fff; place-items: center; }
  .kid-week-mobile-days button span { font-size: 7px; font-weight: 900; }
  .kid-week-mobile-days button strong { font: 900 18px/1 var(--font-display); }
  .kid-week-mobile-days button.is-active { background: var(--acid); box-shadow: inset 0 0 0 2px rgba(104,70,214,.13); }
  .kid-week-move { min-height: 0; padding: 16px 18px; }
  .kid-week-move__gesture { display: none; }
  .kid-week-move > div small { font-size: 9px; }
  .kid-week-board { margin-top: 48px; }
  .kid-week-board h2 { font-size: 42px; }
  .kid-week-board__scroller { padding: 8px; overflow: visible; }
  .kid-week-grid { min-width: 0; grid-template-columns: 58px minmax(0, 1fr); grid-template-rows: 76px repeat(6, minmax(140px, auto)); }
  .kid-week-grid__corner { grid-column: 1; }
  .kid-week-day[data-schedule-day-index]:not(.is-selected-day),
  .kid-week-slot[data-schedule-day-index]:not(.is-selected-day) { display: none; }
  .kid-week-day.is-selected-day,
  .kid-week-slot.is-selected-day { grid-column: 2 !important; }
  .kid-week-time { font-size: 13px; }
  .kid-week-event__open > strong { font-size: 15px; }
  .kid-week-event__note { font-size: 10px; }
  .kid-week-library-layer { padding: 9px; place-items: start center; }
  .kid-week-library { max-height: calc(100vh - 18px); padding: 28px 18px; border-radius: 31px 38px 28px 35px; }
  .kid-week-library > header { grid-template-columns: 1fr 46px; gap: 10px; }
  .kid-week-library__close { width: 46px; height: 46px; }
  .kid-week-library__groups > section > div { grid-template-columns: 1fr; }
  .kid-week-library-card { min-height: 116px; }
}

@media (prefers-reduced-motion: reduce) {
  .kid-week-event,
  .kid-week-slot,
  .kid-week-day { transition: none !important; }
  .kid-week-event:hover,
  .kid-week-slot.is-drop-target,
  .kid-week-day:hover { transform: none !important; }
}

/* Logged-in digital school campus */
.kid-campus {
  --kid-page-banner: var(--acid);
  width: auto;
  max-width: none;
  margin: 0 var(--authenticated-shell-gutter);
  padding: 0 0 150px;
  color: var(--ink);
}

.kid-campus button { font-family: inherit; }
.kid-campus-header-greeting > span i { background: var(--acid); }

.kid-campus-hero {
  position: relative;
  display: grid;
  min-height: 550px;
  padding: clamp(38px, 5vw, 74px);
  border: 1px solid rgba(104,70,214,.12);
  border-radius: 58px 74px 58px 70px;
  background: var(--kid-page-banner);
  grid-template-columns: minmax(0, .98fr) minmax(430px, 1.02fr);
  align-items: center;
  overflow: hidden;
}

.kid-campus-hero::before,
.kid-campus-hero::after {
  position: absolute;
  border: 2px solid rgba(104,70,214,.22);
  border-radius: 50%;
  content: "";
}

.kid-campus-hero::before { top: -280px; left: -160px; width: 520px; height: 520px; }
.kid-campus-hero::after { right: 34%; bottom: -210px; width: 360px; height: 360px; }

.kid-campus-hero__copy { position: relative; z-index: 4; max-width: 670px; }
.kid-campus-hero__copy > span,
.kid-campus-day > div > span {
  display: flex;
  color: var(--violet);
  font: 900 11px/1.2 var(--font-display);
  letter-spacing: .11em;
  text-transform: uppercase;
}

.kid-campus-hero h1 {
  margin: 20px 0 18px;
  font: 800 clamp(62px, 6.2vw, 104px)/.82 var(--font-display);
  letter-spacing: -.075em;
}

.kid-campus-hero h1 i { display: block; color: var(--violet); font-size: .76em; font-style: normal; line-height: 1.04; white-space: nowrap; }
.kid-campus-hero.is-french h1 { max-width: 11.5em; font-size: clamp(54px, 4.4vw, 76px); }
.kid-campus-hero__copy p { max-width: 590px; margin: 0; font-size: 18px; font-weight: 650; line-height: 1.5; }
.kid-campus-hero__copy > button {
  display: inline-flex;
  min-height: 66px;
  margin-top: 30px;
  padding: 8px 10px 8px 25px;
  border: 0;
  border-radius: 22px 29px 23px 26px;
  background: var(--violet);
  color: white;
  align-items: center;
  gap: 24px;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 17px 34px rgba(104,70,214,.22);
  transition: transform .28s var(--ease-spring);
}

.kid-campus-hero__copy > button b {
  display: grid;
  width: 46px;
  height: 46px;
  border-radius: 15px 20px 16px 18px;
  background: var(--acid);
  color: var(--ink);
  place-items: center;
  font-size: 22px;
}

.kid-campus-hero__copy > button:hover { transform: translateY(-4px); }
.kid-campus-hero__school { position: absolute; z-index: 2; right: 0; bottom: 0; width: 52%; height: 100%; }
.kid-campus-hero__school > span {
  position: absolute;
  right: 5%;
  bottom: 0;
  width: 86%;
  height: 74%;
  border-radius: 180px 180px 0 0;
  background: var(--violet);
  opacity: .96;
}

.kid-campus-hero__school > span::before {
  position: absolute;
  top: 18%;
  left: 50%;
  width: 46%;
  height: 25%;
  border: 5px solid rgba(255,255,255,.68);
  border-radius: 26px 30px 22px 28px;
  content: "";
  transform: translateX(-50%);
}

.kid-campus-hero__school > span::after {
  position: absolute;
  right: 8%;
  bottom: 8%;
  left: 8%;
  height: 15px;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
  content: "";
}

.kid-campus-hero__teacher { position: absolute; z-index: 3; bottom: -1%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 22px 20px rgba(104,70,214,.24)); }
.kid-campus-hero__teacher--henry { left: -2%; width: 52%; height: 83%; }
.kid-campus-hero__teacher--mia { z-index: 4; left: 27%; width: 55%; height: 91%; }
.kid-campus-hero__teacher--iris { right: -7%; width: 51%; height: 82%; }
.kid-campus-hero__bell { position: absolute; z-index: 5; top: 35px; right: 39px; display: grid; width: 58px; height: 58px; border: 3px solid var(--violet); border-radius: 50%; background: var(--sun); color: var(--violet); place-items: center; font-size: 23px; transform: rotate(8deg); }

.kid-campus-day {
  display: grid;
  min-height: 150px;
  margin: 22px 0 92px;
  padding: 24px 28px;
  border: 1px solid rgba(104,70,214,.13);
  border-radius: 31px 38px 29px 35px;
  background: #fff;
  grid-template-columns: minmax(280px, 1.2fr) minmax(350px, 1fr) auto;
  gap: 32px;
  align-items: center;
  box-shadow: 0 20px 50px rgba(104,70,214,.09);
}

.kid-campus-day > div > span { color: var(--violet); align-items: center; gap: 8px; }
.kid-campus-day > div > span i { width: 10px; height: 10px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 6px rgba(176,238,11,.2); }
.kid-campus-day > div > strong { display: block; margin-top: 10px; font: 800 clamp(19px, 1.7vw, 29px)/1.08 var(--font-display); letter-spacing: -.035em; }
.kid-campus-day > div > small { display: block; margin-top: 7px; color: var(--muted); font-weight: 700; }
.kid-campus-day ol { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(3,1fr); list-style: none; }
.kid-campus-day li { position: relative; display: flex; min-width: 0; align-items: center; gap: 9px; }
.kid-campus-day li:not(:last-child)::after { position: absolute; top: 20px; left: 43px; width: calc(100% - 46px); height: 2px; background: rgba(104,70,214,.15); content: ""; }
.kid-campus-day li i { position: relative; z-index: 2; display: grid; width: 40px; height: 40px; border: 2px solid rgba(104,70,214,.15); border-radius: 14px; background: white; place-items: center; font-style: normal; font-weight: 900; }
.kid-campus-day li.is-done i { background: var(--pink); }
.kid-campus-day li.is-live i { border-color: var(--violet); background: var(--acid); box-shadow: 0 0 0 6px rgba(176,238,11,.18); }
.kid-campus-day li span { display: flex; min-width: 0; flex-direction: column; font-size: 11px; font-weight: 900; }
.kid-campus-day li small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.kid-campus-day > button {
  min-height: 52px;
  padding: 0 18px;
  border: 2px solid var(--ink);
  border-radius: 18px 22px 17px 20px;
  background: white;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.kid-campus-day > button b { margin-left: 8px; font-size: 17px; }

.kid-campus-directory { max-width: 1050px; margin: 0 0 36px; }
.kid-campus-directory > span { color: var(--violet); font-size: 11px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.kid-campus-directory h2 { max-width: 980px; margin: 11px 0 14px; font: 800 clamp(47px, 5.2vw, 79px)/.89 var(--font-display); letter-spacing: -.06em; }
.kid-campus-directory h2 i { color: var(--violet); font-style: normal; }
.kid-campus-directory p { max-width: 730px; margin: 0; color: var(--muted); font-size: 16px; font-weight: 650; line-height: 1.5; }

.kid-campus-floor {
  --wing-surface: var(--violet);
  --wing-ink: white;
  --wing-accent: var(--acid);
  margin-bottom: 22px;
  border: 1px solid rgba(104,70,214,.13);
  border-radius: 42px 52px 39px 48px;
  background: white;
  overflow: hidden;
  box-shadow: 0 20px 52px rgba(104,70,214,.1);
}

.kid-campus-floor--world { --wing-surface: var(--coral); --wing-ink: var(--ink); --wing-accent: white; }
.kid-campus-floor--create { --wing-surface: var(--acid); --wing-ink: var(--ink); --wing-accent: var(--violet); }
.kid-campus-floor > summary {
  position: relative;
  display: grid;
  min-height: 216px;
  padding: 28px 34px;
  background-color: var(--wing-surface);
  background-image: radial-gradient(circle, rgba(255,255,255,.23) 0 3px, transparent 4px);
  background-size: 28px 28px;
  color: var(--wing-ink);
  grid-template-columns: 86px minmax(280px,1fr) minmax(250px,.72fr) 120px;
  gap: 24px;
  align-items: center;
  list-style: none;
  cursor: pointer;
  overflow: hidden;
  transition: min-height .35s var(--ease-spring), filter .25s ease;
}

.kid-campus-floor > summary::-webkit-details-marker { display: none; }
.kid-campus-floor > summary::after { position: absolute; right: 24%; bottom: -130px; width: 390px; height: 260px; border: 44px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; transform: rotate(-8deg); }
.kid-campus-floor:not([open]) > summary:hover { filter: saturate(1.08) brightness(1.025); }
.kid-campus-floor > summary:focus-visible { outline: 5px solid var(--wing-accent); outline-offset: -8px; }
.kid-campus-floor[open] > summary { min-height: 188px; }
.kid-campus-floor__number { position: relative; z-index: 2; display: grid; width: 78px; height: 78px; border: 3px solid currentColor; border-radius: 25px 31px 23px 28px; background: rgba(255,255,255,.14); place-items: center; font: 900 28px/1 var(--font-display); transform: rotate(-3deg); }
.kid-campus-floor__copy { position: relative; z-index: 2; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.kid-campus-floor__copy small { font-size: 10px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.kid-campus-floor__copy strong { margin-top: 8px; font: 800 clamp(43px, 4.3vw, 67px)/.86 var(--font-display); letter-spacing: -.055em; }
.kid-campus-floor__copy em { margin-top: 12px; font-style: normal; font-size: 12px; font-weight: 850; letter-spacing: .02em; }
.kid-campus-floor__teachers { position: relative; z-index: 2; display: flex; min-width: 250px; align-items: flex-end; justify-content: center; }
.kid-campus-floor__teachers i { display: block; width: 82px; height: 82px; margin-left: -12px; border: 4px solid white; border-radius: 50%; background: var(--wing-teacher); overflow: hidden; box-shadow: 0 11px 24px rgba(104,70,214,.16); transform: rotate(calc((var(--wing-teacher-index, 0) - 2) * 2deg)); }
.kid-campus-floor__teachers i:first-child { margin-left: 0; }
.kid-campus-floor__teachers img { width: 100%; height: 132%; object-fit: contain; object-position: center top; transform: translateY(5px) scale(1.06); }
.kid-campus-floor__action { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.kid-campus-floor__action small { font-size: 9px; font-weight: 950; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.kid-campus-floor__action b { display: grid; width: 62px; height: 62px; border: 3px solid var(--wing-ink); border-radius: 20px 25px 18px 23px; background: var(--wing-accent); color: var(--ink); place-items: center; font: 700 31px/1 var(--font-display); transition: border-radius .3s var(--ease-spring), transform .3s var(--ease-spring); }
.kid-campus-floor[open] .kid-campus-floor__action b { border-radius: 50%; transform: rotate(45deg); }
.kid-campus-floor__rooms { display: grid; padding: 22px; background: white; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; animation: kid-campus-wing-open .45s both; }

.kid-classroom {
  --classroom-surface: #d9c2ff;
  --classroom-accent: var(--violet);
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 440px;
  padding: 32px 38px 88px;
  border: 1px solid color-mix(in srgb, var(--classroom-accent) 24%, transparent);
  border-radius: 45px 57px 44px 53px;
  background: var(--classroom-surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 24px 58px rgba(104,70,214,.11);
  transition: transform .34s var(--ease-spring), border-radius .34s var(--ease-spring);
  animation: kid-classroom-arrive .65s calc(var(--classroom-order) * 55ms) both;
}

.kid-classroom:hover { border-radius: 56px 44px 61px 42px; transform: translateY(-7px); }
.kid-classroom:focus-visible { outline: 5px solid var(--classroom-accent); outline-offset: 5px; }
.kid-classroom--maths { --classroom-surface: #f2ebff; --classroom-accent: #9267ea; }
.kid-classroom--english { --classroom-surface: #ffe5f2; --classroom-accent: #f35aa5; }
.kid-classroom--french { --classroom-surface: #ffe7e2; --classroom-accent: #fd7666; }
.kid-classroom--science { --classroom-surface: #e5f8eb; --classroom-accent: #0fbc53; }
.kid-classroom--spanish { --classroom-surface: #fff5c8; --classroom-accent: #f6cc24; }
.kid-classroom--civics { --classroom-surface: #dff8f2; --classroom-accent: #00a98f; }
.kid-classroom--history { --classroom-surface: #fff0d2; --classroom-accent: #d79b3b; }
.kid-classroom--geography { --classroom-surface: #e2efff; --classroom-accent: #2f73d9; }
.kid-classroom--ai { --classroom-surface: #fff0f8; --classroom-accent: #fdc8e9; }
.kid-classroom--arts { --classroom-surface: #fff0dc; --classroom-accent: #f29c45; }
.kid-classroom--music { --classroom-surface: #ebeaff; --classroom-accent: #5b5bd6; }
.kid-classroom--surf { --classroom-surface: #e0f8fb; --classroom-accent: #2bb7c9; }

.kid-classroom__plaque { position: absolute; z-index: 5; top: 28px; right: 27px; display: grid; min-width: 64px; min-height: 64px; padding: 8px; border: 2px solid rgba(255,255,255,.72); border-radius: 20px 24px 19px 22px; background: rgba(255,255,255,.68); text-align: center; place-content: center; }
.kid-classroom__plaque small { font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.kid-classroom__plaque strong { font: 900 21px/1 var(--font-display); }
.kid-classroom__copy { position: relative; z-index: 4; display: flex; width: 53%; flex-direction: column; align-items: flex-start; }
.kid-classroom__copy > small { display: inline-flex; min-height: 27px; padding: 0 10px; border-radius: 9px 12px 8px 11px; background: rgba(255,255,255,.7); align-items: center; color: var(--classroom-accent); font-size: 9px; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.kid-classroom__copy > strong { font: 800 clamp(45px, 4.1vw, 72px)/.82 var(--font-display); letter-spacing: -.065em; }
.kid-classroom__copy > em { margin-top: 13px; font-style: normal; font-size: 11px; font-weight: 950; letter-spacing: .045em; text-transform: uppercase; }
.kid-classroom__copy > span { max-width: 300px; margin-top: 13px; font-size: 14px; font-weight: 650; line-height: 1.35; }
.kid-classroom__copy > b { margin-top: 22px; color: var(--classroom-accent); font-size: clamp(22px,1.75vw,28px); font-weight: 950; line-height: 1; }
.kid-classroom__door { position: absolute; z-index: 2; right: 2%; bottom: 0; width: 47%; height: 85%; border-radius: 130px 130px 0 0; background: var(--classroom-accent); overflow: hidden; }
.kid-classroom__door > i { position: absolute; inset: 19px 19px 0; border: 3px solid rgba(255,255,255,.56); border-bottom: 0; border-radius: 110px 110px 0 0; }
.kid-classroom__door > .subject-glyph { position: absolute; top: 12%; left: 50%; width: 62%; height: 40%; opacity: .13; transform: translateX(-50%); }
.kid-classroom__door > img { position: absolute; z-index: 2; right: -11%; bottom: -1%; width: 122%; height: 93%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 16px 16px rgba(104,70,214,.19)); transition: transform .38s var(--ease-spring); }
.kid-classroom:hover .kid-classroom__door > img { transform: scale(1.035) translateY(-3px); }
.kid-classroom--maths .kid-classroom__door > img { right: -15%; width: 130%; height: 96%; }
.kid-classroom--science .kid-classroom__door > img { right: -13%; width: 127%; height: 96%; }
.kid-classroom--history .kid-classroom__door > img { right: -5%; width: 112%; height: 92%; }
.kid-classroom--geography .kid-classroom__door > img { right: -4%; width: 110%; height: 94%; }
.kid-classroom--civics .kid-classroom__door > img { right: -7%; width: 115%; height: 94%; }
.kid-classroom--arts .kid-classroom__door > img { right: -8%; width: 115%; height: 95%; }
.kid-classroom--music .kid-classroom__door > img { right: -8%; width: 116%; height: 96%; }
.kid-classroom--surf .kid-classroom__door > img { right: -14%; width: 126%; height: 95%; }
.kid-classroom__enter { position: absolute; z-index: 6; right: 18px; bottom: 17px; left: 18px; display: flex; min-height: 56px; padding: 0 10px 0 20px; border: 1px solid rgba(255,255,255,.52); border-radius: 18px 23px 17px 21px; background: rgba(255,255,255,.82); align-items: center; justify-content: space-between; font-size: 12px; font-weight: 950; backdrop-filter: blur(10px); }
.kid-classroom__enter > b { display: grid; width: 40px; height: 40px; border-radius: 13px 17px 12px 15px; background: var(--classroom-accent); color: white; place-items: center; font-size: 19px; }
.kid-classroom--spanish .kid-classroom__enter > b,
.kid-classroom--ai .kid-classroom__enter > b { color: var(--ink); }

.school-subject-world { --school-subject-accent: #00a98f; --school-subject-surface: #dff8f2; padding-bottom: 100px; }
.school-subject-world--arts { --school-subject-accent: #f29c45; --school-subject-surface: #fff0dc; }
.school-subject-world--surf { --school-subject-accent: #2bb7c9; --school-subject-surface: #e0f8fb; }
.school-subject-lobby { position: relative; display: grid; min-height: 620px; padding: clamp(42px, 6vw, 82px); border-radius: 54px 69px 50px 64px; background: var(--school-subject-surface); grid-template-columns: minmax(0, .95fr) minmax(370px, .7fr); align-items: center; overflow: hidden; }
.school-subject-lobby::after { position: absolute; right: -10%; bottom: -40%; width: 64%; height: 108%; border-radius: 50% 50% 0 0; background: var(--school-subject-accent); opacity: .9; content: ""; }
.school-subject-lobby > div:first-child { position: relative; z-index: 3; }
.school-subject-lobby .eyebrow { color: var(--school-subject-accent); }
.school-subject-lobby h1 { max-width: 790px; margin: 18px 0 22px; font: 800 clamp(64px, 7vw, 112px)/.84 var(--font-display); letter-spacing: -.07em; }
.school-subject-lobby p { max-width: 650px; font-size: 19px; font-weight: 650; line-height: 1.5; }
.school-subject-lobby > .teacher-cutout { position: absolute; z-index: 3; right: 2%; bottom: 0; width: 47%; height: 94%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 24px 22px rgba(104,70,214,.18)); }
.school-subject-lobby__mark { position: absolute; z-index: 2; top: 7%; right: 5%; width: 42%; height: 48%; color: white; opacity: .2; }
.school-subject-lobby__mark .subject-glyph { width: 100%; height: 100%; }

/* 2026 classroom experience · one school language, twelve subject worlds */
.classroom-experience { position: relative; padding-bottom: 34px; isolation: isolate; }
.classroom-threshold {
  position: relative;
  display: grid;
  min-height: 148px;
  margin: 0 0 20px;
  padding: 18px 20px;
  border: 1px solid color-mix(in srgb, var(--room-accent) 24%, transparent);
  border-radius: 33px 41px 31px 38px;
  background-color: var(--room-surface);
  background-image: radial-gradient(circle, color-mix(in srgb, var(--room-accent) 18%, transparent) 0 2px, transparent 3px);
  background-size: 23px 23px;
  grid-template-columns: auto minmax(290px,1fr) minmax(220px,.62fr) 218px;
  gap: 18px;
  align-items: center;
  overflow: hidden;
  box-shadow: 0 16px 42px rgba(104,70,214,.08);
  animation: classroom-threshold-in .55s both;
}

.classroom-threshold::after { position: absolute; right: 11%; bottom: -120px; width: 330px; height: 220px; border: 34px solid color-mix(in srgb, var(--room-accent) 15%, transparent); border-radius: 50%; content: ""; transform: rotate(-8deg); }
.classroom-threshold > * { position: relative; z-index: 2; }
.classroom-threshold .class-back { min-height: 52px; margin: 0; padding: 10px 15px; border: 2px solid var(--ink); border-radius: 17px 22px 16px 20px; background: white; color: var(--ink); font-size: 11px; font-weight: 900; transition: transform .25s var(--ease-spring), border-radius .25s var(--ease-spring); }
.classroom-threshold .class-back:hover { border-radius: 22px 17px 21px 16px; transform: translateX(-3px); }
.classroom-threshold .class-back:focus-visible,
.classroom-mission-trail > button:focus-visible { outline: 4px solid var(--room-accent); outline-offset: 3px; }
.classroom-threshold__identity { display: grid; min-width: 0; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 15px; }
.classroom-threshold__icon { display: grid; width: 62px; height: 62px; border: 2px solid color-mix(in srgb, var(--room-accent) 58%, var(--ink)); border-radius: 20px 25px 18px 23px; background: var(--room-accent); color: var(--ink); place-items: center; transform: rotate(-3deg); }
.classroom-threshold__icon .subject-glyph { width: 37px; height: 37px; }
.classroom-threshold__identity > div { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.classroom-threshold__identity small,
.classroom-threshold__pulse > span,
.classroom-threshold__teacher > span { font-size: 8px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.classroom-threshold__identity strong { margin-top: 5px; font: 850 clamp(28px,2.8vw,45px)/.9 var(--font-display); letter-spacing: -.05em; }
.classroom-threshold__identity em { margin-top: 5px; color: color-mix(in srgb, var(--room-accent) 72%, var(--ink)); font-style: normal; font-size: 11px; font-weight: 900; }
.classroom-threshold__pulse { display: flex; min-width: 0; min-height: 88px; padding: 15px 18px; border: 1px solid color-mix(in srgb, var(--room-accent) 23%, transparent); border-radius: 23px 30px 21px 27px; background: rgba(255,255,255,.68); flex-direction: column; justify-content: center; backdrop-filter: blur(8px); }
.classroom-threshold__pulse > span { display: flex; align-items: center; gap: 8px; }
.classroom-threshold__pulse > span i { width: 9px; height: 9px; border-radius: 50%; background: var(--room-accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--room-accent) 18%, transparent); }
.classroom-threshold__pulse strong { margin-top: 9px; font: 850 16px/1 var(--font-display); }
.classroom-threshold__pulse small { margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 800; }
.classroom-threshold__teacher { position: relative; align-self: stretch; min-height: 110px; border: 2px solid white; border-radius: 28px 36px 26px 33px; background: var(--room-accent); overflow: hidden; }
.classroom-threshold__teacher > span { position: absolute; z-index: 3; top: 13px; left: 14px; padding: 6px 8px; border-radius: 8px 11px 7px 10px; background: rgba(255,255,255,.8); }
.classroom-threshold__teacher img { position: absolute; z-index: 2; right: -8%; bottom: -22%; width: 74%; height: 128%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 10px 12px rgba(104,70,214,.18)); transition: transform .35s var(--ease-spring); }
.classroom-threshold:hover .classroom-threshold__teacher img { transform: translateY(-4px) scale(1.035); }

/* The full classroom portal replaces the legacy classroom hero on every room route. */
.classroom-adventure-hero {
  position: relative;
  z-index: 4;
  display: grid;
  min-height: 700px;
  padding: 30px clamp(38px,5vw,72px) 66px;
  border: 1px solid color-mix(in srgb, var(--room-accent) 38%, transparent);
  border-radius: 58px 72px 54px 68px;
  background:
    radial-gradient(circle at 15% 18%, color-mix(in srgb, var(--room-accent) 19%, transparent) 0 5px, transparent 6px) 0 0 / 45px 45px,
    linear-gradient(122deg, color-mix(in srgb, var(--room-surface) 96%, white) 0 58%, color-mix(in srgb, var(--room-accent) 16%, white) 100%);
  grid-template-columns: minmax(0,1.04fr) minmax(430px,.96fr);
  grid-template-rows: auto 1fr;
  column-gap: clamp(28px,4vw,58px);
  overflow: hidden;
  box-shadow: 0 28px 72px rgba(35,31,42,.12);
  isolation: isolate;
  animation: classroom-portal-in .62s both;
}

.classroom-adventure-hero::before { position: absolute; z-index: -2; top: 15%; right: -8%; width: 55%; height: 110%; border-radius: 52% 48% 0 0; background: var(--room-accent); content: ""; transform: rotate(7deg); }
.classroom-adventure-hero::after { position: absolute; z-index: -1; top: 22%; right: 5%; width: 43%; aspect-ratio: 1; border: clamp(28px,4vw,62px) solid rgba(255,255,255,.28); border-radius: 50%; content: ""; }
.classroom-adventure-hero > * { position: relative; z-index: 2; }
.classroom-adventure-hero__top { display: flex; grid-column: 1 / -1; min-width: 0; align-items: center; gap: 13px; }
.classroom-adventure-hero .class-back { display: inline-flex; min-height: 52px; margin: 0 auto 0 0; padding: 10px 16px; border: 2px solid var(--ink); border-radius: 17px 22px 16px 20px; background: rgba(255,255,255,.91); color: var(--ink); align-items: center; gap: 9px; font-size: 11px; font-weight: 950; cursor: pointer; backdrop-filter: blur(10px); transition: transform .25s var(--ease-spring), border-radius .25s var(--ease-spring); }
.classroom-adventure-hero .class-back:hover { border-radius: 22px 17px 21px 16px; transform: translateX(-3px); }
.classroom-adventure-hero .class-back:focus-visible,
.classroom-adventure-hero__copy > button:focus-visible,
.classroom-mission-trail > button:focus-visible { outline: 4px solid var(--room-accent); outline-offset: 3px; }
.classroom-adventure-hero__room,
.classroom-adventure-hero__open { display: inline-flex; min-height: 42px; padding: 8px 13px; border: 1px solid rgba(35,31,42,.12); border-radius: 14px 18px 13px 16px; background: rgba(255,255,255,.79); align-items: center; gap: 7px; font-size: 8px; font-weight: 950; letter-spacing: .1em; white-space: nowrap; backdrop-filter: blur(10px); }
.classroom-adventure-hero__room b { display: grid; min-width: 28px; height: 28px; padding-inline: 4px; border-radius: 9px 12px 8px 11px; background: var(--room-accent); color: var(--ink); place-items: center; font: 950 10px/1 var(--font-display); }
.classroom-adventure-hero__open i { width: 10px; height: 10px; border-radius: 50%; background: #07bb50; box-shadow: 0 0 0 6px rgba(7,187,80,.14); }
.classroom-adventure-hero__copy { align-self: center; max-width: 750px; padding: 42px 0 58px; }
.classroom-adventure-hero__copy > span { color: color-mix(in srgb, var(--room-accent) 74%, var(--ink)); font-size: 10px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.classroom-adventure-hero__copy h1 { max-width: 770px; margin: 18px 0 24px; font: 850 clamp(64px,6.2vw,105px)/.82 var(--font-display); letter-spacing: -.075em; text-wrap: balance; }
.classroom-adventure-hero__copy h1 i { color: color-mix(in srgb, var(--room-accent) 84%, var(--ink)); font-style: normal; }
.classroom-adventure-hero__copy p { max-width: 650px; margin: 0; font-size: clamp(15px,1.4vw,20px); font-weight: 720; line-height: 1.42; }
.classroom-adventure-hero__copy > button { display: inline-flex; min-height: 66px; margin-top: 27px; padding: 9px 10px 9px 23px; border: 2px solid var(--ink); border-radius: 21px 28px 20px 25px; background: var(--room-accent); color: var(--ink); align-items: center; gap: 20px; font-size: 12px; font-weight: 950; cursor: pointer; box-shadow: 0 12px 0 color-mix(in srgb, var(--room-accent) 22%, transparent); transition: transform .25s var(--ease-spring), border-radius .25s var(--ease-spring), box-shadow .25s var(--ease-spring); }
.classroom-adventure-hero__copy > button:hover { border-radius: 28px 21px 26px 20px; box-shadow: 0 7px 0 color-mix(in srgb, var(--room-accent) 22%, transparent); transform: translateY(5px); }
.classroom-adventure-hero__copy > button b { display: grid; width: 45px; height: 45px; border-radius: 15px 19px 14px 17px; background: white; place-items: center; font-size: 19px; }
.classroom-adventure-hero__copy dl { display: grid; max-width: 720px; margin: 39px 0 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.classroom-adventure-hero__copy dl > div { min-width: 0; padding: 15px 16px; border: 1px solid color-mix(in srgb, var(--room-accent) 25%, transparent); border-radius: 18px 23px 17px 21px; background: rgba(255,255,255,.69); backdrop-filter: blur(9px); }
.classroom-adventure-hero__copy dt { color: color-mix(in srgb, var(--room-accent) 70%, var(--ink)); font-size: 7px; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.classroom-adventure-hero__copy dd { margin: 7px 0 0; font-size: 10px; font-weight: 900; line-height: 1.25; }
.classroom-adventure-hero__scene { position: relative; min-width: 0; min-height: 560px; align-self: end; }
.classroom-adventure-hero__door { position: absolute; right: -3%; bottom: -66px; width: 75%; height: 96%; border: 3px solid rgba(255,255,255,.77); border-bottom: 0; border-radius: 200px 200px 0 0; background: color-mix(in srgb, var(--room-accent) 72%, white); overflow: hidden; box-shadow: 0 30px 60px color-mix(in srgb, var(--room-accent) 35%, transparent); }
.classroom-adventure-hero__door::after { position: absolute; inset: 8% 9% -16%; border: 2px solid rgba(255,255,255,.42); border-radius: 180px 180px 0 0; content: ""; }
.classroom-adventure-hero__door > i { position: absolute; right: -18%; bottom: -10%; width: 88%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.24); }
.classroom-adventure-hero__door .subject-glyph { position: absolute; top: 12%; right: 11%; width: 48%; height: 48%; color: white; opacity: .18; transform: rotate(8deg); }
.classroom-adventure-hero__door > span { position: absolute; z-index: 4; top: 13%; left: 9%; display: grid; width: 58px; height: 58px; border: 2px solid var(--ink); border-radius: 18px 23px 17px 21px; background: white; place-items: center; font: 950 15px/1 var(--font-display); transform: rotate(-5deg); }
.classroom-adventure-hero__door > img { position: absolute; z-index: 3; right: -20%; bottom: -2%; width: 140%; height: 92%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 18px 18px rgba(35,31,42,.22)); transition: transform .35s var(--ease-spring); }
.classroom-adventure-hero:hover .classroom-adventure-hero__door > img { transform: translateY(-5px) scale(1.025); }
.classroom-adventure-hero__buddy { position: absolute; z-index: 6; right: 58%; bottom: 18px; width: 175px; }
.classroom-adventure-hero__buddy .goodie-companion { width: 146px; margin-inline: auto; }
.classroom-adventure-hero__buddy > span:not(.goodie-companion) { display: block; margin-top: -7px; padding: 11px 13px; border: 2px solid var(--ink); border-radius: 17px 22px 16px 20px; background: white; font-size: 9px; font-weight: 950; line-height: 1.2; text-align: center; transform: rotate(-2deg); }
.classroom-adventure-hero__scene > ol { position: absolute; z-index: 5; top: 75px; left: -2%; display: grid; margin: 0; padding: 0; gap: 12px; list-style: none; }
.classroom-adventure-hero__scene > ol li { display: flex; min-width: 154px; min-height: 51px; padding: 8px 14px 8px 8px; border: 2px solid color-mix(in srgb, var(--room-accent) 45%, var(--ink)); border-radius: 16px 21px 15px 19px; background: rgba(255,255,255,.9); align-items: center; gap: 10px; font-size: 10px; font-weight: 950; box-shadow: 0 12px 25px rgba(35,31,42,.1); transform: translateX(calc(var(--verb) * 17px)) rotate(calc((var(--verb) - 1) * 1deg)); backdrop-filter: blur(8px); }
.classroom-adventure-hero__scene > ol b { display: grid; width: 33px; height: 33px; flex: 0 0 auto; border-radius: 10px 13px 9px 12px; background: var(--room-accent); place-items: center; font-size: 8px; }

.classroom-experience > header { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--room-accent) 22%, transparent); }
.classroom-mission-trail {
  position: relative;
  z-index: 8;
  display: grid;
  width: calc(100% - 56px);
  min-height: 164px;
  margin: -38px auto 0;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--room-accent) 25%, transparent);
  border-radius: 31px 39px 29px 36px;
  background: rgba(255,255,255,.94);
  grid-template-columns: minmax(225px,.66fr) minmax(420px,1.14fr) auto;
  gap: 25px;
  align-items: center;
  box-shadow: 0 20px 48px rgba(104,70,214,.13);
  backdrop-filter: blur(14px);
  animation: classroom-route-in .62s .12s both;
}

.classroom-mission-trail > div > span { color: var(--room-accent); font-size: 8px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.classroom-mission-trail h2 { margin: 8px 0 0; font: 850 clamp(27px,2.5vw,42px)/.92 var(--font-display); letter-spacing: -.05em; }
.classroom-mission-trail h2 i { display: block; color: color-mix(in srgb, var(--room-accent) 78%, var(--ink)); font-style: normal; }
.classroom-mission-trail ol { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; }
.classroom-mission-trail li { position: relative; display: flex; min-width: 0; align-items: center; gap: 9px; }
.classroom-mission-trail li:not(:last-child)::after { position: absolute; z-index: -1; top: 22px; left: 42px; width: calc(100% - 43px); height: 2px; background: color-mix(in srgb, var(--room-accent) 22%, transparent); content: ""; }
.classroom-mission-trail li > b { display: grid; width: 44px; height: 44px; flex: 0 0 auto; border: 2px solid color-mix(in srgb, var(--room-accent) 32%, transparent); border-radius: 14px 18px 13px 16px; background: white; place-items: center; font: 900 11px/1 var(--font-display); }
.classroom-mission-trail li.is-done > b { border-color: transparent; background: var(--room-surface); }
.classroom-mission-trail li.is-live > b { border-color: var(--ink); background: var(--room-accent); box-shadow: 0 0 0 6px color-mix(in srgb, var(--room-accent) 17%, transparent); transform: rotate(-3deg); }
.classroom-mission-trail li > span { display: flex; min-width: 0; flex-direction: column; font-size: 10px; font-weight: 950; }
.classroom-mission-trail li small { margin-top: 3px; color: var(--muted); font-size: 8px; font-weight: 750; }
.classroom-mission-trail > button { display: inline-flex; min-height: 57px; padding: 8px 9px 8px 18px; border: 2px solid var(--ink); border-radius: 19px 24px 17px 22px; background: var(--room-accent); color: var(--ink); align-items: center; gap: 13px; font-size: 10px; font-weight: 950; cursor: pointer; transition: transform .26s var(--ease-spring), border-radius .26s var(--ease-spring); }
.classroom-mission-trail > button:hover { border-radius: 24px 18px 22px 17px; transform: translateY(-3px); }
.classroom-mission-trail > button b { display: grid; width: 38px; height: 38px; border-radius: 13px 17px 12px 15px; background: white; place-items: center; font-size: 17px; }
.classroom-experience .science-bench,
.classroom-experience .class-learning-deck,
.classroom-experience .maths-library,
.classroom-experience .ai-course-library,
.classroom-experience .geo-class-deck { scroll-margin-top: 28px; }

.school-subject-world .class-learning-deck { padding-top: 56px; }
.school-subject-world .class-learning-deck__visual { position: relative; background: var(--room-accent); color: white; }
.school-subject-world .class-learning-deck__visual .subject-glyph { position: absolute; z-index: 1; width: 72%; height: 72%; opacity: .2; }
.school-subject-world .class-learning-deck__visual .goodie-companion { position: relative; z-index: 2; }
.school-subject-world .class-learning-deck__checkpoint { background: color-mix(in srgb, var(--room-accent) 76%, var(--violet)); }
.school-subject-world--arts .class-learning-deck__checkpoint { background: var(--violet); }

@keyframes classroom-portal-in {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes classroom-route-in {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes kid-classroom-arrive {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes kid-campus-wing-open {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1180px) {
  .kid-campus-hero { min-height: 610px; padding: 48px; grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr); }
  .kid-campus-hero h1 { font-size: clamp(60px, 7vw, 85px); }
  .kid-campus-hero__school { width: 49%; }
  .kid-campus-day { grid-template-columns: 1fr 1fr; }
  .kid-campus-day > button { grid-column: 1 / -1; }
  .kid-classroom { min-height: 420px; padding-inline: 28px; }
  .kid-classroom__copy { width: 56%; }
  .kid-classroom__copy > strong { font-size: clamp(43px, 5vw, 62px); }
  .classroom-adventure-hero { min-height: 680px; padding-inline: 42px; grid-template-columns: minmax(0,1fr) minmax(370px,.78fr); }
  .classroom-adventure-hero__copy h1 { font-size: clamp(60px,6.5vw,84px); }
  .classroom-adventure-hero__door { width: 82%; }
  .classroom-adventure-hero__buddy { right: 60%; }
  .classroom-threshold { grid-template-columns: auto minmax(250px,1fr) minmax(190px,.58fr) 180px; }
  .classroom-mission-trail { grid-template-columns: minmax(205px,.6fr) minmax(370px,1fr) auto; gap: 18px; }
  .classroom-mission-trail > button { max-width: 140px; }
}

@media (max-width: 900px) {
  .kid-campus { margin-inline: var(--authenticated-shell-gutter); }
  .kid-campus-hero { min-height: 700px; padding: 43px 38px; grid-template-columns: 1fr; align-items: start; }
  .kid-campus-hero__copy { max-width: 74%; }
  .kid-campus-hero__copy p { max-width: 95%; }
  .kid-campus-hero__school { right: -2%; width: 58%; height: 76%; }
  .kid-campus-hero__bell { top: auto; right: 28px; bottom: 28px; }
  .kid-campus-day { grid-template-columns: 1fr; }
  .kid-campus-day ol { max-width: 520px; }
  .kid-campus-floor > summary { min-height: 196px; padding: 25px; grid-template-columns: 68px minmax(0,1fr) 216px 86px; gap: 16px; }
  .kid-campus-floor__number { width: 62px; height: 62px; border-radius: 19px 24px 18px 22px; font-size: 23px; }
  .kid-campus-floor__teachers { min-width: 200px; }
  .kid-campus-floor__teachers i { width: 67px; height: 67px; }
  .kid-campus-floor__action b { width: 54px; height: 54px; }
  .kid-campus-floor__rooms { grid-template-columns: 1fr; }
  .kid-classroom { min-height: 450px; }
  .kid-classroom__copy > strong { font-size: 66px; }
  .school-subject-lobby { min-height: 720px; padding: 42px 35px; grid-template-columns: 1fr; align-items: start; }
  .school-subject-lobby > div:first-child { max-width: 76%; }
  .school-subject-lobby > .teacher-cutout { width: 62%; height: 72%; }
  .classroom-adventure-hero { min-height: 1040px; padding: 27px 38px 62px; grid-template-columns: 1fr; grid-template-rows: auto auto 440px; row-gap: 0; }
  .classroom-adventure-hero::before { top: 58%; right: -11%; width: 94%; height: 56%; }
  .classroom-adventure-hero::after { top: 61%; right: 4%; width: 63%; }
  .classroom-adventure-hero__copy { max-width: 82%; padding: 50px 0 24px; }
  .classroom-adventure-hero__copy h1 { font-size: clamp(65px,9.5vw,92px); }
  .classroom-adventure-hero__scene { min-height: 440px; }
  .classroom-adventure-hero__door { right: 0; bottom: -62px; width: 61%; height: 108%; }
  .classroom-adventure-hero__buddy { right: 57%; bottom: 22px; }
  .classroom-adventure-hero__scene > ol { top: 58px; left: 5%; }
  .classroom-threshold { min-height: 220px; grid-template-columns: auto minmax(0,1fr) 174px; grid-template-rows: auto auto; }
  .classroom-threshold .class-back { grid-column: 1; grid-row: 1; }
  .classroom-threshold__identity { grid-column: 2; grid-row: 1; }
  .classroom-threshold__pulse { grid-column: 1 / 3; grid-row: 2; }
  .classroom-threshold__teacher { grid-column: 3; grid-row: 1 / 3; }
  .classroom-mission-trail { width: calc(100% - 34px); min-height: 228px; padding: 22px; grid-template-columns: minmax(0,1fr) auto; }
  .classroom-mission-trail ol { grid-column: 1 / -1; grid-row: 2; }
  .classroom-mission-trail > button { max-width: none; grid-column: 2; grid-row: 1; }
}

@media (max-width: 600px) {
  .kid-campus { margin-inline: 14px; padding-bottom: 125px; }
  .kid-campus-hero { min-height: 690px; padding: 31px 24px; border-radius: 34px 42px 33px 39px; }
  .kid-campus-hero__copy { max-width: 100%; }
  .kid-campus-hero h1 { margin-top: 16px; font-size: clamp(52px, 15vw, 73px); }
  .kid-campus-hero h1 i { font-size: .69em; }
  .kid-campus-hero.is-french h1 { max-width: 100%; font-size: clamp(39px, 10.4vw, 47px); line-height: .88; }
  .kid-campus-hero__copy p { max-width: 96%; font-size: 14px; }
  .kid-campus-hero__copy > button { min-height: 58px; margin-top: 22px; }
  .kid-campus-hero__school { right: -11%; width: 96%; height: 52%; }
  .kid-campus-hero__teacher--henry { left: 2%; }
  .kid-campus-hero__teacher--mia { left: 29%; }
  .kid-campus-hero__teacher--iris { right: -4%; }
  .kid-campus-hero__bell { display: none; }
  .kid-campus-day { margin-bottom: 70px; padding: 22px 19px; gap: 23px; }
  .kid-campus-day ol { gap: 2px; }
  .kid-campus-day li { flex-direction: column; align-items: flex-start; }
  .kid-campus-day li:not(:last-child)::after { top: 20px; left: 37px; width: calc(100% - 34px); }
  .kid-campus-directory { margin-bottom: 28px; }
  .kid-campus-directory h2 { font-size: clamp(42px, 13vw, 60px); }
  .kid-campus-directory p { font-size: 14px; }
  .kid-campus-floor { margin-bottom: 15px; border-radius: 31px 38px 29px 35px; }
  .kid-campus-floor > summary { min-height: 238px; padding: 20px; grid-template-columns: 54px minmax(0,1fr) 58px; grid-template-rows: auto 84px; gap: 14px 12px; }
  .kid-campus-floor[open] > summary { min-height: 228px; }
  .kid-campus-floor > summary::after { right: -80px; bottom: -120px; }
  .kid-campus-floor__number { width: 52px; height: 52px; border-width: 2px; border-radius: 16px 20px 15px 18px; font-size: 19px; }
  .kid-campus-floor__copy strong { font-size: clamp(34px, 10vw, 45px); }
  .kid-campus-floor__copy em { margin-top: 9px; font-size: 10px; line-height: 1.3; }
  .kid-campus-floor__teachers { min-width: 0; grid-column: 1 / 3; grid-row: 2; justify-content: flex-start; padding-left: 4px; }
  .kid-campus-floor__teachers i { width: 68px; height: 68px; margin-left: -10px; }
  .kid-campus-floor__action { grid-column: 3; grid-row: 1 / 3; }
  .kid-campus-floor__action small { display: none; }
  .kid-campus-floor__action b { width: 52px; height: 52px; border-width: 2px; font-size: 27px; }
  .kid-campus-floor__rooms { padding: 13px; gap: 13px; }
  .kid-classroom { min-height: 430px; padding: 27px 24px 82px; border-radius: 34px 42px 32px 39px; }
  .kid-classroom__plaque { top: 20px; right: 19px; min-width: 58px; min-height: 58px; }
  .kid-classroom__copy { width: 57%; }
  .kid-classroom__copy > strong { font-size: clamp(42px, 13vw, 58px); }
  .kid-classroom__copy > em { font-size: 9px; }
  .kid-classroom__copy > span { font-size: 12px; }
  .kid-classroom__copy > b { max-width: 180px; font-size: 19px; }
  .kid-classroom__door { right: -2%; width: 51%; height: 79%; }
  .kid-classroom__door > img { right: -20%; width: 138%; }
  .kid-classroom__enter { right: 13px; bottom: 13px; left: 13px; }
  .school-subject-lobby { min-height: 700px; padding: 32px 24px; border-radius: 34px 42px 32px 39px; }
  .school-subject-lobby > div:first-child { max-width: 100%; }
  .school-subject-lobby h1 { font-size: clamp(54px, 15vw, 72px); }
  .school-subject-lobby p { max-width: 94%; font-size: 15px; }
  .school-subject-lobby > .teacher-cutout { right: -6%; width: 86%; height: 50%; }
  .classroom-experience { padding-bottom: 8px; }
  .classroom-adventure-hero { min-height: 970px; padding: 18px 20px 52px; border-radius: 34px 42px 32px 39px; grid-template-rows: auto auto 390px; }
  .classroom-adventure-hero__top { flex-wrap: wrap; gap: 8px; }
  .classroom-adventure-hero .class-back { min-height: 46px; padding: 8px 12px; font-size: 9px; }
  .classroom-adventure-hero__room,
  .classroom-adventure-hero__open { min-height: 38px; padding: 6px 9px; font-size: 6px; }
  .classroom-adventure-hero__room b { min-width: 25px; height: 25px; }
  .classroom-adventure-hero__copy { max-width: 100%; padding: 35px 0 15px; }
  .classroom-adventure-hero__copy > span { font-size: 8px; }
  .classroom-adventure-hero__copy h1 { margin: 14px 0 19px; font-size: clamp(48px,13.5vw,64px); line-height: .84; }
  .classroom-adventure-hero__copy p { max-width: 94%; font-size: 13px; line-height: 1.35; }
  .classroom-adventure-hero__copy > button { min-height: 59px; margin-top: 21px; padding-left: 17px; gap: 12px; font-size: 10px; }
  .classroom-adventure-hero__copy > button b { width: 40px; height: 40px; }
  .classroom-adventure-hero__copy dl { margin-top: 29px; gap: 6px; }
  .classroom-adventure-hero__copy dl > div { padding: 11px 9px; border-radius: 14px 18px 13px 16px; }
  .classroom-adventure-hero__copy dt { font-size: 5px; }
  .classroom-adventure-hero__copy dd { font-size: 7px; }
  .classroom-adventure-hero::before { top: 66%; right: -28%; width: 126%; height: 47%; }
  .classroom-adventure-hero::after { top: 71%; right: -6%; width: 88%; border-width: 27px; }
  .classroom-adventure-hero__scene { min-height: 390px; }
  .classroom-adventure-hero__door { right: -7%; bottom: -52px; width: 73%; height: 105%; }
  .classroom-adventure-hero__door > span { top: 10%; left: 8%; width: 45px; height: 45px; font-size: 11px; }
  .classroom-adventure-hero__door > img { right: -24%; width: 149%; height: 90%; }
  .classroom-adventure-hero__buddy { right: 58%; bottom: 5px; width: 118px; }
.classroom-adventure-hero__buddy .goodie-companion { width: 103px; }
  .classroom-adventure-hero__buddy > span:not(.goodie-companion) { padding: 8px; font-size: 7px; }
  .classroom-adventure-hero__scene > ol { top: 37px; left: 0; gap: 7px; }
  .classroom-adventure-hero__scene > ol li { min-width: 124px; min-height: 42px; padding: 6px 10px 6px 6px; gap: 7px; font-size: 8px; transform: translateX(calc(var(--verb) * 8px)); }
  .classroom-adventure-hero__scene > ol b { width: 28px; height: 28px; font-size: 7px; }
  .classroom-threshold { min-height: 300px; padding: 15px; border-radius: 27px 34px 25px 31px; grid-template-columns: minmax(0,1fr) 112px; grid-template-rows: auto auto auto; gap: 13px; }
  .classroom-threshold .class-back { grid-column: 1; grid-row: 1; justify-self: start; }
  .classroom-threshold__identity { grid-column: 1; grid-row: 2; grid-template-columns: 52px minmax(0,1fr); gap: 11px; }
  .classroom-threshold__icon { width: 50px; height: 50px; border-radius: 16px 20px 15px 18px; }
  .classroom-threshold__icon .subject-glyph { width: 31px; height: 31px; }
  .classroom-threshold__identity strong { font-size: 30px; }
  .classroom-threshold__pulse { grid-column: 1 / -1; grid-row: 3; min-height: 77px; }
  .classroom-threshold__teacher { grid-column: 2; grid-row: 1 / 3; min-height: 174px; }
  .classroom-threshold__teacher > span { top: 9px; left: 9px; font-size: 6px; }
  .classroom-threshold__teacher img { right: -23%; bottom: -10%; width: 128%; height: 112%; }
  .classroom-mission-trail { width: calc(100% - 20px); min-height: 390px; margin-top: -28px; padding: 20px; grid-template-columns: 1fr; gap: 18px; }
  .classroom-mission-trail > div,
  .classroom-mission-trail ol,
  .classroom-mission-trail > button { grid-column: 1; grid-row: auto; }
  .classroom-mission-trail h2 { font-size: 34px; }
  .classroom-mission-trail ol { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 6px; }
  .classroom-mission-trail li:not(:last-child)::after { display: none; }
  .classroom-mission-trail > button { width: 100%; max-width: none; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .kid-classroom,
  .kid-campus-floor__rooms { animation: none; transition: none; }
  .kid-campus-floor > summary,
  .kid-campus-floor__action b { transition: none; }
  .classroom-threshold,
  .classroom-adventure-hero,
  .classroom-mission-trail { animation: none; }
  .classroom-threshold .class-back,
  .classroom-threshold__teacher img,
  .classroom-adventure-hero .class-back,
  .classroom-adventure-hero__door > img,
  .classroom-adventure-hero__copy > button,
  .classroom-mission-trail > button { transition: none; }
  .kid-classroom:hover,
  .kid-campus-hero__copy > button:hover { transform: none; }
}

/* Brand-aligned school directory and scalable classroom dashboard. */
.kid-campus-floor {
  border-color: rgba(35,31,42,.08);
  border-radius: 32px;
  box-shadow: 0 16px 42px rgba(35,31,42,.08);
}
.kid-campus-floor > summary {
  min-height: 188px;
  padding: 30px 34px;
  border-radius: 31px;
  background-color: var(--wing-surface);
  background-image: none;
  grid-template-columns: 68px minmax(280px,1fr) minmax(250px,.72fr) 110px;
  transition: filter .22s ease;
}
.kid-campus-floor > summary::after { display: none; }
.kid-campus-floor > summary:focus-visible { outline: 3px solid rgba(255,255,255,.9); outline-offset: -6px; }
.kid-campus-floor[open] > summary { min-height: 176px; border-radius: 31px 31px 0 0; }
.kid-campus-floor__number { width: 64px; height: 64px; border: 0; border-radius: 18px; background: rgba(255,255,255,.82); color: var(--ink); font-size: 23px; transform: none; }
.kid-campus-floor__copy strong { margin-top: 7px; font-size: clamp(42px,4vw,62px); line-height: .9; }
.kid-campus-floor__teachers i { border-width: 3px; box-shadow: 0 8px 20px rgba(35,31,42,.12); transform: none; }
.kid-campus-floor__action b { width: 58px; height: 48px; border: 0; border-radius: 14px; font-size: 0; transition: background .22s ease; }
.kid-campus-floor__action b::after { content: "+"; font: 700 26px/1 var(--font-display); }
.kid-campus-floor[open] .kid-campus-floor__action b { border-radius: 14px; transform: none; }
.kid-campus-floor[open] .kid-campus-floor__action b::after { content: "−"; }
.kid-campus-floor__rooms { padding: 20px; gap: 20px; }
.kid-classroom {
  min-height: 420px;
  padding: 32px 34px 82px;
  border: 0;
  border-radius: 30px;
  box-shadow: none;
  transition: transform .24s ease, box-shadow .24s ease;
}
.kid-classroom:hover { border-radius: 30px; box-shadow: 0 14px 34px color-mix(in srgb,var(--classroom-accent) 18%,transparent); transform: translateY(-4px); }
.kid-classroom__plaque { top: 24px; right: 24px; border: 0; border-radius: 15px; background: rgba(255,255,255,.8); }
.kid-classroom__copy > small { border-radius: 999px; }
.kid-classroom__copy > strong { line-height: .88; }
.kid-classroom__enter { right: 16px; bottom: 16px; left: 16px; border: 0; border-radius: 16px; }
.kid-classroom__enter > b { border-radius: 12px; }

.classroom-page-hero {
  position: relative;
  display: grid;
  min-height: 610px;
  padding: 30px clamp(38px,5vw,72px) 42px;
  border: 0;
  border-radius: 42px;
  background: var(--room-surface);
  grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr);
  grid-template-rows: auto 1fr auto;
  column-gap: clamp(30px,4vw,60px);
  overflow: hidden;
  box-shadow: none;
  isolation: isolate;
}
.classroom-page-hero::before { position: absolute; z-index: -2; top: 0; right: 0; width: 43%; height: 100%; background: var(--room-accent); content: ""; }
.classroom-page-hero::after { position: absolute; z-index: -1; right: 4%; bottom: -26%; width: 38%; aspect-ratio: 1; border: 56px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; }
.classroom-page-hero__top { position: relative; z-index: 5; display: flex; grid-column: 1 / -1; align-items: center; gap: 12px; }
.classroom-page-hero .class-back { display: inline-flex; min-height: 46px; margin: 0 auto 0 0; padding: 0 15px; border: 0; border-radius: 14px; background: rgba(255,255,255,.9); color: var(--ink); align-items: center; gap: 8px; font-size: 10px; font-weight: 900; cursor: pointer; }
.classroom-page-hero__top > span,
.classroom-page-hero__top > small { display: inline-flex; min-height: 38px; padding: 0 13px; border-radius: 999px; background: rgba(255,255,255,.78); align-items: center; gap: 8px; font-size: 8px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.classroom-page-hero__top > small i { width: 9px; height: 9px; border-radius: 50%; background: #0fbc53; box-shadow: 0 0 0 5px rgba(15,188,83,.14); }
.classroom-page-hero__copy { position: relative; z-index: 3; align-self: center; max-width: 740px; padding: 38px 0 32px; }
.classroom-page-hero__copy > span { color: color-mix(in srgb,var(--room-accent) 76%,var(--ink)); font-size: 10px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.classroom-page-hero__copy h1 { margin: 17px 0 23px; font: 850 clamp(62px,6vw,98px)/.84 var(--font-display); letter-spacing: -.07em; text-wrap: balance; }
.classroom-page-hero__copy h1 i { color: color-mix(in srgb,var(--room-accent) 82%,var(--ink)); font-style: normal; }
.classroom-page-hero__copy p { max-width: 630px; margin: 0; font-size: clamp(15px,1.35vw,19px); font-weight: 700; line-height: 1.45; }
.classroom-page-hero__copy > button { display: inline-flex; min-height: 60px; margin-top: 27px; padding: 0 22px; border: 0; border-radius: 16px; background: var(--room-accent); color: var(--room-on-accent,#fff); align-items: center; gap: 17px; font-size: 12px; font-weight: 950; cursor: pointer; transition: transform .22s ease, background .22s ease; }
.classroom-page-hero__copy > button:hover { background: color-mix(in srgb,var(--room-accent) 88%,black); transform: translateY(-2px); }
.classroom-page-hero__copy > button b { font-size: 18px; }
.classroom-page-hero__teacher { position: relative; z-index: 2; grid-column: 2; grid-row: 2 / 4; min-height: 475px; align-self: end; overflow: hidden; }
.classroom-page-hero__teacher::before { position: absolute; right: 2%; bottom: -22%; width: 92%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.23); content: ""; }
.classroom-page-hero__teacher > div { position: absolute; z-index: 5; top: 42px; left: 7%; display: flex; padding: 14px 16px; border-radius: 17px; background: rgba(255,255,255,.84); flex-direction: column; backdrop-filter: blur(10px); }
.classroom-page-hero__teacher > div span { font-size: 7px; font-weight: 950; letter-spacing: .11em; }
.classroom-page-hero__teacher > div strong { margin-top: 5px; font: 850 22px/1 var(--font-display); }
.classroom-page-hero__teacher > div small { margin-top: 5px; font-size: 8px; font-weight: 800; }
.classroom-page-hero__teacher > .subject-glyph { position: absolute; top: 12%; right: 2%; width: 68%; height: 58%; color: white; opacity: .16; }
.classroom-page-hero__teacher > img { position: absolute; z-index: 3; right: -11%; bottom: -4%; width: 120%; height: 94%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 18px 18px rgba(35,31,42,.18)); }
.classroom-page-hero > dl { position: relative; z-index: 4; display: grid; grid-column: 1; max-width: 720px; margin: 0; padding: 17px 18px; border-radius: 18px; background: rgba(255,255,255,.72); grid-template-columns: .55fr .8fr 1.5fr; gap: 0; }
.classroom-page-hero > dl div { min-width: 0; padding: 0 17px; border-left: 1px solid rgba(35,31,42,.1); }
.classroom-page-hero > dl div:first-child { padding-left: 0; border-left: 0; }
.classroom-page-hero > dl dt { color: var(--muted); font-size: 7px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.classroom-page-hero > dl dd { margin: 7px 0 0; font-size: 10px; font-weight: 900; line-height: 1.25; }

.classroom-overview-bar { display: grid; margin: 20px 0 0; padding: 22px 24px; border: 1px solid rgba(35,31,42,.08); border-radius: 24px; background: white; grid-template-columns: 1fr .78fr auto; gap: 28px; align-items: center; }
.classroom-overview-bar > div { display: flex; min-width: 0; flex-direction: column; }
.classroom-overview-bar > div > span { color: var(--room-accent); font-size: 7px; font-weight: 950; letter-spacing: .11em; }
.classroom-overview-bar > div > strong { margin-top: 6px; font: 800 19px/1.05 var(--font-display); }
.classroom-overview-bar > div > small { margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 750; }
.classroom-overview-bar > button { min-height: 52px; padding: 0 18px; border: 0; border-radius: 15px; background: var(--room-accent); color: var(--ink); font-size: 10px; font-weight: 950; cursor: pointer; }
.classroom-overview-bar > button b { margin-left: 8px; font-size: 16px; }

.classroom-course-library { margin-top: 80px; padding: 62px clamp(25px,4vw,54px); border-radius: 36px; background: #f7f5f9; scroll-margin-top: 30px; }
.classroom-course-library > header { display: grid; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; grid-template-columns: minmax(0,1fr) minmax(280px,.5fr); gap: 42px; align-items: end; box-shadow: none; }
.classroom-course-library > header > div > span { color: var(--room-accent); font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.classroom-course-library h2 { max-width: 850px; margin: 12px 0 16px; font: 850 clamp(48px,5vw,76px)/.9 var(--font-display); letter-spacing: -.06em; }
.classroom-course-library h2 i { color: color-mix(in srgb,var(--room-accent) 82%,var(--ink)); font-style: normal; }
.classroom-course-library header p { max-width: 680px; margin: 0; color: var(--muted); font-size: 14px; font-weight: 680; line-height: 1.45; }
.classroom-course-library label { display: flex; flex-direction: column; gap: 8px; }
.classroom-course-library label span { font-size: 8px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.classroom-course-library input { width: 100%; min-height: 58px; padding: 0 18px; border: 1px solid rgba(35,31,42,.12); border-radius: 16px; background: white; color: var(--ink); font: 750 13px/1 var(--font-body); outline: 0; }
.classroom-course-library input:focus { border-color: var(--room-accent); box-shadow: 0 0 0 4px color-mix(in srgb,var(--room-accent) 17%,transparent); }
.classroom-course-library > nav { display: grid; margin-top: 34px; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 10px; }
.classroom-unit-filter { display: grid; min-width: 0; min-height: 82px; padding: 11px 14px 11px 11px; border: 2px solid transparent; border-radius: 18px; background: var(--unit-filter-accent,var(--room-accent)); color: var(--unit-filter-contrast,var(--ink)); grid-template-columns: 50px minmax(0,1fr); gap: 12px; align-items: center; text-align: left; cursor: pointer; transition: box-shadow .2s ease, transform .2s ease; }
.classroom-unit-filter.kid-joy-surface { border-color: transparent !important; background: var(--unit-filter-accent,var(--room-accent)) !important; color: var(--unit-filter-contrast,var(--ink)) !important; box-shadow: none !important; }
.classroom-unit-filter:hover { box-shadow: 0 9px 20px color-mix(in srgb,var(--unit-filter-accent) 28%,transparent); transform: translateY(-3px); }
.classroom-unit-filter:focus-visible { outline: 4px solid var(--ink); outline-offset: 3px; }
.classroom-unit-filter__visual { display: grid; width: 50px; height: 58px; border-radius: 14px; background: rgba(255,255,255,.64); color: var(--ink); place-items: center; font: 950 16px/1 var(--font-display); letter-spacing: -.05em; }
.classroom-unit-filter > span:last-child { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.classroom-unit-filter strong { font: 850 11px/1.06 var(--font-display); letter-spacing: -.02em; overflow-wrap: anywhere; }
.classroom-unit-filter small { color: color-mix(in srgb,var(--unit-filter-contrast,var(--ink)) 72%,transparent); font-size: 8px; font-weight: 800; }
.classroom-unit-filter.is-active { border-color: var(--ink); box-shadow: inset 0 0 0 2px rgba(255,255,255,.45),0 10px 24px color-mix(in srgb,var(--unit-filter-accent) 30%,transparent); transform: translateY(-2px); }
.classroom-unit-filter.is-active.kid-joy-surface { border-color: var(--ink) !important; background: var(--unit-filter-accent,var(--room-accent)) !important; color: var(--unit-filter-contrast,var(--ink)) !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.45),0 10px 24px color-mix(in srgb,var(--unit-filter-accent) 30%,transparent) !important; }
.classroom-unit-filter.is-active .classroom-unit-filter__visual { background: white; }
.classroom-lesson-grid { display: grid; margin-top: 25px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.classroom-lesson-card { position: relative; display: flex; min-width: 0; min-height: 225px; padding: 22px; border: 1px solid color-mix(in srgb,var(--lesson-card-accent) 16%,rgba(35,31,42,.08)); border-radius: 24px; background: color-mix(in srgb,var(--room-surface) 72%,white); color: var(--ink); flex-direction: column; align-items: flex-start; text-align: left; cursor: pointer; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.classroom-lesson-card.kid-joy-surface { border-color: color-mix(in srgb,var(--lesson-card-accent) 16%,rgba(35,31,42,.08)) !important; background: color-mix(in srgb,var(--room-surface) 72%,white) !important; color: var(--ink) !important; }
.classroom-lesson-card:hover { border-color: color-mix(in srgb,var(--room-accent) 42%,transparent); box-shadow: 0 12px 30px color-mix(in srgb,var(--room-accent) 12%,transparent); transform: translateY(-3px); }
.classroom-lesson-card:focus-visible { outline: 4px solid var(--room-accent); outline-offset: 3px; }
.classroom-lesson-card__meta { display: flex; width: 100%; min-width: 0; align-items: center; gap: 10px; }
.classroom-lesson-card__meta > b { display: grid; width: 36px; height: 36px; flex: 0 0 auto; border-radius: 11px; background: color-mix(in srgb,var(--lesson-card-accent) 17%,white); place-items: center; font-size: 9px; }
.classroom-lesson-card__meta > small { min-width: 0; color: color-mix(in srgb,var(--lesson-card-accent) 78%,var(--ink)); font-size: 7px; font-weight: 950; letter-spacing: .07em; line-height: 1.25; text-transform: uppercase; }
.classroom-lesson-card > strong { margin-top: 24px; font: 800 clamp(21px,1.8vw,28px)/1.02 var(--font-display); letter-spacing: -.035em; }
.classroom-lesson-card > p { margin: 9px 0 20px; color: var(--muted); font-size: 9px; font-weight: 720; line-height: 1.35; }
.classroom-lesson-card__action { display: flex; width: 100%; margin-top: auto; color: color-mix(in srgb,var(--lesson-card-accent) 76%,var(--ink)); align-items: center; justify-content: space-between; font-size: 9px; font-weight: 950; }
.classroom-lesson-card__action b { display: grid; width: 29px; height: 29px; border-radius: 50%; background: color-mix(in srgb,var(--lesson-card-accent) 20%,white); place-items: center; font-size: 13px; }

.classroom-lesson-card--maths { min-height: 420px; padding: 12px 12px 20px; border-color: color-mix(in srgb,var(--lesson-card-accent) 24%,transparent); background: color-mix(in srgb,var(--lesson-card-accent) 13%,#fffefa); overflow: hidden; }
.classroom-lesson-card--maths.kid-joy-surface { border-color: color-mix(in srgb,var(--lesson-card-accent) 24%,transparent) !important; background: color-mix(in srgb,var(--lesson-card-accent) 13%,#fffefa) !important; color: var(--ink) !important; }
.classroom-lesson-card--maths:hover { border-color: var(--lesson-card-accent); box-shadow: 0 16px 34px color-mix(in srgb,var(--lesson-card-accent) 18%,transparent); }
.classroom-lesson-card--maths .classroom-lesson-card__meta,
.classroom-lesson-card--maths > strong,
.classroom-lesson-card--maths > p,
.classroom-lesson-card--maths .classroom-lesson-card__action { width: calc(100% - 20px); margin-inline: 10px; }
.classroom-lesson-card--maths .classroom-lesson-card__meta { margin-top: 16px; }
.classroom-lesson-card--maths .classroom-lesson-card__meta > b { background: var(--lesson-card-accent); color: var(--lesson-card-contrast); }
.classroom-lesson-card--maths > strong { margin-top: 18px; }

.maths-lesson-visual { position: relative; display: grid; width: 100%; min-height: 158px; border-radius: 20px; background: var(--lesson-card-accent); color: var(--lesson-card-contrast); overflow: hidden; isolation: isolate; place-items: center; }
.maths-lesson-visual::before { position: absolute; z-index: -1; top: -66%; right: calc(var(--visual-shift) - 26%); width: 82%; aspect-ratio: 1; border: 20px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; transform: rotate(var(--visual-turn)); }
.maths-lesson-visual::after { position: absolute; z-index: -1; bottom: -35%; left: calc(var(--visual-shift) - 32%); width: 48%; aspect-ratio: 1; border-radius: 38% 62% 48% 52%; background: rgba(255,255,255,.16); content: ""; transform: rotate(var(--visual-turn)); }
.maths-lesson-visual > b { position: relative; z-index: 3; max-width: 86%; font: 900 clamp(31px,3vw,54px)/.94 var(--font-display); letter-spacing: -.07em; text-align: center; white-space: nowrap; }
.maths-lesson-visual__svg { position: relative; z-index: 3; width: 86%; height: 120px; overflow: visible; color: inherit; }
.maths-lesson-visual__svg path { fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.maths-lesson-visual__svg text { fill: currentColor; font: 900 31px/1 var(--font-display); letter-spacing: -.06em; }
.maths-lesson-visual--long-division .maths-lesson-visual__svg text { font-size: 34px; }
.maths-lesson-visual--brain .maths-lesson-visual__svg text { font-size: 27px; }
.maths-lesson-visual--right-triangle .maths-lesson-visual__svg text { font-size: 24px; }
.maths-lesson-visual--angle .maths-lesson-visual__svg text { font-size: 38px; }
.maths-lesson-visual:is(.maths-lesson-visual--long-division,.maths-lesson-visual--brain,.maths-lesson-visual--right-triangle,.maths-lesson-visual--angle) > i { display: none; }
.maths-lesson-visual > i { position: absolute; display: block; opacity: .36; }
.maths-lesson-visual > i:nth-of-type(1) { top: 18px; left: 20px; width: 46px; height: 46px; border: 4px solid currentColor; border-radius: 50%; transform: rotate(var(--visual-turn)); }
.maths-lesson-visual > i:nth-of-type(2) { right: 20px; bottom: 18px; width: 66px; height: 4px; border-radius: 4px; background: currentColor; transform: rotate(var(--visual-turn)); }
.maths-lesson-visual > i:nth-of-type(3) { top: 19px; right: 21px; width: 18px; aspect-ratio: 1; border-radius: 4px; background: currentColor; transform: rotate(var(--visual-turn)); }
.maths-lesson-visual:is(.maths-lesson-visual--number-words,.maths-lesson-visual--place-value,.maths-lesson-visual--length-conversion,.maths-lesson-visual--duration-conversion,.maths-lesson-visual--elapsed-time,.maths-lesson-visual--quotient-decimal,.maths-lesson-visual--decimal-fraction) > b { font-size: clamp(24px,2.35vw,39px); letter-spacing: -.05em; }
.maths-lesson-visual:is(.maths-lesson-visual--parallel,.maths-lesson-visual--perpendicular,.maths-lesson-visual--quadrilateral,.maths-lesson-visual--fraction-whole) > b { font-size: clamp(65px,6vw,92px); }
.maths-lesson-visual:is(.maths-lesson-visual--long-division,.maths-lesson-visual--one-digit-division,.maths-lesson-visual--two-digit-division,.maths-lesson-visual--decimal-division,.maths-lesson-visual--quotient-decimal) > i:nth-of-type(1) { top: 24px; left: 30px; width: 72px; height: 58px; border: 0; border-top: 5px solid currentColor; border-left: 5px solid currentColor; border-radius: 10px 0 0; }
.maths-lesson-visual:is(.maths-lesson-visual--long-division,.maths-lesson-visual--one-digit-division,.maths-lesson-visual--two-digit-division,.maths-lesson-visual--decimal-division,.maths-lesson-visual--quotient-decimal) > i:nth-of-type(2) { right: 27px; bottom: 23px; width: 56px; height: 32px; border-right: 4px solid currentColor; border-bottom: 4px solid currentColor; background: transparent; }
.maths-lesson-visual--brain > i:nth-of-type(1) { top: 25px; left: 27px; width: 72px; height: 62px; border: 4px solid currentColor; border-radius: 52% 45% 48% 42%; box-shadow: 18px 0 0 -4px var(--lesson-card-accent),22px 0 0 0 currentColor; }
.maths-lesson-visual--brain > i:nth-of-type(1)::before { position: absolute; top: 8px; bottom: 8px; left: 50%; border-left: 3px dashed currentColor; content: ""; }
.maths-lesson-visual--brain > i:nth-of-type(2) { right: 24px; bottom: 20px; width: 58px; height: 28px; border: 3px solid currentColor; border-width: 0 3px 3px 0; background: transparent; transform: rotate(-8deg); }
.maths-lesson-visual--right-triangle > i:nth-of-type(1) { top: 18px; left: 22px; width: 92px; height: 78px; border: 0; border-radius: 0; background: currentColor; clip-path: polygon(0 100%,100% 100%,0 0,0 100%,9% 90%,9% 23%,78% 90%,0 90%); }
.maths-lesson-visual--right-triangle > i:nth-of-type(2) { right: 24px; bottom: 20px; width: 27px; height: 27px; border: 4px solid currentColor; background: transparent; transform: none; }
.maths-lesson-visual--angle > i:nth-of-type(1) { top: 22px; left: 25px; width: 76px; height: 52px; border: 0; border-bottom: 5px solid currentColor; border-left: 5px solid currentColor; border-radius: 0; transform: skewY(-32deg); }
.maths-lesson-visual--angle > i:nth-of-type(2) { right: 24px; bottom: 20px; width: 54px; height: 54px; border: 4px solid currentColor; border-color: currentColor transparent transparent currentColor; border-radius: 50%; background: transparent; transform: rotate(20deg); }
.maths-lesson-visual--dice > i:nth-of-type(1) { border-radius: 12px; background: radial-gradient(circle at 28% 28%,currentColor 0 4px,transparent 5px),radial-gradient(circle at 72% 72%,currentColor 0 4px,transparent 5px),radial-gradient(circle at 50% 50%,currentColor 0 4px,transparent 5px); }
.maths-lesson-visual--compass > i:nth-of-type(1) { top: 20px; left: 30px; width: 55px; height: 80px; border: 0; border-left: 5px solid currentColor; border-right: 5px solid currentColor; border-radius: 50% 50% 0 0; transform: rotate(12deg); }
.maths-lesson-visual:is(.maths-lesson-visual--clock,.maths-lesson-visual--quarter-clock,.maths-lesson-visual--elapsed-time) > i:nth-of-type(1) { width: 62px; height: 62px; }
.maths-lesson-visual:is(.maths-lesson-visual--clock,.maths-lesson-visual--quarter-clock,.maths-lesson-visual--elapsed-time) > i:nth-of-type(1)::before,
.maths-lesson-visual:is(.maths-lesson-visual--clock,.maths-lesson-visual--quarter-clock,.maths-lesson-visual--elapsed-time) > i:nth-of-type(1)::after { position: absolute; bottom: 50%; left: 50%; width: 3px; border-radius: 3px; background: currentColor; content: ""; transform-origin: center bottom; }
.maths-lesson-visual:is(.maths-lesson-visual--clock,.maths-lesson-visual--quarter-clock,.maths-lesson-visual--elapsed-time) > i:nth-of-type(1)::before { height: 18px; transform: rotate(20deg); }
.maths-lesson-visual:is(.maths-lesson-visual--clock,.maths-lesson-visual--quarter-clock,.maths-lesson-visual--elapsed-time) > i:nth-of-type(1)::after { height: 23px; transform: rotate(120deg); }
.maths-lesson-visual:is(.maths-lesson-visual--symmetry-axis,.maths-lesson-visual--axial-mirror) > i:nth-of-type(1) { top: 17px; left: 48%; width: 0; height: 82px; border: 0; border-left: 4px dashed currentColor; border-radius: 0; }
.maths-lesson-visual:is(.maths-lesson-visual--symmetry-axis,.maths-lesson-visual--axial-mirror) > i:nth-of-type(2),
.maths-lesson-visual:is(.maths-lesson-visual--symmetry-axis,.maths-lesson-visual--axial-mirror) > i:nth-of-type(3) { top: 26px; width: 42px; height: 52px; border: 4px solid currentColor; border-radius: 50% 12px 12px 50%; background: transparent; }
.maths-lesson-visual:is(.maths-lesson-visual--symmetry-axis,.maths-lesson-visual--axial-mirror) > i:nth-of-type(2) { right: 24px; transform: scaleX(-1); }
.maths-lesson-visual:is(.maths-lesson-visual--symmetry-axis,.maths-lesson-visual--axial-mirror) > i:nth-of-type(3) { right: auto; left: 22px; }
.maths-lesson-visual:is(.maths-lesson-visual--area,.maths-lesson-visual--area-conversion,.maths-lesson-visual--area-perimeter,.maths-lesson-visual--perimeter) > i:nth-of-type(1) { border-radius: 3px; background: linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px); background-size: 12px 12px; }
.maths-lesson-visual:is(.maths-lesson-visual--ruler-units,.maths-lesson-visual--length-conversion,.maths-lesson-visual--decimal-measure) > i:nth-of-type(2) { width: 88px; height: 25px; border: 3px solid currentColor; background: repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 12px); transform: rotate(-11deg); }
.classroom-course-library__empty { margin: 34px 0 0; color: var(--muted); text-align: center; font-weight: 800; }
.classroom-course-library__more { display: flex; min-height: 58px; margin: 24px auto 0; padding: 0 20px; border: 0; border-radius: 16px; background: var(--violet); color: white; align-items: center; gap: 16px; font-size: 10px; font-weight: 950; cursor: pointer; }
.classroom-course-library__more span { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.35); }

@media (max-width: 1000px) {
  .classroom-page-hero { min-height: 780px; grid-template-columns: minmax(0,1fr) minmax(330px,.75fr); }
  .classroom-page-hero__copy { align-self: start; padding-top: 65px; }
  .classroom-page-hero__copy h1 { font-size: clamp(58px,7vw,78px); }
  .classroom-page-hero__teacher { min-height: 590px; }
  .classroom-page-hero > dl { grid-column: 1 / -1; max-width: 65%; }
  .classroom-lesson-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .classroom-overview-bar { grid-template-columns: 1fr 1fr; }
  .classroom-overview-bar > button { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .kid-campus-floor > summary { min-height: 214px; padding: 22px; grid-template-columns: 54px minmax(0,1fr) 58px; grid-template-rows: auto 76px; gap: 14px 12px; }
  .kid-campus-floor[open] > summary { min-height: 204px; }
  .kid-campus-floor__number { width: 52px; height: 52px; border-radius: 15px; font-size: 19px; }
  .kid-campus-floor__teachers { grid-column: 1 / 3; grid-row: 2; justify-content: flex-start; }
  .kid-campus-floor__teachers i { width: 62px; height: 62px; }
  .kid-campus-floor__action { grid-column: 3; grid-row: 1 / 3; }
  .kid-campus-floor__action b { width: 50px; height: 44px; }
  .kid-classroom { min-height: 410px; padding: 27px 24px 78px; border-radius: 25px; }
  .kid-classroom:hover { border-radius: 25px; }
  .classroom-page-hero { min-height: 950px; padding: 20px 22px 28px; border-radius: 30px; grid-template-columns: 1fr; grid-template-rows: auto auto 360px auto; }
  .classroom-page-hero::before { top: auto; bottom: 0; width: 100%; height: 41%; }
  .classroom-page-hero::after { right: -12%; bottom: -10%; width: 90%; border-width: 38px; }
  .classroom-page-hero__top { flex-wrap: wrap; }
  .classroom-page-hero__top > span { order: 3; }
  .classroom-page-hero__copy { padding: 42px 0 24px; }
  .classroom-page-hero__copy h1 { font-size: clamp(48px,13.2vw,65px); }
  .classroom-page-hero__copy p { font-size: 13px; }
  .classroom-page-hero__teacher { grid-column: 1; grid-row: 3; min-height: 360px; }
  .classroom-page-hero__teacher > div { top: 27px; left: 2%; }
  .classroom-page-hero__teacher > img { right: -15%; width: 125%; height: 98%; }
  .classroom-page-hero > dl { grid-column: 1; grid-row: 4; max-width: 100%; padding: 14px 12px; }
  .classroom-page-hero > dl div { padding-inline: 10px; }
  .classroom-page-hero > dl dd { font-size: 8px; }
  .classroom-overview-bar { padding: 20px; border-radius: 20px; grid-template-columns: 1fr; gap: 20px; }
  .classroom-overview-bar > button { grid-column: 1; }
  .classroom-course-library { margin-top: 52px; padding: 38px 16px; border-radius: 28px; }
  .classroom-course-library > header { grid-template-columns: 1fr; gap: 26px; }
  .classroom-course-library h2 { font-size: clamp(43px,12vw,58px); }
  .classroom-course-library > nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .classroom-unit-filter { min-height: 76px; padding: 9px; grid-template-columns: 43px minmax(0,1fr); gap: 9px; }
  .classroom-unit-filter__visual { width: 43px; height: 52px; border-radius: 12px; font-size: 14px; }
  .classroom-unit-filter strong { font-size: 9px; }
  .classroom-lesson-grid { grid-template-columns: 1fr; }
  .classroom-lesson-card { min-height: 205px; border-radius: 20px; }
  .classroom-lesson-card--maths { min-height: 404px; }
  .maths-lesson-visual { min-height: 166px; }
}

@media (prefers-reduced-motion: reduce) {
  .classroom-page-hero__copy > button,
  .classroom-lesson-card,
  .kid-classroom { transition: none; }
}

/* PLAYGROUND HUB 2026 · compact choice, cinematic play, visible discovery. */
.kid-play-header-greeting > span { color: #d64d91; }
.kid-play-header-greeting > span i { background: #fd7666; box-shadow: 0 0 0 5px rgba(253,118,102,.18); }
.kid-play-header-greeting h1 em { color: #fd7666; }

.play-hub-main { padding-top: 0 !important; }
.play-hub {
  --play-coral: #fd7666;
  --play-pink: #fdc8e9;
  --play-lime: #b0ee0b;
  --play-yellow: #f6cc24;
  --play-violet: #6846d6;
  --play-deep: #3b286f;
  --play-aqua: #76dfd0;
  padding-bottom: clamp(70px,8vw,118px);
}
.play-hub button { font-family: var(--font-display); }
.play-hub button:focus-visible { outline: 4px solid var(--ink); outline-offset: 4px; }

.play-hub-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(570px,56vw,690px);
  padding: clamp(40px,5.2vw,76px);
  border-radius: 48px 72px 54px 68px / 62px 48px 76px 50px;
  grid-template-columns: minmax(0,1.04fr) minmax(390px,.96fr);
  gap: clamp(22px,3.4vw,52px);
  overflow: hidden;
  background: linear-gradient(135deg,var(--play-deep) 0%,var(--play-violet) 67%,#845be2 100%);
  color: #fff;
  box-shadow: 0 22px 0 rgba(66,43,124,.12);
}
.play-hub-hero::before {
  position: absolute;
  z-index: -1;
  top: -29%;
  left: -10%;
  width: 420px;
  aspect-ratio: 1;
  border: 66px solid rgba(255,255,255,.07);
  border-radius: 50%;
  content: '';
}
.play-hub-hero::after {
  position: absolute;
  z-index: -1;
  right: -8%;
  bottom: -25%;
  width: 45%;
  aspect-ratio: 1;
  border-radius: 43% 57% 38% 62% / 57% 40% 60% 43%;
  background: var(--play-coral);
  content: '';
  rotate: -11deg;
}
.play-hub-hero__copy { position: relative; z-index: 8; align-self: center; transform: translateY(-18px); }
.play-hub-hero__copy > span {
  display: inline-flex;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.1);
  color: var(--play-yellow);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}
.play-hub-hero__copy > span i { width: 9px; height: 9px; border-radius: 50%; background: var(--play-lime); box-shadow: 0 0 0 5px rgba(176,238,11,.16); }
.play-hub-hero h1 {
  max-width: 700px;
  margin: 18px 0 14px;
  font: 900 clamp(66px,6.3vw,102px)/.78 var(--font-display);
  letter-spacing: -.085em;
}
.play-hub-hero h1 em { color: var(--play-lime); font-style: normal; }
.play-hub-hero.is-french h1 { font-size: clamp(58px,5.2vw,84px); }
.play-hub-hero__copy > p { max-width: 610px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(15px,1.35vw,19px); font-weight: 650; line-height: 1.5; }
.play-hub-hero__actions { display: flex; margin-top: 18px; align-items: center; gap: 13px; flex-wrap: wrap; }
.play-hub-hero__actions button {
  display: inline-flex;
  min-height: 58px;
  padding: 8px 10px 8px 19px;
  border: 0;
  border-radius: 18px 24px 17px 22px;
  align-items: center;
  gap: 17px;
  background: var(--play-lime);
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 8px 0 rgba(28,18,57,.24);
  transition: transform .22s var(--ease-spring), box-shadow .22s ease;
}
.play-hub-hero__actions button + button { padding-inline: 18px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.12); color: #fff; box-shadow: none; }
.play-hub-hero__actions button:hover { box-shadow: 0 4px 0 rgba(28,18,57,.24); transform: translateY(4px); }
.play-hub-hero__actions button + button:hover { background: rgba(255,255,255,.2); box-shadow: none; transform: translateY(-2px); }
.play-hub-hero__actions button b { display: grid; width: 38px; height: 38px; border-radius: 12px 16px 11px 14px; background: var(--ink); color: #fff; font-size: 18px; place-items: center; }
.play-hub-hero__actions button + button b { width: auto; height: auto; background: transparent; }
.play-hub-hero dl { display: grid; max-width: 560px; margin: 32px 0 0; padding: 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
.play-hub-hero dl div { min-width: 0; padding: 0 18px; border-left: 1px solid rgba(255,255,255,.18); }
.play-hub-hero dl div:first-child { padding-left: 0; border-left: 0; }
.play-hub-hero dt { color: rgba(255,255,255,.58); font-size: 7px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.play-hub-hero dd { margin: 6px 0 0; color: #fff; font: 900 15px/1 var(--font-display); }

.play-hub-hero__stage { position: relative; z-index: 2; min-height: 490px; align-self: stretch; }
.play-hub-hero__portal {
  position: absolute;
  z-index: 0;
  inset: 3% -3% -12% 5%;
  border: 9px solid rgba(255,255,255,.78);
  border-bottom: 0;
  border-radius: 220px 220px 0 0;
  overflow: hidden;
  background: linear-gradient(155deg,var(--play-pink) 0 52%,var(--play-yellow) 52% 100%);
  box-shadow: 0 23px 50px rgba(32,20,66,.24);
}
.play-hub-hero__portal::after { position: absolute; right: -20%; bottom: -20%; width: 80%; aspect-ratio: 1; border-radius: 50%; background: var(--play-lime); content: ''; }
.play-hub-hero__explorer { position: absolute; z-index: 4; right: -8%; bottom: -8%; width: min(126%,650px); filter: drop-shadow(0 18px 15px rgba(35,25,62,.2)); animation: play-hub-float 5s ease-in-out infinite; }
.play-hub-hero__rabbit { position: absolute; z-index: 5; right: 4%; bottom: -1%; width: min(31%,160px); filter: drop-shadow(0 10px 8px rgba(35,25,62,.18)); animation: play-hub-bob 2.8s ease-in-out infinite; }
.play-hub-hero__buddy { position: absolute; z-index: 7; top: 2%; right: -1%; width: 116px; aspect-ratio: 1; animation: play-hub-bob 3.1s .3s ease-in-out infinite reverse; }
.play-hub-hero__buddy svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 8px 0 rgba(38,38,43,.14)); }
.play-hub-hero__stage > strong { position: absolute; z-index: 8; top: 15%; left: -8%; max-width: 150px; padding: 14px 17px; border-radius: 54% 46% 62% 38% / 45% 58% 42% 55%; background: var(--play-yellow); color: var(--ink); box-shadow: 0 8px 0 rgba(36,25,70,.18); font: 950 11px/1.15 var(--font-display); letter-spacing: .06em; text-align: center; rotate: -8deg; }
.play-hub-hero__orbit { position: absolute; z-index: 6; display: grid; min-width: 70px; min-height: 42px; padding: 7px 12px; border: 3px solid var(--ink); border-radius: 50%; background: #fffefa; color: var(--ink); font: 950 9px/1 var(--font-display); place-items: center; }
.play-hub-hero__orbit--words { top: 5%; left: 15%; rotate: -8deg; }
.play-hub-hero__orbit--wild { top: 37%; right: -4%; background: var(--play-lime); rotate: 9deg; }
.play-hub-hero__orbit--beats { right: 9%; bottom: 5%; background: var(--play-pink); rotate: -6deg; }

.play-hub-spotlight { margin-top: clamp(74px,8vw,112px); }
.play-hub-spotlight > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.55fr); gap: 50px; align-items: end; }
.play-hub-spotlight > header > div > span,
.play-hub-library > header span,
.play-hub-discovery > div > span { color: var(--play-violet); font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.play-hub-spotlight > header h2,
.play-hub-library > header h2 { margin: 15px 0 0; font: 900 clamp(50px,5vw,76px)/.82 var(--font-display); letter-spacing: -.07em; }
.play-hub-spotlight > header h2 em,
.play-hub-library > header h2 em { color: var(--play-coral); font-style: normal; }
.play-hub-spotlight > header p,
.play-hub-library > header > p { margin: 0; color: var(--muted); font-size: 14px; font-weight: 650; line-height: 1.55; }
.play-hub-spotlight__grid { display: grid; margin-top: 34px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.play-feature { position: relative; isolation: isolate; display: grid; min-height: 500px; padding: clamp(28px,3.2vw,48px); border-radius: 36px 50px 39px 47px / 46px 37px 53px 40px; grid-template-columns: minmax(220px,.8fr) minmax(250px,1.2fr); gap: 20px; overflow: hidden; }
.play-feature--word { background: var(--play-pink); }
.play-feature--wild { background: var(--play-yellow); }
.play-feature::after { position: absolute; z-index: -1; right: -14%; bottom: -24%; width: 55%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.38); content: ''; }
.play-feature__copy { position: relative; z-index: 5; align-self: center; }
.play-feature__copy > span,
.play-quest-card > span { color: color-mix(in srgb,var(--play-violet) 78%,var(--ink)); font-size: 8px; font-weight: 950; letter-spacing: .1em; }
.play-feature h3 { margin: 15px 0 13px; font: 900 clamp(40px,3.8vw,62px)/.82 var(--font-display); letter-spacing: -.06em; }
.play-feature__copy p { margin: 0; font-size: 13px; font-weight: 650; line-height: 1.45; }
.play-feature__copy > small,
.play-quest-card > small { display: block; margin-top: 18px; font-size: 8px; font-weight: 850; letter-spacing: .04em; }
.play-feature button,
.play-quest-card button { display: flex; min-height: 52px; margin-top: 22px; padding: 7px 8px 7px 16px; border: 0; border-radius: 16px 21px 15px 19px; background: var(--ink); color: #fff; align-items: center; justify-content: space-between; gap: 18px; font-size: 11px; font-weight: 900; cursor: pointer; transition: transform .22s var(--ease-spring); }
.play-feature button:hover,
.play-quest-card button:hover { transform: translateY(-3px) rotate(-1deg); }
.play-feature button b,
.play-quest-card button b { display: grid; width: 36px; height: 36px; border-radius: 12px 15px 11px 14px; background: #fff; color: var(--ink); font-size: 17px; place-items: center; }
.play-feature__word-machine { position: relative; align-self: center; padding: 42px 15px 20px; border: 6px solid var(--ink); border-radius: 28px 39px 31px 44px / 40px 29px 46px 33px; background: #fffefa; box-shadow: 0 12px 0 rgba(66,43,124,.16); rotate: 2deg; }
.play-feature__word-machine > span { position: absolute; top: -27px; left: 50%; display: grid; min-width: 120px; min-height: 43px; padding: 6px 13px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 8px; font-weight: 900; place-items: center; translate: -50% 0; }
.play-feature__word-machine > div { display: grid; min-height: 305px; border-radius: 20px 28px 22px 31px; grid-template-rows: 1fr 1.35fr 1fr; align-items: center; overflow: hidden; background: #fff; text-align: center; }
.play-feature__word-machine > div::before { position: absolute; z-index: 0; right: 21px; left: 21px; height: 34%; background: var(--play-lime); content: ''; }
.play-feature__word-machine small,
.play-feature__word-machine strong { position: relative; z-index: 1; max-width: 100%; padding: 0 8px; overflow: hidden; font-family: var(--font-display); font-weight: 900; letter-spacing: -.06em; line-height: .9; text-overflow: ellipsis; white-space: nowrap; }
.play-feature__word-machine small { color: var(--play-violet); font-size: clamp(20px,2vw,34px); opacity: .64; }
.play-feature__word-machine strong { font-size: clamp(32px,3vw,52px); }
.play-feature__word-machine > i { position: absolute; z-index: 3; right: -20px; bottom: -25px; width: 82px; aspect-ratio: 1; font-style: normal; }
.play-feature__word-machine > i svg { width: 100%; height: 100%; overflow: visible; }
.play-feature__wild-scene { position: relative; min-height: 360px; align-self: end; }
.play-feature__wild-scene > span { position: absolute; inset: 1% -3% 0 0; border: 7px solid var(--play-deep); border-radius: 48% 52% 43% 57% / 56% 43% 57% 44%; background: url('/assets/wildworld/feature-film/environments/forest-v2.png') 50% 50% / cover no-repeat; box-shadow: 0 12px 0 rgba(66,43,124,.16); rotate: 3deg; }
.play-feature__wild-scene img { position: absolute; z-index: 2; object-fit: contain; filter: drop-shadow(0 10px 8px rgba(38,38,43,.2)); }
.play-feature__wild-scene img:nth-of-type(1) { top: 1%; right: 2%; width: 30%; }
.play-feature__wild-scene img:nth-of-type(2) { bottom: 0; left: -4%; width: 38%; }
.play-feature__wild-scene img:nth-of-type(3) { right: -8%; bottom: -2%; width: 76%; }

.play-hub-library { margin-top: clamp(84px,9vw,130px); }
.play-hub-library > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.55fr); gap: 50px; align-items: end; }
.play-quest-grid { display: grid; margin-top: 36px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.play-quest-card { position: relative; display: grid; min-height: 430px; padding: clamp(25px,3vw,42px); border-radius: 32px 45px 35px 42px / 42px 34px 48px 37px; grid-template-columns: minmax(0,1fr) minmax(210px,.85fr); grid-template-rows: auto auto 1fr auto auto; column-gap: 25px; overflow: hidden; }
.play-quest-card--travel { background: #ffe7e2; }
.play-quest-card--music { background: #fff3bf; }
.play-quest-card--surf { background: #e0f8fb; }
.play-quest-card--tennis { background: #edf9d0; }
.play-quest-card--reading { min-height: 390px; grid-column: 1 / -1; grid-template-columns: minmax(0,.9fr) minmax(330px,1.1fr); background: #f2ebff; }
.play-quest-card > span,
.play-quest-card > h3,
.play-quest-card > p,
.play-quest-card > small,
.play-quest-card > button { position: relative; z-index: 4; grid-column: 1; }
.play-quest-card h3 { margin: 14px 0 12px; font: 900 clamp(38px,3.8vw,58px)/.83 var(--font-display); letter-spacing: -.06em; }
.play-quest-card p { margin: 0; font-size: 12px; font-weight: 650; line-height: 1.5; }
.play-quest-card button { width: 100%; max-width: 260px; }
.play-quest-card__art { position: relative; isolation: isolate; display: grid; min-height: 320px; grid-column: 2; grid-row: 1 / -1; align-self: stretch; border-radius: 42% 58% 48% 52% / 57% 43% 57% 43%; background: var(--play-coral); overflow: hidden; place-items: center; }
.play-quest-card--music .play-quest-card__art { background: var(--play-violet); color: #fff; }
.play-quest-card--surf .play-quest-card__art { background: #2bb7c9; }
.play-quest-card--tennis .play-quest-card__art { background: var(--play-lime); }
.play-quest-card--reading .play-quest-card__art { background: var(--play-violet); }
.play-quest-card__art > span,
.play-quest-card__art > i,
.play-quest-card__art > strong,
.play-quest-card__art > b { position: absolute; z-index: 1; display: grid; min-width: 62px; min-height: 62px; border: 3px solid var(--ink); border-radius: 50%; background: #fff; color: var(--ink); font: 950 20px/1 var(--font-display); font-style: normal; place-items: center; }
.play-quest-card__art > span { top: 9%; left: 8%; rotate: -8deg; }
.play-quest-card__art > i { right: 10%; bottom: 10%; background: var(--play-yellow); rotate: 9deg; }
.play-quest-card__art > strong { top: 40%; right: 7%; background: var(--play-pink); rotate: 7deg; }
.play-quest-card__art > b { bottom: 5%; left: 17%; min-width: 44px; min-height: 44px; background: var(--play-lime); }
.play-quest-card--music .play-quest-card__art > span { min-width: 90px; min-height: 90px; font-size: 42px; }
.play-quest-card--music .play-quest-card__art > i { top: 42%; right: 8%; bottom: auto; min-width: 44px; min-height: 44px; background: var(--play-coral); }
.play-quest-card--music .play-quest-card__art > strong { top: auto; right: auto; bottom: 8%; left: 10%; background: var(--play-yellow); }
.play-quest-card--music .play-quest-card__art > b { right: 10%; bottom: 14%; left: auto; background: var(--play-pink); }
.play-quest-card__art > .teacher-cutout { position: absolute; z-index: 2; right: -25%; bottom: -5%; width: 150%; height: 105%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 12px 10px rgba(38,38,43,.18)); }
.play-quest-card--surf .play-quest-card__art > span,
.play-quest-card--tennis .play-quest-card__art > span { z-index: 3; background: #fff; }
.play-quest-card--surf .play-quest-card__art > i,
.play-quest-card--tennis .play-quest-card__art > i { z-index: 3; top: 9%; right: 8%; bottom: auto; }
.play-quest-card--reading .play-quest-card__art > span { z-index: 5; top: 8%; left: 7%; background: var(--play-yellow); rotate: -9deg; }
.play-quest-card--reading .play-quest-card__art > i { z-index: 5; top: 8%; right: 7%; bottom: auto; background: var(--play-lime); rotate: 8deg; }
.play-reading-book { position: relative; z-index: 2; display: grid; width: min(62%,270px); aspect-ratio: 1.25; border: 5px solid var(--ink); border-radius: 16px 29px 20px 26px; background: linear-gradient(90deg,var(--play-pink) 0 49%,#fffefa 49% 52%,var(--play-coral) 52%); box-shadow: 0 13px 0 rgba(66,43,124,.2); color: var(--ink); place-items: center; rotate: -4deg; transform: perspective(700px) rotateX(4deg); }
.play-reading-book::before,
.play-reading-book::after { position: absolute; bottom: 13%; width: 26%; height: 5px; border-radius: 999px; background: rgba(66,43,124,.32); box-shadow: 0 13px 0 rgba(66,43,124,.22),0 26px 0 rgba(66,43,124,.14); content: ''; }
.play-reading-book::before { left: 12%; }
.play-reading-book::after { right: 12%; }
.play-reading-book > span { max-width: 90px; color: var(--ink); font: 950 clamp(18px,2.2vw,32px)/.84 var(--font-display); letter-spacing: -.05em; text-align: center; }
.play-reading-book > i,
.play-reading-book > b { position: absolute; top: 17%; width: 18px; height: 18px; border: 3px solid var(--ink); border-radius: 50%; background: var(--play-lime); }
.play-reading-book > i { left: 18%; }
.play-reading-book > b { right: 18%; background: var(--play-yellow); }
.play-reading-buddy { position: absolute; z-index: 4; right: 4%; bottom: 1%; width: 96px; aspect-ratio: 1; }
.play-reading-buddy svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 8px 0 rgba(66,43,124,.18)); }

.play-hub-discovery { position: relative; display: grid; min-height: 255px; margin-top: clamp(78px,8vw,112px); padding: 34px clamp(34px,4.2vw,62px); border-radius: 34px 48px 37px 44px / 45px 35px 51px 39px; grid-template-columns: 115px minmax(250px,.75fr) minmax(430px,1.25fr); gap: 30px; align-items: center; overflow: hidden; background: var(--play-violet); color: #fff; }
.play-hub-discovery::after { position: absolute; right: -4%; bottom: -45%; width: 250px; aspect-ratio: 1; border-radius: 50%; background: var(--play-coral); content: ''; }
.play-hub-discovery__buddy { position: relative; z-index: 2; width: 115px; aspect-ratio: 1; }
.play-hub-discovery__buddy svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 8px 0 rgba(38,38,43,.18)); }
.play-hub-discovery > div { position: relative; z-index: 2; }
.play-hub-discovery > div > span { color: var(--play-lime); }
.play-hub-discovery h2 { margin: 13px 0 10px; font: 900 clamp(32px,3.2vw,48px)/.86 var(--font-display); letter-spacing: -.055em; }
.play-hub-discovery p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 650; line-height: 1.5; }
.play-hub-discovery ul { position: relative; z-index: 2; display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; list-style: none; }
.play-hub-discovery li { display: flex; min-height: 58px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px 21px 15px 19px; align-items: center; gap: 10px; background: rgba(255,255,255,.1); font-size: 10px; font-weight: 800; line-height: 1.25; }
.play-hub-discovery li::before { display: grid; width: 24px; height: 24px; flex: 0 0 auto; border-radius: 9px 12px 8px 11px; background: var(--play-lime); color: var(--ink); content: '✓'; font-size: 10px; place-items: center; }

@keyframes play-hub-float { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-9px) rotate(1deg); } }
@keyframes play-hub-bob { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-8px) rotate(2deg); } }

@media (max-width: 1100px) {
  .play-hub-hero { grid-template-columns: minmax(0,1fr) minmax(330px,.78fr); }
  .play-hub-hero h1 { font-size: clamp(62px,7.8vw,90px); }
  .play-hub-spotlight__grid { grid-template-columns: 1fr; }
  .play-feature { min-height: 470px; }
  .play-quest-card { grid-template-columns: minmax(0,1fr) minmax(180px,.72fr); }
  .play-quest-card--reading { grid-template-columns: minmax(0,1fr) minmax(250px,.85fr); }
  .play-hub-discovery { grid-template-columns: 95px minmax(220px,.7fr) minmax(340px,1.3fr); }
  .play-hub-discovery__buddy { width: 95px; }
}

@media (max-width: 820px) {
  .play-hub-hero { min-height: 980px; padding: 45px 30px 22px; grid-template-columns: 1fr; align-content: start; }
  .play-hub-hero__stage { min-height: 430px; }
  .play-hub-hero__portal { inset: 2% 3% -18%; }
  .play-hub-hero__explorer { right: 50%; width: min(620px,100vw); translate: 50% 0; }
  .play-hub-hero__buddy { right: 6%; }
  .play-hub-spotlight > header,
  .play-hub-library > header { grid-template-columns: 1fr; gap: 22px; }
  .play-feature { min-height: 500px; }
  .play-quest-grid { grid-template-columns: 1fr; }
  .play-quest-card { min-height: 400px; }
  .play-hub-discovery { grid-template-columns: 90px minmax(0,1fr); }
  .play-hub-discovery ul { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .play-hub-hero { min-height: 900px; padding: 36px 22px 18px; border-radius: 34px 48px 38px 44px / 45px 35px 51px 39px; }
  .play-hub-hero__copy > span { padding-inline: 10px; font-size: 7px; letter-spacing: .08em; }
  .play-hub-hero__copy { transform: none; }
  .play-hub-hero h1 { margin-top: 20px; font-size: clamp(55px,15.5vw,74px); }
  .play-hub-hero__copy > p { font-size: 13px; }
  .play-hub-hero__actions { align-items: stretch; flex-direction: column; }
  .play-hub-hero__actions button { width: 100%; justify-content: space-between; }
  .play-hub-hero dl { margin-top: 26px; }
  .play-hub-hero dl div { padding-inline: 9px; }
  .play-hub-hero dd { font-size: 12px; }
  .play-hub-hero__stage { min-height: 350px; }
  .play-hub-hero__explorer { width: 520px; }
  .play-hub-hero__rabbit { width: 110px; }
  .play-hub-hero__buddy { width: 82px; }
  .play-hub-hero__stage > strong { top: 9%; left: -2%; max-width: 110px; padding: 10px; font-size: 8px; }
  .play-hub-hero__orbit { min-width: 54px; min-height: 34px; font-size: 7px; }
  .play-hub-spotlight { margin-top: 64px; }
  .play-hub-spotlight > header h2,
  .play-hub-library > header h2 { font-size: clamp(44px,12.5vw,58px); }
  .play-feature { min-height: 760px; padding: 30px 22px; grid-template-columns: 1fr; align-content: start; }
  .play-feature__word-machine,
  .play-feature__wild-scene { width: 100%; min-height: 330px; margin-top: 38px; }
  .play-feature__word-machine > div { min-height: 270px; }
  .play-feature__wild-scene { align-self: auto; }
  .play-hub-library { margin-top: 76px; }
  .play-quest-card { min-height: 680px; padding: 28px 22px; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto 320px auto; }
  .play-quest-card > span,
  .play-quest-card > h3,
  .play-quest-card > p,
  .play-quest-card > small,
  .play-quest-card > button { grid-column: 1; }
  .play-quest-card__art { min-height: 300px; margin-top: 25px; grid-column: 1; grid-row: 5; }
  .play-quest-card button { max-width: none; grid-row: 6; }
  .play-hub-discovery { padding: 28px 22px; grid-template-columns: 70px minmax(0,1fr); }
  .play-hub-discovery__buddy { width: 70px; }
  .play-hub-discovery ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .play-hub-hero__explorer,
  .play-hub-hero__rabbit,
  .play-hub-hero__buddy { animation: none; }
  .play-hub button { transition: none; }
}

/* DECLUTTERED LEARNER INTRODUCTIONS · title, action, visual. */
.kid-home-header-greeting > span { gap: 0; }
.kid-home-focus h2,
.kid-home-finish h2,
.kid-home-route > header h2,
.kid-home-worlds > header h2,
.kid-week-hero h1,
.kid-campus-hero h1,
.kid-campus-directory h2,
.classroom-page-hero__copy h1,
.play-hub-hero h1,
.play-hub-spotlight > header h2,
.play-hub-library > header h2 { margin-top: 0; }

.kid-home-focus__actions,
.play-hub-hero__actions { margin-top: 22px; }
.classroom-page-hero__copy > button { margin-top: 10px; }
.kid-campus-directory { margin-top: 0; }

.kid-week-hero__cta {
  display: inline-flex;
  min-height: 60px;
  margin-top: 24px;
  padding: 8px 10px 8px 22px;
  border: 0;
  border-radius: 18px 24px 17px 22px;
  align-items: center;
  gap: 22px;
  background: var(--ink);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}
.kid-week-hero__cta b { display: grid; width: 40px; height: 40px; border-radius: 12px 16px 11px 14px; background: #fff; color: var(--ink); font-size: 18px; place-items: center; }

.play-hub-spotlight > header,
.play-hub-library > header { grid-template-columns: 1fr; }
.play-feature h3,
.play-quest-card h3 { margin-top: 0; }
.play-feature__copy,
.play-quest-card { align-content: center; }
.play-quest-card { grid-template-rows: 1fr auto; }
.play-quest-card > h3 { grid-row: 1; align-self: end; }
.play-quest-card > button { grid-row: 2; align-self: start; }
.play-quest-card__art { grid-row: 1 / -1; }

@media (max-width: 620px) {
  .play-quest-card { grid-template-rows: auto 320px auto; }
  .play-quest-card > h3 { grid-row: 1; align-self: end; }
  .play-quest-card__art { grid-row: 2; }
  .play-quest-card > button { grid-row: 3; }
}

/* KID PROGRESS 2026 · confidence, agency and visible "I can" evidence. */
.kid-progress-header-greeting > span,
.kid-progress-header-greeting h1 em { color: #249f91; }

.kid-progress-page {
  --kid-progress-teal: #76dfd0;
  --kid-progress-deep: #249f91;
  width: auto;
  max-width: none;
  margin: 0 var(--authenticated-shell-gutter);
  padding: 8px 0 180px;
  color: var(--ink);
}
.kid-progress-page button { font-family: inherit; }
.kid-progress-page button:focus-visible { outline: 4px solid var(--ink); outline-offset: 4px; }

.kid-progress-hero {
  position: relative;
  display: grid;
  min-height: clamp(520px,48vw,640px);
  border-radius: 48px;
  grid-template-columns: minmax(0,1.08fr) minmax(410px,.92fr);
  overflow: hidden;
  background: linear-gradient(132deg,#80e5d6 0%,#63d5c5 66%,#58cdbd 100%);
  box-shadow: 0 24px 64px rgba(32,119,108,.17);
  isolation: isolate;
}
.kid-progress-hero::before { position: absolute; z-index: -1; top: -44%; left: -13%; width: 48%; aspect-ratio: 1; border: 38px solid rgba(255,255,255,.16); border-radius: 50%; content: ''; }
.kid-progress-hero::after { position: absolute; z-index: -1; bottom: -52%; left: 30%; width: 54%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.12); content: ''; }
.kid-progress-hero__copy { position: relative; z-index: 3; display: flex; padding: clamp(42px,5vw,76px); flex-direction: column; align-items: flex-start; justify-content: center; }
.kid-progress-hero h1 { max-width: 850px; margin: 0; font: 900 clamp(66px,6.4vw,102px)/.78 var(--font-display); letter-spacing: -.075em; }
.kid-progress-hero h1 i { color: var(--violet); font-size: .82em; }
.kid-progress-hero__copy > button,
.kid-progress-focus__copy > button,
.kid-progress-courage > div > button {
  display: inline-flex;
  min-height: 62px;
  padding: 8px 10px 8px 24px;
  border: 0;
  border-radius: 18px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: var(--ink);
  color: #fff;
  box-shadow: 0 8px 0 rgba(91,65,164,.2);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}
.kid-progress-hero__copy > button { min-width: 224px; margin-top: 34px; }
.kid-progress-hero__copy > button b,
.kid-progress-focus__copy > button b,
.kid-progress-courage > div > button b { display: grid; width: 42px; height: 42px; border-radius: 12px; background: #fff; color: var(--ink); font-size: 19px; place-items: center; }

.kid-progress-hero__stage { position: relative; min-height: 100%; overflow: hidden; }
.kid-progress-hero__stage::before { position: absolute; right: -13%; bottom: -22%; width: 105%; aspect-ratio: 1; border-radius: 48% 52% 44% 56% / 55% 43% 57% 45%; background: var(--violet); content: ''; transform: rotate(-7deg); }
.kid-progress-hero__stage::after { position: absolute; right: -2%; bottom: -12%; width: 76%; aspect-ratio: 1; border: 4px solid rgba(255,255,255,.42); border-radius: 50%; content: ''; }
.kid-progress-hero__stage > span { position: absolute; z-index: 4; top: 9%; left: 4%; display: flex; width: 168px; aspect-ratio: 1; padding: 22px; border: 5px solid rgba(255,255,255,.34); border-radius: 50%; flex-direction: column; align-items: center; justify-content: center; background: var(--sun); color: var(--ink); text-align: center; transform: rotate(-7deg); }
.kid-progress-hero__stage > span strong { font: 950 69px/.72 var(--font-display); letter-spacing: -.08em; }
.kid-progress-hero__stage > span b { max-width: 110px; margin-top: 12px; font-size: 12px; line-height: 1.05; }
.kid-progress-hero__stage > span small { margin-top: 7px; font-size: 8px; font-weight: 900; }
.kid-progress-hero__stage > div { position: absolute; z-index: 3; right: -4%; bottom: -3%; width: 89%; height: 89%; }
.kid-progress-hero__stage .goodie-companion { width: 100%; height: 100%; }
.kid-progress-hero__stage > i { position: absolute; z-index: 5; display: grid; width: 60px; height: 60px; border: 4px solid var(--violet); border-radius: 50%; background: #fff; color: var(--violet); font: 950 24px/1 var(--font-display); font-style: normal; place-items: center; }
.kid-progress-hero__stage > i:first-of-type { top: 16%; right: 8%; transform: rotate(9deg); }
.kid-progress-hero__stage > i:last-of-type { right: 4%; bottom: 20%; width: 48px; height: 48px; background: var(--acid); font-size: 20px; transform: rotate(-8deg); }

.kid-progress-snapshot { display: grid; margin: 22px 0 92px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.kid-progress-snapshot article { display: grid; min-height: 132px; padding: 24px 28px; border-radius: 26px; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 18px; background: #fff; box-shadow: 0 12px 34px rgba(99,213,197,.2); }
.kid-progress-snapshot article:nth-child(1) { background: var(--pink); }
.kid-progress-snapshot article:nth-child(2) { background: var(--acid); }
.kid-progress-snapshot article:nth-child(3) { background: var(--sun); }
.kid-progress-snapshot strong { font: 950 clamp(47px,4.6vw,72px)/.8 var(--font-display); letter-spacing: -.07em; }
.kid-progress-snapshot span { max-width: 170px; font-size: 13px; font-weight: 900; line-height: 1.08; }

.kid-progress-worlds > header,
.kid-progress-next > header { display: flex; margin-bottom: 28px; align-items: flex-end; justify-content: space-between; gap: 28px; }
.kid-progress-worlds > header h2,
.kid-progress-next > header h2,
.kid-progress-courage h2 { max-width: 900px; margin: 0; font: 900 clamp(47px,5.2vw,78px)/.86 var(--font-display); letter-spacing: -.065em; }
.kid-progress-worlds > header > button,
.kid-progress-next > header > button { min-height: 46px; padding: 5px 0; border: 0; border-bottom: 3px solid currentColor; background: transparent; font-weight: 900; cursor: pointer; }
.kid-progress-worlds > header > button b,
.kid-progress-next > header > button b { margin-left: 14px; color: var(--kid-progress-deep); }

.kid-progress-world-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.kid-progress-world { position: relative; display: grid; min-width: 0; min-height: 238px; padding: 18px; border: 0; border-radius: 28px; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: 84px auto auto; gap: 12px; overflow: hidden; background: var(--progress-surface); color: var(--ink); text-align: left; box-shadow: inset 0 0 0 2px color-mix(in srgb,var(--progress-accent) 12%,transparent); cursor: pointer; transition: transform .25s var(--ease-spring),box-shadow .25s ease; }
.kid-progress-world:hover { transform: translateY(-6px); }
.kid-progress-world.is-active { box-shadow: inset 0 0 0 5px var(--progress-accent),0 14px 30px color-mix(in srgb,var(--progress-accent) 22%,transparent); transform: translateY(-4px); }
.kid-progress-world__art { display: grid; width: 78px; height: 78px; border-radius: 22px; background: var(--progress-accent); place-items: center; transform: rotate(-3deg); }
.kid-progress-world__art .subject-glyph { width: 58px; height: 58px; color: var(--ink); }
.kid-progress-world__art > b { font: 950 20px/1 var(--font-display); letter-spacing: -.05em; }
.kid-progress-world__copy { display: flex; min-width: 0; grid-column: 1 / -1; flex-direction: column; gap: 5px; }
.kid-progress-world__copy strong { overflow-wrap: anywhere; font: 900 clamp(24px,2vw,31px)/.9 var(--font-display); letter-spacing: -.045em; }
.kid-progress-world__copy small { color: var(--progress-accent); font-size: 10px; font-weight: 900; }
.kid-progress-world__arrow { display: grid; width: 40px; height: 40px; border-radius: 12px; grid-column: 2; grid-row: 1; align-self: start; background: #fff; color: var(--progress-accent); font-size: 20px; place-items: center; }
.kid-progress-trail { display: flex; grid-column: 1 / -1; align-self: end; gap: 5px; }
.kid-progress-trail i { display: block; height: 9px; border-radius: 4px; flex: 1 1 0; background: rgba(38,38,43,.1); }
.kid-progress-trail i.is-earned { background: var(--progress-accent); }

.kid-progress-focus { position: relative; display: grid; min-height: 550px; margin-top: 22px; border-radius: 40px; grid-template-columns: minmax(0,1.1fr) minmax(390px,.9fr); overflow: hidden; background: var(--progress-surface); box-shadow: 0 20px 54px color-mix(in srgb,var(--progress-accent) 16%,transparent); }
.kid-progress-focus__copy { position: relative; z-index: 3; display: flex; padding: clamp(38px,4.8vw,70px); flex-direction: column; align-items: flex-start; }
.kid-progress-focus__copy h2 { max-width: 780px; margin: 0; font: 900 clamp(52px,5.4vw,82px)/.82 var(--font-display); letter-spacing: -.07em; }
.kid-progress-focus__copy ul { display: grid; width: 100%; max-width: 760px; margin: 34px 0; padding: 0; gap: 10px; list-style: none; }
.kid-progress-focus__copy li { display: grid; min-height: 58px; padding: 10px 16px 10px 10px; border-radius: 17px; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 12px; background: rgba(255,255,255,.8); font-size: 13px; font-weight: 800; line-height: 1.25; }
.kid-progress-focus__copy li > b { display: grid; width: 40px; height: 40px; border-radius: 12px; background: var(--progress-accent); color: #fff; place-items: center; }
.kid-progress-focus__copy > button { max-width: 390px; margin-top: auto; background: var(--progress-accent); }
.kid-progress-focus--spanish .kid-progress-focus__copy > button,
.kid-progress-focus--spanish .kid-progress-focus__copy li > b { color: var(--ink); }
.kid-progress-focus__teacher { position: relative; min-height: 550px; overflow: hidden; background: var(--progress-accent); }
.kid-progress-focus__teacher::before { position: absolute; right: -24%; bottom: -36%; width: 108%; aspect-ratio: 1; border: 4px solid rgba(255,255,255,.38); border-radius: 50%; content: ''; }
.kid-progress-focus__teacher > div { position: absolute; z-index: 5; top: 30px; right: 26px; left: 26px; padding: 18px 20px; border-radius: 20px; background: rgba(255,255,255,.9); box-shadow: 0 12px 28px color-mix(in srgb,var(--progress-accent) 26%,transparent); }
.kid-progress-focus__teacher > div strong,
.kid-progress-focus__teacher > div span { display: block; }
.kid-progress-focus__teacher > div strong { color: var(--progress-accent); font: 950 21px/1 var(--font-display); }
.kid-progress-focus__teacher > div span { margin-top: 7px; font-size: 12px; font-weight: 750; line-height: 1.35; }
.kid-progress-focus__teacher > img { position: absolute; z-index: 3; right: -8%; bottom: -2%; width: 116%; height: 79%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 22px 19px rgba(38,38,43,.2)); }
.kid-progress-focus__teacher > .kid-progress-trail { position: absolute; z-index: 6; right: 24px; bottom: 22px; left: 24px; padding: 14px; border-radius: 16px; background: rgba(255,255,255,.88); }

.kid-progress-courage { position: relative; display: grid; min-height: 480px; margin-top: 92px; padding: clamp(38px,5vw,72px); border-radius: 42px; grid-template-columns: minmax(0,.76fr) minmax(480px,1.24fr); align-items: center; gap: 50px; overflow: hidden; background: var(--violet); color: #fff; }
.kid-progress-courage::before { position: absolute; top: -45%; left: -12%; width: 46%; aspect-ratio: 1; border: 32px solid rgba(255,255,255,.08); border-radius: 50%; content: ''; }
.kid-progress-courage > div { position: relative; z-index: 2; }
.kid-progress-courage > div > button { margin-top: 34px; background: var(--acid); color: var(--ink); }
.kid-progress-courage ol { position: relative; z-index: 2; display: grid; margin: 0; padding: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; list-style: none; }
.kid-progress-courage li { display: flex; min-height: 245px; padding: 22px; border-radius: 28px; flex-direction: column; justify-content: space-between; color: var(--ink); transform: rotate(-1.5deg); }
.kid-progress-courage li:nth-child(1) { background: var(--pink); }
.kid-progress-courage li:nth-child(2) { background: var(--sun); transform: rotate(1.8deg) translateY(12px); }
.kid-progress-courage li:nth-child(3) { background: var(--acid); transform: rotate(-.8deg); }
.kid-progress-courage li b { font: 950 74px/.75 var(--font-display); }
.kid-progress-courage li strong { font: 900 22px/.95 var(--font-display); }
.kid-progress-courage__spark { position: absolute; z-index: 4; top: 24px; right: 26px; color: var(--sun); font-size: 54px; opacity: 0; transform: scale(.2) rotate(-35deg); }
.kid-progress-courage.is-celebrating .kid-progress-courage__spark { animation: kid-progress-spark .8s var(--ease-spring) both; }
.kid-progress-courage.is-celebrating li { animation: kid-progress-pop .65s var(--ease-spring) both; }
.kid-progress-courage.is-celebrating li:nth-child(2) { animation-delay: .1s; }
.kid-progress-courage.is-celebrating li:nth-child(3) { animation-delay: .2s; }
@keyframes kid-progress-spark { 60% { opacity: 1; transform: scale(1.25) rotate(9deg); } 100% { opacity: 1; transform: scale(1) rotate(0); } }
@keyframes kid-progress-pop { 55% { transform: translateY(-16px) rotate(2deg) scale(1.04); } }

.kid-progress-next { margin-top: 92px; }
.kid-progress-next > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.kid-progress-next-card { position: relative; display: grid; min-height: 360px; padding: 28px; border: 0; border-radius: 32px; grid-template-columns: minmax(0,1fr) 86px; grid-template-rows: 86px 1fr auto; overflow: hidden; color: var(--ink); text-align: left; cursor: pointer; transition: transform .25s var(--ease-spring); }
.kid-progress-next-card:hover { transform: translateY(-6px); }
.kid-progress-next-card--science { background: #e5f8eb; }
.kid-progress-next-card--reading { background: #ffe7e2; }
.kid-progress-next-card--play { background: #fff5c8; }
.kid-progress-next-card > span { display: grid; width: 82px; height: 82px; border-radius: 22px; place-items: center; }
.kid-progress-next-card--science > span { background: #0fbc53; }
.kid-progress-next-card--reading > span { background: #fd7666; }
.kid-progress-next-card--play > span { position: absolute; right: -2%; bottom: -6%; width: 52%; height: 68%; }
.kid-progress-next-card > span .subject-glyph { width: 61px; height: 61px; color: var(--ink); }
.kid-progress-next-card > span .goodie-companion { width: 100%; height: 100%; }
.kid-progress-next-card time { align-self: start; justify-self: end; font-size: 13px; font-weight: 900; }
.kid-progress-next-card h3 { max-width: 330px; margin: 24px 0; grid-column: 1 / -1; font: 900 clamp(38px,3.6vw,56px)/.84 var(--font-display); letter-spacing: -.06em; }
.kid-progress-next-card strong { position: relative; z-index: 3; align-self: end; grid-column: 1 / -1; font-size: 13px; }

#app:has(.kid-progress-page) .app-bottom-banner { --bottom-banner-color: #63d5c5; background: var(--bottom-banner-color); color: var(--ink); }
#app:has(.kid-progress-page) .app-bottom-banner .app-rail__nav button.is-active { background: rgba(255,255,255,.86); }
#app:has(.kid-progress-page) .app-bottom-banner .app-nav-companion--blob { background: rgba(255,255,255,.22); color: var(--ink); }
#app:has(.kid-progress-page) .app-bottom-banner .app-nav-companion--blob .app-nav-companion__copy small { color: var(--violet); }

@media (max-width: 1120px) {
  .kid-progress-hero { grid-template-columns: minmax(0,1fr) 390px; }
  .kid-progress-hero h1 { font-size: clamp(62px,7vw,86px); }
  .kid-progress-world-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kid-progress-world:nth-child(4),.kid-progress-world:nth-child(5) { min-height: 210px; }
  .kid-progress-focus { grid-template-columns: minmax(0,1fr) 390px; }
  .kid-progress-courage { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .kid-progress-page { margin-inline: var(--authenticated-shell-gutter); }
  .kid-progress-hero { min-height: 760px; grid-template-columns: 1fr; grid-template-rows: auto 390px; }
  .kid-progress-hero__copy { padding: 38px; justify-content: flex-start; }
  .kid-progress-hero__stage { min-height: 390px; }
  .kid-progress-hero__stage > div { right: 4%; width: 67%; height: 106%; }
  .kid-progress-hero__stage > span { top: 5%; left: 8%; width: 142px; }
  .kid-progress-snapshot { margin-bottom: 72px; }
  .kid-progress-snapshot article { min-height: 150px; padding: 20px; grid-template-columns: 1fr; align-content: center; gap: 12px; }
  .kid-progress-world-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kid-progress-world:last-child { grid-column: 1 / -1; min-height: 190px; }
  .kid-progress-focus { grid-template-columns: 1fr; }
  .kid-progress-focus__teacher { min-height: 520px; }
  .kid-progress-focus__teacher > img { height: 82%; }
  .kid-progress-next > div { grid-template-columns: 1fr; }
  .kid-progress-next-card { min-height: 300px; }
}

@media (max-width: 620px) {
  .kid-progress-page { margin-inline: 14px; padding-bottom: 128px; }
  .kid-progress-hero { min-height: 720px; border-radius: 34px; grid-template-rows: auto 350px; }
  .kid-progress-hero__copy { padding: 30px 23px; }
  .kid-progress-hero h1 { font-size: clamp(49px,14.4vw,67px); }
  .kid-progress-hero__copy > button { min-width: 0; width: 100%; margin-top: 27px; }
  .kid-progress-hero__stage { min-height: 350px; }
  .kid-progress-hero__stage > span { left: 5%; width: 118px; padding: 14px; }
  .kid-progress-hero__stage > span strong { font-size: 54px; }
  .kid-progress-hero__stage > span b { font-size: 10px; }
  .kid-progress-hero__stage > div { right: -9%; width: 87%; }
  .kid-progress-hero__stage > i { display: none; }
  .kid-progress-snapshot { margin: 14px 0 64px; grid-template-columns: 1fr; gap: 10px; }
  .kid-progress-snapshot article { min-height: 106px; grid-template-columns: 82px 1fr; }
  .kid-progress-snapshot strong { font-size: 50px; }
  .kid-progress-worlds > header,.kid-progress-next > header { align-items: flex-start; flex-direction: column; }
  .kid-progress-worlds > header h2,.kid-progress-next > header h2,.kid-progress-courage h2 { font-size: clamp(42px,13vw,58px); }
  .kid-progress-world-grid { grid-template-columns: 1fr; }
  .kid-progress-world,.kid-progress-world:nth-child(4),.kid-progress-world:nth-child(5),.kid-progress-world:last-child { min-height: 152px; grid-column: 1; grid-template-columns: 72px minmax(0,1fr) 40px; grid-template-rows: auto auto; align-items: center; }
  .kid-progress-world__art { width: 66px; height: 66px; grid-row: 1 / -1; }
  .kid-progress-world__art .subject-glyph { width: 50px; height: 50px; }
  .kid-progress-world__copy { grid-column: 2; }
  .kid-progress-world__arrow { grid-column: 3; grid-row: 1 / -1; }
  .kid-progress-world > .kid-progress-trail { grid-column: 2; }
  .kid-progress-focus { min-height: 0; border-radius: 30px; }
  .kid-progress-focus__copy { padding: 30px 22px; }
  .kid-progress-focus__copy h2 { font-size: clamp(45px,13vw,62px); }
  .kid-progress-focus__copy li { font-size: 12px; }
  .kid-progress-focus__copy > button { width: 100%; }
  .kid-progress-focus__teacher { min-height: 470px; }
  .kid-progress-focus__teacher > div { top: 18px; right: 16px; left: 16px; }
  .kid-progress-focus__teacher > img { right: -12%; width: 124%; height: 80%; }
  .kid-progress-courage { min-height: 0; margin-top: 68px; padding: 30px 22px; border-radius: 30px; gap: 34px; }
  .kid-progress-courage > div > button { width: 100%; }
  .kid-progress-courage ol { grid-template-columns: 1fr; }
  .kid-progress-courage li,.kid-progress-courage li:nth-child(2),.kid-progress-courage li:nth-child(3) { min-height: 150px; transform: none; }
  .kid-progress-courage li b { font-size: 55px; }
  .kid-progress-next { margin-top: 68px; }
  .kid-progress-next-card { min-height: 270px; padding: 22px; }
  .kid-progress-next-card h3 { font-size: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  .kid-progress-world,.kid-progress-next-card,.kid-progress-courage.is-celebrating li,.kid-progress-courage.is-celebrating .kid-progress-courage__spark { animation: none; transition: none; }
}

/* Playground games stay immersive: bottom navigation only, with no top header. */
.final-brand .app-shell-navigation.app-shell-navigation--game {
  position: static !important;
  display: block !important;
  width: 0 !important;
  max-width: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.final-brand .app-shell-navigation.app-shell-navigation--game::before,
.final-brand .app-shell-navigation.app-shell-navigation--game::after { display: none !important; }
:is(html, body):has(.app-shell-game-page[data-game-page="word-quest"]),
#app:has(.app-shell-game-page[data-game-page="word-quest"]) { background:var(--violet) !important; }
:is(html, body):has(.wildworld-page.app-shell-game-page),
#app:has(.wildworld-page.app-shell-game-page) { background:#07110d !important; }
:is(html, body):has(.wildworld-page.app-shell-game-page .wildworld[data-wildworld-phase="intro"]),
#app:has(.wildworld-page.app-shell-game-page .wildworld[data-wildworld-phase="intro"]) { background:var(--pink) !important; }
.wildworld-page.app-shell-game-page { isolation:isolate; }
.wildworld-page.app-shell-game-page:has(.wildworld:not([data-wildworld-phase="intro"]))::before {
  position:fixed;
  z-index:0;
  inset:0;
  background-image:var(--wildworld-plate);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  content:"";
  pointer-events:none;
}
.wildworld-page.app-shell-game-page > .wildworld { z-index:1; }
:is(html, body):has(.wildworld-atlas-page.app-shell-game-page),
#app:has(.wildworld-atlas-page.app-shell-game-page) { background:linear-gradient(180deg,var(--cream),#fff8e9 62%,rgba(253,220,238,.78)) !important; }
:is(html, body):has(.game-subpage--coral.app-shell-game-page),
#app:has(.game-subpage--coral.app-shell-game-page) { background:var(--coral) !important; }
:is(html, body):has(.game-subpage--yellow.app-shell-game-page),
#app:has(.game-subpage--yellow.app-shell-game-page) { background:var(--yellow) !important; }
:is(html, body):has(.game-subpage--lime.app-shell-game-page),
#app:has(.game-subpage--lime.app-shell-game-page) { background:var(--lime) !important; }
:is(html, body):has(.game-subpage--pink.app-shell-game-page),
#app:has(.game-subpage--pink.app-shell-game-page) { background:var(--pink) !important; }
.session-authenticated .game-subpage.app-shell-game-page { background:var(--game-field); }
.session-authenticated .play-game-screen.app-shell-game-page {
  min-height: 100dvh;
  margin-top: 0;
  padding: 0 !important;
  background: var(--violet);
}
.session-authenticated .app-shell-game-page,
.session-authenticated .app-shell-game-page > :is(.word-quest, .wildworld, .game-subpage__stage) { box-shadow:none; }
.play-game-screen.app-shell-game-page .word-garden-toggle {
  position: absolute;
  top: 22px;
  left: clamp(18px, 3vw, 44px);
}

@media (max-width: 900px) {
  .play-game-screen.app-shell-game-page .word-garden-toggle { top: 14px; left: 14px; }
}
/* Word Quest opening balance: identity left, Garden right, action demonstrated at the lever. */
.play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-label {
  top:22px;
  right:auto;
  left:clamp(24px,4vw,62px);
  align-items:flex-start;
  transform:none;
  text-align:left;
}
.play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-title-art {
  display:block;
  width:clamp(168px,14vw,224px);
  height:auto;
  filter:drop-shadow(0 8px 0 rgba(38,38,43,.16));
}
.play-game-screen.app-shell-game-page .word-garden-toggle {
  position:absolute;
  top:20px;
  right:clamp(24px,4vw,62px);
  left:auto;
  display:grid;
  width:min(260px,34vw);
  min-height:66px;
  padding:4px 0 7px;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:auto 7px;
  align-items:center;
  gap:5px 12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--soft-white);
  text-align:left;
}
.play-game-screen.app-shell-game-page .word-garden-toggle:hover { box-shadow:none; transform:translateY(-3px); }
.play-game-screen.app-shell-game-page .word-garden-toggle:focus-visible { outline:4px solid var(--lime); outline-offset:6px; }
.play-game-screen.app-shell-game-page .word-garden-toggle>i {
  position:relative;
  display:block;
  width:54px;
  height:54px;
  grid-row:1 / 3;
  border:0;
  border-radius:0;
  background:transparent;
  transform:none;
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i::before {
  position:absolute;
  top:1px;
  left:13px;
  width:29px;
  height:29px;
  border:4px solid var(--graphite);
  border-radius:55% 45% 58% 42% / 48% 58% 42% 52%;
  background:var(--pink);
  box-shadow:inset 0 4px 0 rgba(255,255,255,.28);
  content:"";
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i::after {
  position:absolute;
  top:11px;
  left:23px;
  width:9px;
  height:9px;
  border:3px solid var(--graphite);
  border-radius:50%;
  background:var(--sun);
  content:"";
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i>span {
  position:absolute;
  bottom:1px;
  left:27px;
  width:5px;
  height:27px;
  border-radius:999px;
  background:var(--lime);
  transform:rotate(5deg);
  transform-origin:bottom;
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i>span::before,
.play-game-screen.app-shell-game-page .word-garden-toggle>i>span::after {
  position:absolute;
  width:16px;
  height:9px;
  border-radius:100% 0 100% 0;
  background:var(--lime);
  content:"";
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i>span::before { top:8px; right:1px; transform:rotate(25deg); transform-origin:right; }
.play-game-screen.app-shell-game-page .word-garden-toggle>i>span::after { top:14px; left:2px; transform:scaleX(-1) rotate(25deg); transform-origin:left; }
.play-game-screen.app-shell-game-page .word-garden-toggle>span { display:grid; max-width:none; gap:4px; }
.play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font:850 15px/.95 var(--font-display); letter-spacing:-.03em; text-transform:uppercase; }
.play-game-screen.app-shell-game-page .word-garden-toggle>span small { color:var(--acid); font:800 9px/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }
.play-game-screen.app-shell-game-page .word-garden-toggle>u {
  position:relative;
  display:block;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  text-decoration:none;
}
.play-game-screen.app-shell-game-page .word-garden-toggle>u>span {
  display:block;
  width:calc(var(--garden-growth) * 100%);
  min-width:7px;
  height:100%;
  border-radius:inherit;
  background:var(--lime);
}

/* One full-height lever and one self-explanatory gesture. No instruction cards or labels. */
.play-game-screen .word-slot { --word-lever-travel:210px; }
.word-quest-lever {
  top:0;
  right:clamp(-190px,-11vw,-158px);
  width:224px;
  height:100%;
  transform:none;
}
.word-quest-lever__housing {
  top:0;
  right:0;
  bottom:0;
  width:154px;
  height:auto;
  border-radius:84px;
  box-shadow:0 20px 0 #17171c,0 30px 42px rgba(21,13,62,.28),inset 0 0 0 9px var(--soft-white),inset 0 0 0 19px var(--violet);
}
.word-quest-lever__slot { top:42px; right:40px; bottom:42px; left:40px; }
.word-quest-lever__arm {
  top:92px;
  width:15px;
  height:clamp(128px,18vh,188px);
  transform:translate(-50%,calc(var(--lever-pull) * var(--word-lever-travel)));
}
.word-quest-lever__knob {
  top:-54px;
  width:112px;
  height:112px;
  border-width:8px;
  border-radius:50%;
  box-shadow:0 12px 0 #c94ead,inset 0 12px 0 rgba(255,255,255,.28);
}
.word-quest-lever__knob b,
.word-quest-lever__knob b::before,
.word-quest-lever__knob b::after { display:none; }
.word-quest-lever__cue {
  position:absolute;
  z-index:8;
  top:20px;
  right:-8px;
  display:block;
  width:124px;
  height:130px;
  pointer-events:none;
  transition:opacity .12s ease;
}
.word-quest-lever__cue strong {
  position:absolute;
  top:0;
  right:0;
  left:auto;
  color:var(--soft-white);
  font:850 17px/1 var(--font-display);
  font-style:italic;
  letter-spacing:-.035em;
  transform:rotate(6deg);
  white-space:nowrap;
}
.word-quest-lever__cue svg { display:block; width:100%; height:100%; overflow:visible; }
.word-quest-lever__cue path {
  fill:none;
  stroke:var(--acid);
  stroke-width:6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.word-quest-lever.is-pulling .word-quest-lever__cue,
.word-quest-lever.is-armed .word-quest-lever__cue,
.word-quest-lever.is-spinning .word-quest-lever__cue { opacity:0; }

/* Selected word: a cinematic discovery moment with live, accessible controls. */
.play-game-screen.app-shell-game-page[data-game-page="word-quest"]:has(.word-quest__selection-modal) {
  z-index:240;
}
.play-game-screen.app-shell-game-page[data-game-page="word-quest"]:has(.word-quest__selection-modal) .word-garden-toggle {
  opacity:0;
  pointer-events:none;
}
.word-quest__selection-modal {
  position:fixed;
  z-index:260;
  inset:0;
  display:grid;
  padding:clamp(24px,5vw,72px);
  place-items:center;
  overflow:auto;
  background:rgba(35,22,79,.94);
  backdrop-filter:blur(16px) saturate(.78);
  animation:word-selection-backdrop .3s ease both;
}
.word-quest__selection-card {
  position:relative;
  display:grid;
  width:min(1120px,calc(100vw - 40px));
  min-height:min(640px,calc(100dvh - 80px));
  padding:0;
  grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr);
  align-items:center;
  gap:clamp(38px,7vw,96px);
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--soft-white);
  animation:word-selection-card-in .5s var(--ease-spring) both;
}
.word-quest__selection-art {
  position:relative;
  display:grid;
  min-height:560px;
  place-items:center;
  isolation:isolate;
}
.word-quest__selection-art::before {
  position:absolute;
  z-index:-1;
  width:clamp(340px,42vw,560px);
  aspect-ratio:1;
  border:2px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,241,210,.22),rgba(146,103,234,.08) 58%,transparent 72%);
  content:"";
}
.word-quest__selection-art::after {
  position:absolute;
  z-index:-1;
  bottom:7%;
  width:72%;
  height:12%;
  border-radius:50%;
  background:rgba(10,6,27,.32);
  filter:blur(18px);
  content:"";
}
.word-quest__selection-art img {
  display:block;
  width:min(100%,540px);
  max-height:540px;
  object-fit:contain;
  filter:drop-shadow(0 28px 18px rgba(10,6,27,.3));
}
.word-quest__selection-content {
  position:relative;
  display:flex;
  min-width:0;
  padding:0;
  flex-direction:column;
  justify-content:center;
  text-align:left;
}
.word-quest__selection-content::before {
  position:absolute;
  top:-28px;
  left:0;
  width:92px;
  height:6px;
  background:var(--coral);
  content:"";
}
.word-quest__selection-kicker {
  display:block;
  color:var(--lime);
  font:900 11px/1 var(--font-body);
  letter-spacing:.17em;
  text-transform:uppercase;
}
.word-quest__selection-card h3 {
  max-width:100%;
  margin:18px 0 24px;
  color:var(--soft-white);
  font-family:var(--font-display);
  font-size:var(--selection-word-size);
  font-weight:900;
  line-height:.82;
  letter-spacing:-.07em;
  overflow-wrap:normal;
  text-wrap:nowrap;
  text-transform:uppercase;
  white-space:nowrap;
}
.word-quest__selection-actions { display:grid; width:100%; max-width:430px; margin:34px 0 0; gap:18px; }
.word-quest__selection-actions button { border:0; font-family:var(--font-display); cursor:pointer; }
.word-quest__selection-start:focus-visible,.word-quest__selection-again:focus-visible { outline:5px solid var(--soft-white); outline-offset:6px; }
@keyframes word-selection-backdrop { from { opacity:0; } }
@keyframes word-selection-card-in { from { opacity:0; transform:translateY(35px) scale(.9); } }

@media (max-width:900px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-label { top:18px; left:18px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle { top:14px; right:16px; left:auto; width:min(225px,43vw); min-height:58px; grid-template-columns:48px minmax(0,1fr); }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i { width:46px; height:48px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i::before { left:9px; width:27px; height:27px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i::after { left:18px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i>span { left:22px; height:24px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font-size:12px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span small { font-size:7px; }
  .play-game-screen .word-slot { --word-lever-travel:150px; }
  .word-quest-lever { top:0; right:-74px; width:164px; height:100%; transform:none; }
  .word-quest-lever__housing { top:0; right:0; bottom:0; width:108px; height:auto; border-radius:58px; box-shadow:0 14px 0 #17171c,0 22px 32px rgba(21,13,62,.26),inset 0 0 0 7px var(--soft-white),inset 0 0 0 15px var(--violet); }
  .word-quest-lever__slot { top:30px; right:28px; bottom:30px; left:28px; }
  .word-quest-lever__arm { top:68px; width:12px; height:112px; transform:translate(-50%,calc(var(--lever-pull) * var(--word-lever-travel))); }
  .word-quest-lever__knob { top:-43px; width:84px; height:84px; border-width:6px; }
  .word-quest-lever__cue { top:-8px; right:-20px; width:108px; height:112px; }
  .word-quest-lever__cue strong { right:0; left:auto; font-size:12px; }
  .word-quest-lever__cue path { stroke-width:7; }
  .word-quest__selection-modal { padding:24px 20px; }
  .word-quest__selection-card { width:min(620px,calc(100vw - 24px)); min-height:0; grid-template-columns:1fr; gap:16px; }
  .word-quest__selection-art { min-height:min(330px,38dvh); }
  .word-quest__selection-art::before { width:min(400px,78vw); }
  .word-quest__selection-art img { width:min(420px,78vw); max-height:min(330px,38dvh); }
  .word-quest__selection-content { padding:34px clamp(26px,6vw,44px) 32px; }
  .word-quest__selection-card h3 { font-size:var(--selection-word-size-mobile); }
}

@media (max-width:560px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-label { top:17px; left:14px; }
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-label strong { max-width:47vw; font-size:clamp(27px,8vw,36px); }
  .play-game-screen.app-shell-game-page .word-garden-toggle { top:12px; right:12px; left:auto; width:46vw; grid-template-columns:42px minmax(0,1fr); gap:4px 8px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i { width:41px; height:45px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i::before { left:7px; width:25px; height:25px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i::after { top:10px; left:15px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i>span { left:19px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font-size:10px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span small { font-size:6px; }
  .play-game-screen .word-slot { --word-lever-travel:138px; }
  .word-quest-lever { right:-64px; width:145px; }
  .word-quest-lever__housing { width:94px; border-radius:50px; }
  .word-quest-lever__slot { right:24px; left:24px; }
  .word-quest-lever__knob { top:-39px; width:78px; height:78px; }
  .word-quest-lever__cue { top:-10px; right:-19px; width:96px; height:108px; }
  .word-quest__selection-modal { padding:18px 12px; align-items:start; }
  .word-quest__selection-card { width:100%; gap:8px; }
  .word-quest__selection-art { min-height:min(265px,34dvh); }
  .word-quest__selection-art img { width:min(310px,78vw); max-height:min(250px,32dvh); }
  .word-quest__selection-content { padding:28px 18px 22px; }
  .word-quest__selection-actions { margin-top:27px; }
  .word-quest__selection-start { min-height:68px; padding-left:20px; font-size:16px; }
}

@media (max-height:600px) and (min-width:640px) {
  .word-quest__selection-modal { padding:18px 24px; }
  .word-quest__selection-card { width:min(920px,calc(100vw - 48px)); min-height:0; grid-template-columns:minmax(250px,.8fr) minmax(360px,1.2fr); gap:32px; }
  .word-quest__selection-art { min-height:calc(100dvh - 36px); }
  .word-quest__selection-art::before { width:min(360px,44vw); }
  .word-quest__selection-art img { width:min(360px,42vw); max-height:calc(100dvh - 70px); }
  .word-quest__selection-content { padding:18px 12px; }
  .word-quest__selection-content::before { top:-4px; }
  .word-quest__selection-card h3 { margin:14px 0 18px; }
  .word-quest__selection-actions { margin-top:22px; gap:13px; }
  .word-quest__selection-start { min-height:64px; }
}

@media (prefers-reduced-motion:reduce) {
  .word-quest-lever__cue path { animation:none; stroke-dashoffset:0; }
  .word-quest__selection-modal,.word-quest__selection-card { animation:none; }
}

/* The Garden control uses a real five-petal flower silhouette, not an icon badge. */
.play-game-screen.app-shell-game-page .word-garden-toggle>i::before {
  top:-1px;
  left:1px;
  width:44px;
  height:44px;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 50% 18%,var(--pink) 0 9px,transparent 10px),
    radial-gradient(circle at 79% 40%,var(--coral) 0 9px,transparent 10px),
    radial-gradient(circle at 68% 74%,var(--pink) 0 9px,transparent 10px),
    radial-gradient(circle at 32% 74%,var(--coral) 0 9px,transparent 10px),
    radial-gradient(circle at 21% 40%,var(--pink) 0 9px,transparent 10px);
  box-shadow:none;
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i::after {
  top:13px;
  left:16px;
  width:12px;
  height:12px;
  border:3px solid var(--graphite);
  background:var(--sun);
}

@media (max-width:560px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-title-art { width:min(42vw,172px); }
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-label button {
    top:calc(100% + 6px);
    left:0;
    width:30px;
    height:30px;
    transform:none;
  }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font-size:11px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span small { font-size:7px; }
}

/* WORD GARDEN ART DIRECTION - one continuous garden, never dashboard cards or badges. */
.play-game-screen.app-shell-game-page .word-garden {
  position:fixed;
  z-index:60;
  top:var(--word-quest-shell-top,154px);
  right:0;
  bottom:0;
  left:0;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  background:#fffefa;
  color:var(--graphite);
}
.play-game-screen.app-shell-game-page .word-garden::before,
.play-game-screen.app-shell-game-page .word-garden::after { display:none; }
.play-game-screen.app-shell-game-page .word-garden__grain { position:fixed; top:var(--word-quest-shell-top,154px); opacity:.025; }
.play-game-screen.app-shell-game-page .word-garden__close {
  position:absolute;
  z-index:5;
  top:24px;
  right:clamp(24px,4vw,64px);
  min-width:0;
  width:auto;
  height:48px;
  padding:0 18px;
  border:2px solid var(--graphite);
  border-radius:0;
  background:#fffefa;
  box-shadow:5px 5px 0 var(--graphite);
  color:var(--graphite);
  font:850 11px/1 var(--font-display);
  letter-spacing:.06em;
}
.play-game-screen.app-shell-game-page .word-garden__close:hover { transform:translate(-2px,-2px); box-shadow:7px 7px 0 var(--graphite); }
.play-game-screen.app-shell-game-page .word-garden__hero {
  min-height:500px;
  padding:88px clamp(34px,7vw,120px) 78px;
  grid-template-columns:minmax(0,1fr) clamp(300px,29vw,440px);
  align-items:center;
  gap:clamp(30px,6vw,100px);
  border:0;
  background:
    radial-gradient(circle at 84% 15%,rgba(246,204,36,.26) 0 92px,transparent 93px),
    linear-gradient(180deg,#fffefa 0 72%,#f4ecd8 72% 100%);
}
.play-game-screen.app-shell-game-page .word-garden__hero::before {
  top:auto;
  right:0;
  bottom:-1px;
  left:0;
  width:auto;
  height:82px;
  background:var(--violet);
  clip-path:polygon(0 55%,8% 25%,18% 62%,29% 18%,41% 58%,53% 22%,65% 63%,76% 27%,88% 58%,100% 16%,100% 100%,0 100%);
}
.play-game-screen.app-shell-game-page .word-garden__hero::after {
  right:-80px;
  bottom:36px;
  width:430px;
  height:120px;
  border:0;
  border-radius:52% 0 0 0;
  background:var(--acid);
  opacity:.2;
}
.play-game-screen.app-shell-game-page .word-garden__hero h2 { max-width:800px; color:var(--graphite); }
.play-game-screen.app-shell-game-page .word-garden__hero h2 i { color:var(--violet); }
.play-game-screen.app-shell-game-page .word-garden__hero-copy>span { color:var(--violet); }
.play-game-screen.app-shell-game-page .word-garden__hero-copy>p { max-width:680px; margin:28px 0 0; color:var(--graphite); font:720 clamp(16px,1.3vw,21px)/1.35 var(--font-body); }
.play-game-screen.app-shell-game-page .word-garden__storyline {
  display:flex;
  margin-top:34px;
  align-items:center;
  gap:17px;
  font:800 12px/1.1 var(--font-body);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.play-game-screen.app-shell-game-page .word-garden__storyline strong { color:var(--coral); font:850 23px/.8 var(--font-display); }
.play-game-screen.app-shell-game-page .word-garden__storyline>i {
  position:relative;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--sun);
  box-shadow:0 -8px 0 -2px var(--pink),7px -2px 0 -2px var(--coral),4px 6px 0 -2px var(--violet),-4px 6px 0 -2px var(--pink),-7px -2px 0 -2px var(--coral);
}
.play-game-screen.app-shell-game-page .word-garden__progress {
  position:relative;
  display:grid;
  width:100%;
  min-height:340px;
  padding:0;
  place-items:center;
  border:0;
  color:var(--graphite);
  isolation:isolate;
}
.play-game-screen.app-shell-game-page .word-garden__progress>span {
  position:absolute;
  z-index:4;
  top:94px;
  left:0;
  color:var(--graphite);
  letter-spacing:.12em;
}
.play-game-screen.app-shell-game-page .word-garden__progress>strong {
  position:absolute;
  z-index:4;
  top:126px;
  left:0;
  margin:0;
  color:var(--graphite);
  font-size:clamp(62px,5.4vw,88px);
}
.play-game-screen.app-shell-game-page .word-garden__progress>em {
  position:absolute;
  z-index:4;
  top:214px;
  left:0;
  margin:0;
}
.play-game-screen.app-shell-game-page .word-garden__hero-category {
  position:absolute;
  z-index:1;
  top:0;
  right:-28px;
  bottom:0;
  width:68%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 18px rgba(38,38,43,.18));
  transform:translateY(18px) scale(.98);
}

.play-game-screen.app-shell-game-page .word-garden__category-map {
  width:100%;
  margin:0;
  padding:52px 0 34px;
  overflow:hidden;
  background:var(--oat);
  color:var(--graphite);
}
.play-game-screen.app-shell-game-page .word-garden__category-map>header {
  width:min(1500px,calc(100% - clamp(48px,9vw,144px)));
  margin:0 auto 20px;
}
.play-game-screen.app-shell-game-page .word-garden__filters {
  display:grid;
  width:100%;
  padding:18px clamp(28px,7vw,120px) 32px;
  grid-auto-flow:column;
  grid-auto-columns:154px;
  grid-template-columns:none;
  gap:20px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-color:var(--acid) rgba(255,255,255,.18);
  scrollbar-width:thin;
  border:0;
}
.play-game-screen.app-shell-game-page .word-garden__filters button {
  display:grid;
  min-width:0;
  min-height:218px;
  padding:0;
  grid-template-columns:1fr;
  place-items:center;
  align-content:start;
  gap:8px;
  overflow:visible;
  border:0;
  background:transparent;
  color:#fffefa;
  text-align:center;
  scroll-snap-align:center;
}
.play-game-screen.app-shell-game-page .word-garden__filters button:hover,
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active { background:transparent; }
.play-game-screen.app-shell-game-page .word-garden__category-art {
  position:relative;
  display:block;
  width:138px;
  height:150px;
  transform-origin:50% 70%;
  transition:transform .3s var(--ease-spring);
}
.play-game-screen.app-shell-game-page .word-garden__category-art>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 9px 8px rgba(25,14,58,.3));
}
.play-game-screen.app-shell-game-page .word-garden__category-art--all>img { width:88%; height:88%; }
.play-game-screen.app-shell-game-page .word-garden__category-art--all>img:nth-child(1) { transform:translate(-20px,10px) rotate(-10deg) scale(.78); }
.play-game-screen.app-shell-game-page .word-garden__category-art--all>img:nth-child(2) { z-index:2; transform:translate(15px,0) rotate(8deg) scale(.82); }
.play-game-screen.app-shell-game-page .word-garden__category-art--all>img:nth-child(3) { z-index:1; transform:translate(3px,-20px) scale(.72); }
.play-game-screen.app-shell-game-page .word-garden__filters button:hover .word-garden__category-art,
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active .word-garden__category-art { transform:translateY(-8px) scale(1.08) rotate(-2deg); }
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active .word-garden__category-art::after {
  position:absolute;
  right:8px;
  bottom:4px;
  left:8px;
  height:7px;
  border-radius:50%;
  background:var(--acid);
  content:"";
}
.play-game-screen.app-shell-game-page .word-garden__filters button>span { display:grid; max-width:150px; gap:5px; }
.play-game-screen.app-shell-game-page .word-garden__filters button>span strong { color:var(--graphite); font-size:13px; text-overflow:clip; white-space:normal; }
.play-game-screen.app-shell-game-page .word-garden__filters button>span small { color:rgba(38,38,43,.78); font-size:9px; }
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active>span { position:relative; z-index:1; }
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active>span strong { color:var(--graphite); }
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active>span small { color:rgba(38,38,43,.78); }
.play-game-screen.app-shell-game-page .word-garden__collection { padding-top:58px; }

@media (max-width:900px) {
  .play-game-screen.app-shell-game-page .word-garden { top:var(--word-quest-shell-top,112px); }
  .play-game-screen.app-shell-game-page .word-garden__grain { top:var(--word-quest-shell-top,112px); }
  .play-game-screen.app-shell-game-page .word-garden__hero { grid-template-columns:minmax(0,1fr) 320px; }
}

@media (max-width:700px) {
  .play-game-screen.app-shell-game-page .word-garden__close { top:16px; right:18px; width:46px; height:46px; padding:0; }
  .play-game-screen.app-shell-game-page .word-garden__close span { display:none; }
  .play-game-screen.app-shell-game-page .word-garden__hero { padding:82px 24px 58px 28px; grid-template-columns:1fr; gap:14px; }
  .play-game-screen.app-shell-game-page .word-garden__hero h2 { font-size:clamp(58px,18vw,82px); }
  .play-game-screen.app-shell-game-page .word-garden__storyline { flex-wrap:wrap; gap:12px; }
  .play-game-screen.app-shell-game-page .word-garden__progress { min-height:315px; transform:scale(.9); }
  .play-game-screen.app-shell-game-page .word-garden__category-map>header { width:calc(100% - 36px); }
  .play-game-screen.app-shell-game-page .word-garden__filters { grid-auto-columns:138px; padding-right:18px; padding-left:18px; }
}

/* WORD QUEST CINEMATIC OBJECT KIT — generated TGO sculpture with live HTML mechanics. */
.play-game-screen .word-slot {
  isolation:isolate;
  padding:clamp(34px,4.6vw,76px) clamp(42px,5.6vw,94px);
  border-radius:clamp(58px,6vw,112px);
  background:transparent;
  box-shadow:none;
}
.play-game-screen .word-slot__cabinet-art {
  position:absolute;
  z-index:0;
  top:-19%;
  right:-4%;
  bottom:-5%;
  left:-4%;
  display:block;
  width:108%;
  max-width:none;
  height:124%;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 22px 0 rgba(23,23,28,.9)) drop-shadow(0 34px 28px rgba(25,14,58,.3));
}
.play-game-screen .word-slot__category,
.play-game-screen .word-slot__window-frame { z-index:4; }
.play-game-screen .word-slot__window-frame {
  position:relative;
  border-radius:clamp(32px,3.5vw,68px);
}
.play-game-screen .word-slot__bulbs { z-index:6; }
.play-game-screen .word-slot__window { z-index:1; }
.play-game-screen .word-slot__category {
  background:transparent;
  box-shadow:none;
  color:var(--soft-white);
}
.play-game-screen .word-slot__category::before {
  background:transparent;
  box-shadow:none;
}
.play-game-screen .word-slot__category::after { display:none; }
.play-game-screen .word-slot__window {
  border:0;
  border-radius:clamp(32px,3.5vw,68px);
  box-shadow:inset 0 8px 18px rgba(25,14,58,.17),0 0 0 5px rgba(25,14,58,.78);
}

.word-quest-lever__housing {
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.word-quest-lever__housing-art {
  position:absolute;
  z-index:1;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 18px 0 rgba(23,23,28,.88)) drop-shadow(0 28px 22px rgba(25,14,58,.26));
}
.word-quest-lever__arm {
  z-index:3;
  top:5%;
  left:50%;
  width:83%;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translate(-50%,calc(var(--lever-pull) * var(--word-lever-travel)));
}
.word-quest-lever__head-art {
  display:block;
  width:100%;
  height:auto;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 7px 5px rgba(38,38,43,.22));
  transition:transform .22s var(--ease-spring),filter .22s ease;
}
.word-quest-lever:hover:not(:disabled) .word-quest-lever__head-art {
  filter:drop-shadow(0 10px 7px rgba(38,38,43,.3));
  transform:scale(1.045);
}
.word-quest-lever.is-pulling .word-quest-lever__head-art { transform:scale(1.025); }

.play-game-screen.app-shell-game-page .word-garden-toggle {
  width:min(330px,38vw);
  min-height:86px;
  padding:2px 0 8px;
  grid-template-columns:100px minmax(0,1fr);
  grid-template-rows:auto 7px;
  gap:5px 12px;
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i {
  width:98px;
  height:82px;
  grid-row:1 / 3;
}
.play-game-screen.app-shell-game-page .word-garden-toggle>i::before,
.play-game-screen.app-shell-game-page .word-garden-toggle>i::after,
.play-game-screen.app-shell-game-page .word-garden-toggle>i>span { display:none; }
.play-game-screen.app-shell-game-page .word-garden-toggle>i>img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 7px 5px rgba(38,38,43,.25));
  transform-origin:50% 75%;
  transition:transform .3s var(--ease-spring),filter .3s ease;
}
.play-game-screen.app-shell-game-page .word-garden-toggle:hover>i>img {
  filter:drop-shadow(0 11px 7px rgba(38,38,43,.32));
  transform:translateY(-4px) rotate(-2deg) scale(1.055);
}
.play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font-size:17px; }
.play-game-screen.app-shell-game-page .word-garden-toggle>span small { font-size:9px; }

@media (max-width:900px) {
  .play-game-screen .word-slot { padding:26px 34px; }
  .word-quest-lever__arm { width:86%; }
  .play-game-screen.app-shell-game-page .word-garden-toggle { width:min(270px,45vw); min-height:70px; grid-template-columns:76px minmax(0,1fr); }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i { width:74px; height:66px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font-size:13px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span small { font-size:7px; }
}

@media (max-width:560px) {
  .play-game-screen .word-slot { padding:20px 22px; }
  .play-game-screen .word-slot__cabinet-art { top:-16%; right:-5%; bottom:-3%; left:-5%; width:110%; height:119%; }
  .play-game-screen.app-shell-game-page .word-garden-toggle { width:48vw; min-height:62px; grid-template-columns:58px minmax(0,1fr); gap:4px 7px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i { width:56px; height:54px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font-size:10px; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span small { font-size:6px; }
  .word-quest-lever__cue { right:0; width:88px; }
  .word-quest-lever__cue strong { right:6px; font-size:10px; }
}

@media (prefers-reduced-motion:reduce) {
  .word-quest-lever__head-art,
  .play-game-screen.app-shell-game-page .word-garden-toggle>i>img { transition:none; }
}

/* Active Word Quest steps: one fixed left-side chapter title and one lime gesture. */
.play-game-screen .word-quest[data-word-quest-phase="research"] {
  position:fixed;
  z-index:2;
  top:var(--word-quest-shell-top,154px);
  right:0;
  bottom:0;
  left:0;
  width:100%;
  height:auto;
  min-height:0;
  overflow:hidden;
  overscroll-behavior:none;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage { height:100%; }
.play-game-screen .word-quest[data-word-quest-phase="research"] :is(.word-quest__board,.word-quest__arena) {
  height:100%;
  min-height:0;
}
.play-game-screen.app-shell-game-page:has(.word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"])) .word-garden-toggle {
  display:none;
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label {
  position:fixed;
  z-index:20;
  top:calc(var(--word-quest-shell-top,154px) + 18px);
  right:auto;
  left:clamp(34px,4vw,64px);
  display:block;
  width:auto;
  max-width:48vw;
  color:var(--soft);
  text-align:left;
  transform:none;
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong {
  position:relative;
  display:block;
  max-width:none;
  padding:0 0 14px;
  overflow:visible;
  color:var(--soft);
  font:800 clamp(32px,2.65vw,50px)/.9 var(--font-display);
  letter-spacing:-.055em;
  text-align:left;
  text-overflow:clip;
  text-transform:uppercase;
  white-space:nowrap;
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong::after {
  position:absolute;
  right:8%;
  bottom:0;
  left:0;
  display:block;
  height:8px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1.5deg);
}

/* The chosen word sits above every active timer; only the time belongs inside. */
.word-quest-continuation-stage>.word-quest-research__timer-stage>.word-quest__timer-word {
  position:absolute;
  z-index:4;
  top:0;
  left:50%;
  display:block;
  width:150%;
  overflow:hidden;
  color:var(--soft);
  font:800 clamp(42px,4.1vw,72px)/.9 var(--font-display);
  letter-spacing:-.07em;
  text-align:center;
  text-overflow:ellipsis;
  text-shadow:0 6px 0 rgba(38,38,43,.18);
  white-space:nowrap;
  transform:translateX(-50%);
}

@media (max-width:1100px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) { overflow:visible; }
  .word-quest-continuation-stage {
    position:fixed;
    inset:0;
    width:100%;
    height:100dvh;
    min-height:100dvh;
    padding:145px 18px 140px;
    grid-template-columns:1fr;
    grid-template-areas:"timer" "prop" "details";
    gap:55px;
    overflow-x:hidden;
    overflow-y:auto;
  }
  .word-quest-continuation-stage>.word-quest-research__timer-stage {
    width:min(78vw,390px);
    height:min(112vw,500px);
    justify-self:center;
  }
  .word-quest-outline__plan { width:min(78vw,315px); }
  .word-quest-present__set { width:min(80vw,330px); }
  .word-quest-continuation__details { width:min(100%,580px); justify-self:center; }
}

@media (max-width:900px) {
  .play-game-screen .word-quest[data-word-quest-phase="research"] {
    top:var(--word-quest-shell-top,112px);
    bottom:0;
    height:auto;
  }
  .word-quest-research-stage {
    position:absolute;
    inset:0;
    height:100%;
    min-height:0;
    overflow:hidden;
  }
  .play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label {
    top:calc(var(--word-quest-shell-top,112px) + 18px);
    left:18px;
    max-width:calc(100vw - 36px);
  }
  .play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label strong {
    max-width:calc(100vw - 36px);
    font-size:clamp(25px,7vw,38px);
    text-align:left;
    white-space:normal;
  }
}

@media (max-width:900px) and (max-height:760px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label {
    top:calc(var(--word-quest-shell-top,112px) + 10px);
  }
  .word-quest-research-stage {
    padding:72px 14px 82px;
    grid-template-rows:minmax(172px,auto) auto;
    gap:12px 10px;
  }
  .word-quest-research__timer-stage { width:min(35vw,210px); height:min(48vw,260px); }
  .word-quest-research__source { width:min(40vw,230px); }
  .word-quest-research__details { gap:7px; }
  .word-quest-research__question h2 { margin-top:7px; font-size:clamp(23px,6.4vw,34px); }
  .word-quest-research__fact { min-height:54px; }
  .word-quest-research__fact-copy strong { font-size:clamp(22px,6.3vw,30px); }
}

/* Word Quest Part 3 · professional cabinet edge and Research Safari hierarchy. */
.play-game-screen .word-slot__cabinet-art {
  filter:drop-shadow(0 22px 0 rgba(23,23,28,.9)) drop-shadow(0 34px 28px rgba(25,14,58,.3));
}

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label {
  top:calc(var(--word-quest-shell-top,154px) + 12px);
  left:clamp(24px,2.4vw,44px);
  max-width:320px;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label span,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label span {
  display:block;
  margin-bottom:7px;
  color:var(--acid);
  font:900 11px/1 var(--font-body);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong {
  padding-bottom:11px;
  font-size:clamp(28px,2.1vw,40px);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong::after { height:6px; }

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
  width:min(1840px,calc(100vw - 72px));
  height:100%;
  padding:76px 0 clamp(108px,12vh,126px);
  grid-template-columns:minmax(310px,.88fr) minmax(320px,.9fr) minmax(430px,1.22fr);
  grid-template-rows:auto minmax(0,1fr);
  grid-template-areas:"word word word" "timer source details";
  gap:16px clamp(28px,3vw,60px);
  align-items:center;
}

.word-quest-research__word {
  grid-area:word;
  display:flex;
  min-width:0;
  align-items:baseline;
  justify-content:center;
  gap:16px;
  color:var(--soft);
  text-align:center;
}
.word-quest-research__word small {
  color:var(--acid);
  font:900 11px/1 var(--font-body);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.word-quest-research__word strong {
  max-width:62vw;
  overflow:hidden;
  color:var(--acid);
  font:800 clamp(70px,6.4vw,116px)/.78 var(--font-display);
  letter-spacing:-.075em;
  text-overflow:ellipsis;
  text-shadow:0 8px 0 var(--graphite),0 18px 26px rgba(38,38,43,.22);
  text-transform:lowercase;
  white-space:nowrap;
}

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__timer-stage {
  grid-area:timer;
  width:min(39vw,410px);
  height:min(51vh,470px);
  padding:0;
  justify-self:end;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__timer-object,
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero {
  inset:0;
  width:100%;
  height:100%;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__timer-stage>.word-quest__timer-word { display:none; }
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero>div { top:53%; width:72%; }
.play-game-screen .word-quest__board--research .word-quest-research__timer-stage .word-quest__timer--hero strong { font-size:clamp(76px,6vw,118px); }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__pause {
  bottom:2%;
  max-width:84%;
  color:var(--soft);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__pause:disabled { opacity:.82; }

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source {
  grid-area:source;
  width:min(36vw,390px);
  align-self:center;
  justify-self:center;
  transform:rotate(-2deg) translateY(-18px);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source:hover { transform:rotate(-.5deg) translateY(-26px); }
.word-quest-research__source[aria-disabled="true"] { pointer-events:none; opacity:.72; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source-cue {
  right:50%;
  bottom:-62px;
  display:grid;
  width:min(310px,90%);
  min-height:88px;
  padding:13px 52px 13px 18px;
  border:3px solid var(--graphite);
  border-radius:22px 29px 21px 26px;
  background:var(--acid);
  color:var(--graphite);
  gap:3px;
  box-shadow:none;
  transform:translateX(50%) rotate(1deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source-cue small {
  font:900 9px/1 var(--font-body);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source-cue strong { font:800 24px/.95 var(--font-display); }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source-cue em { font:750 10px/1.2 var(--font-body); font-style:normal; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source-cue b {
  position:absolute;
  top:50%;
  right:14px;
  display:grid;
  width:36px;
  height:36px;
  border:2px solid var(--graphite);
  border-radius:50%;
  background:var(--soft);
  place-items:center;
  font:900 21px/1 var(--font-display);
  transform:translateY(-50%);
}

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__details {
  position:relative;
  right:auto;
  bottom:auto;
  left:auto;
  grid-area:details;
  display:grid;
  width:100%;
  max-width:610px;
  min-height:0;
  padding:18px;
  border:3px solid var(--graphite);
  border-radius:32px 42px 30px 38px;
  background:var(--soft);
  color:var(--graphite);
  grid-template-columns:1fr;
  grid-template-areas:"question" "heading" "facts" "next";
  gap:10px;
  box-shadow:none;
  transform:rotate(.3deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__question {
  padding:16px 18px 17px;
  border-radius:20px 27px 19px 24px;
  background:var(--violet);
  color:var(--soft);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__question>small { color:var(--acid); font-size:10px; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__question h2 {
  max-width:none;
  margin:7px 0 0;
  color:var(--soft);
  font-size:clamp(25px,1.8vw,34px);
  line-height:.96;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__question p {
  max-width:520px;
  margin:9px 0 0;
  color:rgba(243,243,243,.82);
  font:700 11px/1.3 var(--font-body);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__trail-heading {
  padding:2px 6px 0;
  color:var(--violet);
  font-size:10px;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact {
  min-height:116px;
  padding:15px 58px 15px 72px;
  border:3px solid var(--graphite);
  border-radius:20px 27px 19px 24px;
  background:var(--acid);
  color:var(--graphite);
  box-shadow:0 6px 0 var(--graphite);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact:hover { transform:translateY(-3px) rotate(-.25deg); }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact-number {
  position:absolute;
  left:16px;
  display:grid;
  width:42px;
  height:42px;
  border:2px solid var(--graphite);
  border-radius:50%;
  background:var(--soft);
  place-items:center;
  font:900 15px/1 var(--font-display);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact-copy::after { display:none; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact-copy strong {
  max-width:none;
  color:var(--graphite);
  font-size:clamp(22px,1.65vw,31px);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact-copy small {
  display:block;
  max-width:430px;
  margin-top:7px;
  color:#394139;
  font:750 11px/1.28 var(--font-body);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact>b {
  right:13px;
  bottom:50%;
  width:38px;
  height:38px;
  border:2px solid var(--graphite);
  background:var(--soft);
  font-size:22px;
  transform:translateY(50%) rotate(-5deg);
}

@media (max-width:1180px) {
  .play-game-screen .word-quest[data-word-quest-phase="research"] { overflow:auto; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
    position:relative;
    width:calc(100vw - 36px);
    height:auto;
    min-height:100%;
    padding:92px 0 150px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto auto;
    grid-template-areas:"word word" "timer source" "details details";
    gap:34px 24px;
    overflow:visible;
  }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__timer-stage { justify-self:center; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__details { max-width:760px; justify-self:center; }
}

@media (max-width:700px) {
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label { top:calc(var(--word-quest-shell-top,112px) + 10px); left:14px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label strong { font-size:25px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
    grid-template-columns:1fr;
    grid-template-areas:"word" "timer" "source" "details";
    padding:116px 14px 140px;
  }
  .word-quest-research__word { flex-direction:column; align-items:center; gap:8px; }
  .word-quest-research__word strong { max-width:92vw; font-size:clamp(58px,19vw,86px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__timer-stage { width:min(88vw,390px); height:min(108vw,450px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__source { width:min(84vw,370px); margin-bottom:62px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__details { border-radius:25px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research__fact { padding-left:64px; }
}

/* Cabinet registration · live reels sit inside the generated chassis opening. */
.play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-slot {
  --slot-row-height:clamp(120px,15.6vh,170px);
  padding:clamp(78px,8.6vh,94px) clamp(170px,10.9vw,214px) clamp(126px,15vh,158px);
}
.play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-slot__window-frame,
.play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-slot__window {
  border-radius:clamp(35px,3.35vw,64px);
}

@media (max-width:900px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-slot {
    --slot-row-height:clamp(72px,12vh,105px);
    padding:clamp(38px,6.5vh,52px) clamp(58px,12vw,78px) clamp(66px,11.5vh,86px);
  }
}

/* Continuous cabinet marquee · even bulbs around the complete inner outline. */
.play-game-screen .word-slot__bulbs--top,
.play-game-screen .word-slot__bulbs--bottom { right:24px; left:24px; }
.play-game-screen .word-slot__bulbs--left,
.play-game-screen .word-slot__bulbs--right { top:28px; bottom:28px; }
.play-game-screen .word-slot__bulbs i { visibility:visible; }
.play-game-screen .word-slot__bulbs i {
  width:18px;
  height:18px;
  border-width:4px;
  box-shadow:0 3px 0 rgba(52,32,82,.24),0 0 11px color-mix(in srgb,currentColor 74%,transparent),inset 0 3px 0 rgba(255,255,255,.42);
}
.play-game-screen .word-slot__bulbs--top { top:-9px; }
.play-game-screen .word-slot__bulbs--bottom { bottom:-9px; }
.play-game-screen .word-slot__bulbs--left { left:-9px; }
.play-game-screen .word-slot__bulbs--right { right:-9px; }

@media (max-width:900px) {
  .play-game-screen .word-slot__bulbs--top,
  .play-game-screen .word-slot__bulbs--bottom { right:14px; left:14px; }
  .play-game-screen .word-slot__bulbs--left,
  .play-game-screen .word-slot__bulbs--right { top:16px; bottom:16px; }
  .play-game-screen .word-slot__bulbs i { width:12px; height:12px; border-width:3px; }
  .play-game-screen .word-slot__bulbs--top { top:-6px; }
  .play-game-screen .word-slot__bulbs--bottom { bottom:-6px; }
  .play-game-screen .word-slot__bulbs--left { left:-6px; }
  .play-game-screen .word-slot__bulbs--right { right:-6px; }
}

/* One mathematical path: bulbs follow the rounded screen outline with equal spacing. */
.play-game-screen .word-slot__bulbs--perimeter {
  position:absolute;
  z-index:6;
  inset:0;
  display:block;
  pointer-events:none;
}
.play-game-screen .word-slot__bulbs--perimeter i {
  position:absolute;
  top:0;
  left:0;
  width:24px;
  height:24px;
  border:2px solid #524760;
  background:radial-gradient(circle at 32% 24%,#ffffff 0 5%,#fff4ce 8%,currentColor 31%,color-mix(in srgb,currentColor 60%,#342052) 72%,#352c43 100%);
  box-shadow:inset 0 2px 2px #fff9,inset -2px -3px 3px #34205299,0 3px 0 #352c43,0 5px 2px #23172f88,0 0 12px currentColor;
  animation:word-quest-bulb-glow 2.6s ease-in-out calc(var(--bulb-index) * -.16s) infinite;
  offset-path:inset(0 round clamp(35px,3.35vw,64px));
  offset-distance:calc(var(--bulb-position) / var(--bulb-count) * 100%);
  offset-rotate:0deg;
  offset-anchor:50% 50%;
}
.play-game-screen .word-slot__bulbs--perimeter i::after {
  position:absolute;
  top:12%;
  left:18%;
  width:30%;
  height:16%;
  border-radius:50%;
  background:#fff9;
  transform:rotate(-35deg);
  content:"";
}
@keyframes word-quest-bulb-glow { 0%,100% { filter:brightness(.85); } 50% { filter:brightness(1.18); } }

@media (max-width:900px) {
  .play-game-screen .word-slot__bulbs--perimeter i {
    width:16px;
    height:16px;
    border-width:1px;
    offset-path:inset(0 round clamp(28px,7vw,42px));
  }
}

/* Research Safari Part 3 · one immersive expedition, never dashboard UI. */
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest__stage-label { display:none; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
  isolation:isolate;
  position:relative;
  display:grid;
  width:100%;
  max-width:none;
  height:100%;
  padding:clamp(22px,3vh,34px) clamp(34px,4vw,76px) clamp(112px,13vh,138px);
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 22%,rgba(246,204,36,.2) 0 7%,transparent 7.2%),
    linear-gradient(164deg,transparent 0 63%,rgba(74,42,137,.35) 63.2% 64%,transparent 64.2%),
    linear-gradient(180deg,#9267ea 0%,#825ad7 58%,#583798 100%);
  color:var(--soft);
  grid-template-columns:minmax(270px,.72fr) minmax(440px,1.18fr) minmax(390px,1.1fr);
  grid-template-rows:auto auto minmax(245px,1fr) 128px;
  grid-template-areas:
    "header header header"
    "guide question timer"
    "guide clue timer"
    "trail trail next";
  gap:10px clamp(24px,3vw,58px);
  align-items:center;
}
.word-quest-expedition__sun {
  position:absolute;
  z-index:-2;
  top:5%;
  right:14%;
  width:clamp(170px,17vw,330px);
  aspect-ratio:1;
  border-radius:50%;
  background:rgba(246,204,36,.2);
  box-shadow:0 0 0 36px rgba(246,204,36,.05),0 0 0 74px rgba(246,204,36,.035);
}
.word-quest-expedition__canopy {
  position:absolute;
  z-index:-1;
  width:clamp(210px,23vw,430px);
  height:66%;
  pointer-events:none;
}
.word-quest-expedition__canopy::before,
.word-quest-expedition__canopy::after {
  position:absolute;
  width:58%;
  height:34%;
  border-radius:80% 12% 75% 18%;
  background:#442677;
  content:"";
  filter:drop-shadow(0 18px 0 rgba(34,19,63,.22));
}
.word-quest-expedition__canopy--left { bottom:-8%; left:-6%; transform:rotate(10deg); }
.word-quest-expedition__canopy--left::before { bottom:27%; left:0; transform:rotate(22deg); }
.word-quest-expedition__canopy--left::after { bottom:0; left:21%; transform:rotate(-13deg) scale(1.15); }
.word-quest-expedition__canopy--right { top:19%; right:-10%; transform:scaleX(-1) rotate(-8deg); }
.word-quest-expedition__canopy--right::before { top:2%; left:0; transform:rotate(26deg); }
.word-quest-expedition__canopy--right::after { top:31%; left:18%; transform:rotate(-12deg) scale(1.18); }

.word-quest-expedition__header {
  grid-area:header;
  display:grid;
  min-width:0;
  width:66%;
  align-items:start;
  justify-content:start;
  gap:8px;
  padding-bottom:3px;
}
.word-quest-expedition__header span {
  display:flex;
  color:var(--soft);
  font:900 clamp(12px,1vw,17px)/1 var(--font-body);
  letter-spacing:.14em;
  align-items:center;
  gap:13px;
  text-transform:uppercase;
}
.word-quest-expedition__header span b {
  color:var(--soft);
  font:inherit;
}
.word-quest-expedition__header span i {
  position:relative;
  padding:9px 17px 8px;
  border:0;
  border-radius:28px 36px 25px 33px / 22px 28px 24px 29px;
  background:#e84d9a;
  background-image:linear-gradient(180deg,#ff8bc6 0 18%,#e84d9a 34% 100%);
  color:#fff;
  font:900 clamp(11px,.85vw,15px)/1 var(--font-body);
  font-style:normal;
  letter-spacing:.08em;
  text-shadow:0 2px 0 rgba(120,27,78,.5);
  box-shadow:0 6px 0 #9f2b69,0 10px 0 #342052,0 14px 16px rgba(52,32,82,.22),inset 0 3px 0 rgba(255,255,255,.48);
  transform:rotate(-2deg);
}
.word-quest-expedition__header strong {
  max-width:61vw;
  overflow:hidden;
  color:var(--acid);
  font:800 clamp(86px,9vw,164px)/.7 var(--font-display);
  letter-spacing:-.075em;
  text-overflow:ellipsis;
  text-align:left;
  text-shadow:0 10px 0 #342052;
  text-transform:lowercase;
  white-space:nowrap;
}
.word-quest-expedition__question {
  grid-area:question;
  align-self:center;
  max-width:820px;
  text-align:left;
}
.word-quest-expedition__question small {
  display:block;
  margin-bottom:8px;
  color:#f6cc24;
  font:900 11px/1 var(--font-body);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.word-quest-expedition__question h2 {
  margin:0;
  color:var(--soft);
  font:800 clamp(32px,3vw,57px)/.94 var(--font-display);
  letter-spacing:-.05em;
}
.word-quest-expedition__question h2 em { position:relative; color:var(--soft); font-style:normal; }
.word-quest-expedition__question h2 em::after {
  position:absolute;
  right:-2px;
  bottom:-7px;
  left:-2px;
  height:6px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1deg);
}

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide {
  grid-area:guide;
  position:relative;
  width:min(25vw,430px);
  align-self:center;
  justify-self:center;
  color:inherit;
  text-decoration:none;
  transform:rotate(-3deg);
  transition:transform .28s var(--ease-spring),filter .28s ease;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide:hover,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide:focus-visible {
  filter:drop-shadow(0 16px 12px rgba(33,18,62,.32));
  outline:none;
  transform:translateY(-10px) rotate(-1deg) scale(1.035);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide .word-quest-research__source-object {
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 20px 0 rgba(50,31,80,.28));
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide .word-quest-research__source-cue {
  position:absolute;
  right:auto;
  bottom:-76px;
  left:50%;
  display:flex;
  width:min(310px,94%);
  min-height:78px;
  text-decoration:none;
  transform:translateX(-50%) rotate(1deg);
}
.word-quest-expedition__field-guide .word-quest-research__source-cue small { display:block; color:var(--acid); font:900 10px/1 var(--font-body); letter-spacing:.15em; text-transform:uppercase; }
.word-quest-expedition__field-guide .word-quest-research__source-cue em { display:block; margin-top:4px; color:rgba(243,243,243,.78); font:700 10px/1.25 var(--font-body); font-style:normal; }

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer {
  grid-area:timer;
  width:100%;
  height:100%;
  max-width:590px;
  max-height:690px;
  align-self:center;
  justify-self:center;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer .word-quest-research__pause { bottom:-2%; }

.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next {
  grid-area:next;
  display:flex;
  width:min(100%,310px);
  min-height:72px;
  padding:15px 58px 15px 21px;
  border:3px solid var(--graphite);
  border-radius:48% 42% 51% 45%;
  background:var(--acid);
  color:var(--graphite);
  align-items:center;
  justify-content:center;
  justify-self:end;
  box-shadow:0 7px 0 var(--graphite);
  transform:rotate(-1deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next:disabled { visibility:hidden; }
.word-quest-expedition__next strong { font:900 15px/1.05 var(--font-body); }
.word-quest-expedition__next>b { position:absolute; right:13px; display:grid; width:35px; height:35px; border:2px solid var(--graphite); border-radius:50%; background:var(--soft); place-items:center; font-size:22px; }

@media (max-width:1180px) {
  .play-game-screen .word-quest[data-word-quest-phase="research"] { overflow:auto; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
    min-height:1180px;
    padding:28px 24px 150px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto auto auto 130px;
    grid-template-areas:"header header" "question question" "guide timer" "clue clue" "trail next";
    gap:28px 22px;
    overflow:hidden;
  }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide { width:min(44vw,390px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer { width:min(42vw,370px); height:min(52vw,430px); }
  .word-quest-expedition__question { justify-self:center; text-align:center; }
}
@media (max-width:700px) {
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
    min-height:1480px;
    padding:24px 16px 130px;
    grid-template-columns:1fr;
    grid-template-rows:auto auto 300px 360px auto 150px auto;
    grid-template-areas:"header" "question" "guide" "timer" "clue" "trail" "next";
    gap:24px;
  }
  .word-quest-expedition__header { display:grid; gap:13px; }
  .word-quest-expedition__header strong { max-width:94vw; font-size:clamp(54px,18vw,82px); }
  .word-quest-expedition__question h2 { font-size:clamp(30px,9vw,43px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide { width:min(85vw,360px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer { width:min(82vw,350px); height:min(100vw,410px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next { justify-self:center; }
}
/* Research Safari refinement · one question, no clue UI. */
.play-game-screen .word-quest[data-word-quest-phase="research"] {
  top:0;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
  padding-top:0;
  grid-template-columns:minmax(300px,.72fr) minmax(460px,1fr) minmax(560px,1.42fr);
  grid-template-rows:minmax(170px,auto) minmax(230px,1fr) minmax(250px,310px);
  grid-template-areas:
    "header header timer"
    "question question timer"
    "next guide timer";
  gap:0 clamp(22px,2.3vw,44px);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__header {
  width:100%;
  align-self:start;
  padding-top:0;
  transform:translateY(28px);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__header span {
  margin-left:8px;
  transform:translateY(4px);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__header strong {
  max-width:62vw;
  margin-top:clamp(20px,2.6vh,30px);
  overflow:visible;
  font-size:clamp(116px,11.2vw,210px);
  line-height:.67;
  text-shadow:0 12px 0 #342052;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question {
  align-self:start;
  max-width:760px;
  padding:0;
  text-align:left;
  transform:translateY(95px);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question small {
  color:#f6cc24;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question h2,
.play-game-screen .word-garden--cinematic .word-garden__welcome-question h3 {
  position:relative;
  color:var(--soft);
  font:800 clamp(40px,3.5vw,64px)/.9 var(--font-display);
  letter-spacing:-.05em;
  text-shadow:0 7px 0 #342052;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question h2 em { color:inherit; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question h2 em::after { display:none; }
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question h2::after,
.play-game-screen .word-garden--cinematic .word-garden__welcome-question h3::after {
  display:block;
  width:min(88%,650px);
  height:8px;
  margin-top:18px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question p {
  max-width:620px;
  margin:18px 0 0;
  color:rgba(243,243,243,.78);
  font:750 clamp(12px,.9vw,16px)/1.35 var(--font-body);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide {
  align-self:end;
  width:min(20vw,350px);
  transform:translate(105px,-84px) rotate(-3deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide:hover,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide:focus-visible {
  transform:translate(105px,-94px) rotate(-1deg) scale(1.035);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer {
  width:min(37vw,700px);
  height:min(74vh,730px);
  max-width:none;
  max-height:none;
  align-self:center;
  justify-self:center;
  margin-right:0;
  transform:translate(-10px,68px) scale(.93);
  transform-origin:65% 50%;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer .word-quest-research__timer-object,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer .word-quest__timer--hero {
  object-fit:contain;
}
.play-game-screen .word-quest .word-quest__selection-actions .word-quest-expedition__step-action,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next.word-quest-expedition__step-action,
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action.word-quest-expedition__step-action,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__next.word-quest-expedition__step-action {
  position:relative;
  display:flex;
  width:min(100%,370px);
  min-height:82px;
  padding:0 104px 0 24px;
  border:0;
  border-radius:34px 43px 31px 39px / 28px 34px 30px 35px;
  background:var(--step-action-fill);
  background-image:linear-gradient(180deg,var(--step-action-top) 0 18%,var(--step-action-fill) 35% 100%);
  color:#fff;
  cursor:pointer;
  overflow:visible;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 8px 0 var(--step-action-side),0 13px 0 #342052,0 20px 22px rgba(52,32,82,.25),inset 0 4px 0 rgba(255,255,255,.46);
  transition:transform .2s var(--ease-spring),filter .2s ease,box-shadow .2s ease;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__book-cue {
  position:absolute;
  top:calc(100% + 18px);
  left:0;
  display:block;
  width:100%;
  padding:6px 0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--soft);
  text-align:center;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__book-cue strong {
  font:900 clamp(21px,1.5vw,28px)/1.1 var(--font-display);
  text-shadow:0 3px 0 #342052;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__book-cue svg {
  position:absolute;
  right:-58px;
  bottom:0;
  display:block;
  width:126px;
  height:126px;
  overflow:visible;
  pointer-events:none;
  fill:none;
  stroke:var(--acid);
  stroke-width:6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next.word-quest-expedition__step-action--explain {
  --step-action-top:#ff8bc6;
  --step-action-fill:#e84d9a;
  --step-action-side:#9f2b69;
  width:min(100%,390px);
  border-radius:42px 34px 39px 31px / 33px 28px 36px 30px;
  transform:rotate(-1deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__next.word-quest-expedition__step-action--outline {
  --step-action-top:#ff8bc6;
  --step-action-fill:#e84d9a;
  --step-action-side:#9f2b69;
  width:min(100%,390px);
  transform:rotate(-1deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next:hover,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next:focus-visible {
  filter:brightness(1.05);
  outline:4px solid rgba(255,255,255,.82);
  outline-offset:5px;
  box-shadow:0 11px 0 var(--step-action-side),0 16px 0 #342052,0 25px 28px rgba(52,32,82,.3),inset 0 4px 0 rgba(255,255,255,.5);
  transform:translateY(-4px) rotate(.4deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide:hover .word-quest-expedition__step-action,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide:focus-visible .word-quest-expedition__step-action {
  filter:brightness(1.05);
  outline:4px solid rgba(255,255,255,.82);
  outline-offset:5px;
  box-shadow:0 11px 0 var(--step-action-side),0 16px 0 #342052,0 25px 28px rgba(52,32,82,.3),inset 0 4px 0 rgba(255,255,255,.5);
  transform:translateX(-50%) translateY(-4px) rotate(1.5deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next:active {
  box-shadow:0 3px 0 var(--step-action-side),0 7px 0 #342052,0 12px 14px rgba(52,32,82,.22),inset 0 3px 0 rgba(255,255,255,.38);
  transform:translateY(5px) rotate(-.3deg);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide:active .word-quest-expedition__step-action {
  box-shadow:0 3px 0 var(--step-action-side),0 7px 0 #342052,0 12px 14px rgba(52,32,82,.22),inset 0 3px 0 rgba(255,255,255,.38);
  transform:translateX(-50%) translateY(5px) rotate(.5deg);
}
.play-game-screen .word-quest .word-quest__selection-actions .word-quest-expedition__step-action strong,
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__step-action strong,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-expedition__step-action strong {
  position:relative;
  z-index:2;
  color:#fff;
  font:900 clamp(17px,1.15vw,22px)/1 var(--font-body);
  letter-spacing:.045em;
  text-shadow:0 3px 0 rgba(93,27,64,.42);
  text-transform:uppercase;
  white-space:nowrap;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__step-action>b,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-expedition__step-action>b {
  position:absolute;
  z-index:2;
  top:50%;
  right:18px;
  display:block;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
  font:900 29px/1 var(--font-display);
  text-shadow:0 3px 0 rgba(93,27,64,.42);
  box-shadow:none;
  transform:translateY(-50%);
}
.play-game-screen .word-quest .word-quest-expedition__action-art {
  position:absolute;
  z-index:4;
  top:50%;
  right:-53px;
  display:block;
  width:clamp(122px,8.4vw,158px);
  height:auto;
  pointer-events:none;
  filter:drop-shadow(0 12px 8px rgba(52,32,82,.3));
  transform:translateY(-52%) rotate(7deg);
  transform-origin:50% 55%;
}
.play-game-screen .word-quest .word-quest-expedition__action-art--explain {
  right:-58px;
  width:clamp(132px,9vw,170px);
  transform:translateY(-51%) rotate(-3deg);
}

/* The discovery modal uses the exact step capsule, with violet and lime variations. */
.play-game-screen .word-quest .word-quest__selection-actions .word-quest-expedition__step-action {
  --step-action-top:#bd9cff;
  --step-action-fill:#9267ea;
  --step-action-side:#5b3598;
  width:100%;
  min-height:78px;
  padding:18px 24px;
  transform:rotate(-1deg);
}
.play-game-screen .word-quest .word-quest__selection-actions .word-quest__selection-again {
  --step-action-top:#d8ff67;
  --step-action-fill:#b0ee0b;
  --step-action-side:#709b08;
  transform:rotate(1deg);
}
.play-game-screen .word-quest .word-quest__selection-actions .word-quest__selection-again strong {
  color:var(--graphite);
  text-shadow:0 2px 0 rgba(255,255,255,.3);
}
.play-game-screen .word-quest .word-quest__selection-actions .word-quest-expedition__step-action:hover,
.play-game-screen .word-quest .word-quest__selection-actions .word-quest-expedition__step-action:focus-visible {
  filter:brightness(1.06);
  outline:4px solid #fff;
  outline-offset:5px;
  transform:translateY(-4px);
}
.play-game-screen .word-quest .word-quest__selection-actions .word-quest-expedition__step-action:active {
  box-shadow:0 3px 0 var(--step-action-side),0 7px 0 #342052,inset 0 3px 0 rgba(255,255,255,.38);
  transform:translateY(5px);
}

/* Word Quest Steps 2 + 3 · the same cinematic composition as Research Safari, with no blob characters. */
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-present__guidance {
  margin:22px 0 0;
  color:var(--soft);
  font:750 clamp(16px,1.1vw,20px)/1.35 var(--font-body);
}
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-present__ready {
  position:absolute;
  z-index:3;
  bottom:32%;
  left:50%;
  width:62%;
  margin:0;
  color:var(--violet);
  font:850 clamp(14px,1vw,19px)/1.2 var(--font-body);
  text-align:center;
  transform:translateX(-50%);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"])::before,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"])::after,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest__stage-label { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline-stage {
  isolation:isolate;
  position:absolute;
  inset:0;
  display:grid;
  width:100%;
  max-width:none;
  height:100dvh;
  margin:0;
  padding:clamp(22px,3vh,34px) clamp(34px,4vw,76px) clamp(112px,13vh,138px);
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 22%,rgba(246,204,36,.2) 0 7%,transparent 7.2%),
    linear-gradient(164deg,transparent 0 63%,rgba(74,42,137,.35) 63.2% 64%,transparent 64.2%),
    linear-gradient(180deg,#9267ea 0%,#825ad7 58%,#583798 100%);
  grid-template-columns:minmax(300px,.72fr) minmax(460px,1fr) minmax(560px,1.42fr);
  grid-template-rows:minmax(170px,auto) minmax(360px,1fr) 128px;
  grid-template-areas:
    "header header timer"
    "prompt prompt timer"
    "next next timer";
  gap:0 clamp(22px,2.3vw,44px);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__header {
  grid-area:header;
  width:100%;
  align-self:start;
  padding-top:0;
  transform:translateY(28px);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__header span {
  margin-left:8px;
  transform:translateY(4px);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__header strong {
  max-width:62vw;
  margin-top:clamp(20px,2.6vh,30px);
  overflow:visible;
  font-size:clamp(116px,11.2vw,210px);
  line-height:.67;
  text-shadow:0 12px 0 #342052;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt {
  grid-area:prompt;
  align-self:start;
  width:100%;
  max-width:1040px;
  padding:0;
  text-align:left;
  transform:translateY(74px);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt h2 {
  position:relative;
  margin:0;
  color:var(--soft);
  font:800 clamp(40px,3.5vw,64px)/.9 var(--font-display);
  letter-spacing:-.05em;
  text-shadow:0 7px 0 #342052;
  text-transform:none;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt h2::after {
  display:block;
  width:min(88%,650px);
  height:8px;
  margin-top:18px;
  border-radius:50%;
  background:var(--acid);
  content:"";
  transform:rotate(-1deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt ol {
  display:flex;
  width:min(100%,940px);
  max-width:none;
  margin:46px auto 0;
  padding:0;
  justify-content:center;
  align-items:center;
  gap:clamp(20px,2.1vw,40px);
  list-style:none;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li {
  --cue-paper:var(--pink);
  --cue-edge:#c963a3;
  position:relative;
  display:grid;
  width:clamp(214px,14.5vw,264px);
  min-width:0;
  min-height:138px;
  padding:31px 25px 20px 29px;
  overflow:visible;
  align-content:center;
  gap:5px;
  border:3px solid rgba(255,255,255,.34);
  border-radius:34px 27px 39px 30px / 29px 38px 27px 36px;
  background:
    radial-gradient(circle at 23% 14%,rgba(255,255,255,.58) 0 8%,transparent 25%),
    linear-gradient(153deg,rgba(255,255,255,.2) 0 24%,transparent 45%),
    var(--cue-paper);
  color:var(--graphite);
  text-align:left;
  box-shadow:
    0 9px 0 var(--cue-edge),
    0 16px 0 rgba(52,32,82,.23),
    0 23px 24px rgba(52,32,82,.24),
    inset 0 5px 0 rgba(255,255,255,.38),
    inset 0 -7px 12px rgba(96,45,97,.12);
  transform:rotate(-3deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li::before {
  position:absolute;
  top:8px;
  left:50%;
  width:72px;
  height:15px;
  border-radius:9px 7px 10px 8px;
  background:rgba(255,244,213,.78);
  box-shadow:0 2px 4px rgba(52,32,82,.14),inset 0 2px 0 rgba(255,255,255,.5);
  content:"";
  transform:translateX(-50%) rotate(-2deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li:nth-child(2) {
  --cue-paper:var(--coral);
  --cue-edge:#bd5047;
  border-radius:29px 38px 28px 35px / 37px 28px 36px 29px;
  transform:translateY(14px) rotate(2deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li:nth-child(3) {
  --cue-paper:var(--sun);
  --cue-edge:#c59619;
  border-radius:38px 29px 34px 27px / 28px 36px 30px 39px;
  transform:rotate(-1.5deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li b {
  position:absolute;
  z-index:3;
  top:-32px;
  right:4px;
  color:var(--acid);
  font:900 clamp(58px,4vw,80px)/.82 var(--font-display);
  letter-spacing:-.055em;
  text-shadow:0 9px 0 #342052,0 16px 18px rgba(52,32,82,.3);
  transform:rotate(5deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li:nth-child(2) b { transform:rotate(-4deg); }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li:nth-child(3) b { transform:rotate(3deg); }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li strong {
  color:var(--graphite);
  font:800 clamp(25px,1.8vw,34px)/1 var(--font-display);
  letter-spacing:-.035em;
  text-transform:none;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt li small {
  color:rgba(38,38,43,.72);
  font:800 clamp(11px,.78vw,14px)/1.18 var(--font-body);
  letter-spacing:.01em;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer {
  grid-area:timer;
  width:min(37vw,700px);
  height:min(74vh,730px);
  max-width:none;
  max-height:none;
  padding:0;
  align-self:center;
  justify-self:center;
  transform:translate(-10px,68px) scale(.93);
  transform-origin:65% 50%;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer>.word-quest__timer-word { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest-research__timer-object,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest-research__timer-object { z-index:1; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero { z-index:2; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero::before,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero>svg { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero>div {
  position:absolute;
  top:53%;
  left:50%;
  display:grid;
  width:72%;
  place-items:center;
  transform:translate(-50%,-50%);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero small,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero i,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero span { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest__timer--hero strong {
  margin:0;
  color:var(--graphite);
  font:800 clamp(76px,6vw,118px)/.82 var(--font-display);
  letter-spacing:-.08em;
  text-shadow:none;
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer .word-quest-research__pause,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest-research__pause {
  position:absolute;
  top:67%;
  bottom:auto;
  left:50%;
  display:grid;
  width:76px;
  height:76px;
  min-width:76px;
  min-height:76px;
  padding:0;
  place-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translate(-50%,-50%);
}
.play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer .word-quest-research__pause i,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer .word-quest-research__pause i {
  display:block;
  width:auto;
  height:auto;
  background:transparent;
  color:var(--acid);
  font:900 50px/1 var(--font-display);
  text-shadow:0 5px 0 #342052,0 9px 10px rgba(52,32,82,.24);
  transform:none;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__next {
  grid-area:next;
  align-self:center;
  justify-self:center;
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__next:hover,
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__next:focus-visible {
  filter:brightness(1.06);
  outline:4px solid rgba(255,255,255,.82);
  outline-offset:5px;
  box-shadow:0 11px 0 var(--step-action-side),0 16px 0 #342052,0 25px 28px rgba(52,32,82,.3),inset 0 4px 0 rgba(255,255,255,.5);
  transform:translateY(-4px) rotate(.4deg);
}
.play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__next:active {
  box-shadow:0 3px 0 var(--step-action-side),0 7px 0 #342052,0 12px 14px rgba(52,32,82,.22),inset 0 3px 0 rgba(255,255,255,.38);
  transform:translateY(5px) rotate(-.3deg);
}

.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-present-stage.word-quest-outline-stage {
  position:fixed;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}

@media (min-width:1181px) and (max-width:1550px) {
  .play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-present-stage {
    grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
    grid-template-areas:"header timer" "prompt timer" "next timer";
  }
}

@media (max-width:1180px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) { overflow:auto; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline-stage {
    min-height:1160px;
    padding:0 22px 150px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto 1fr auto;
    grid-template-areas:"header timer" "prompt timer" "next next";
    gap:24px;
  }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__header { transform:translateY(-12px); }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__header strong { max-width:54vw; font-size:clamp(94px,14vw,150px); }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt { transform:none; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt ol { flex-wrap:wrap; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer { width:min(58vw,610px); height:780px; margin-right:-70px; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__next { justify-self:center; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
    min-height:1160px;
    padding:0 22px 150px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto 420px auto;
    grid-template-areas:"header timer" "question timer" "guide timer" "next next";
    gap:24px;
  }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__header { transform:translateY(-12px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__header strong { max-width:54vw; font-size:clamp(94px,14vw,150px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question { text-align:left; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer { width:min(58vw,610px); height:780px; margin-right:-70px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide { width:min(48vw,430px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__next { justify-self:center; }
}
@media (max-width:700px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline-stage {
    min-height:1540px;
    padding:0 16px 130px;
    grid-template-columns:1fr;
    grid-template-rows:auto auto 520px auto;
    grid-template-areas:"header" "prompt" "timer" "next";
    gap:28px;
  }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__header { transform:translateY(-8px); }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__header strong { max-width:96vw; font-size:clamp(86px,27vw,132px); }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt h2 { font-size:clamp(38px,12vw,58px); }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__prompt ol { display:grid; gap:14px; }
  .play-game-screen .word-quest:is([data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-outline__timer { width:min(112vw,520px); height:520px; margin-right:0; justify-self:center; transform:scale(1.05); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-research-stage {
    min-height:1460px;
    padding:0 16px 130px;
    grid-template-columns:1fr;
    grid-template-rows:auto auto 340px 480px auto;
    grid-template-areas:"header" "question" "guide" "timer" "next";
    gap:28px;
  }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__header { transform:translateY(-8px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__header strong { max-width:96vw; font-size:clamp(86px,27vw,132px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__question h2 { font-size:clamp(38px,12vw,58px); }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__field-guide { width:min(90vw,410px); justify-self:center; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__book-cue svg { right:0; width:100px; height:100px; }
  .play-game-screen .word-quest[data-word-quest-phase="research"] .word-quest-expedition__timer { width:min(112vw,520px); height:520px; margin-right:0; justify-self:center; transform:scale(1.05); }
}

/* Word Quest — one approved confidence master across all three steps.
   These game-only components never alter the shared app shell. */
.play-game-screen .word-quest .word-quest-scene {
  position:fixed;
  inset:0;
  z-index:1;
  display:flex;
  padding:0 0 108px;
  align-items:center;
  justify-content:center;
  overflow:auto;
  overscroll-behavior:contain;
  background:radial-gradient(ellipse at 28% 88%,#935cf0 0%,#794ddd 45%,#6940c6 100%);
}
.word-quest-confidence__canvas {
  container-type:inline-size;
  position:relative;
  flex:none;
  width:min(100vw,calc((100dvh - 108px) * 1672 / 941));
  aspect-ratio:1672 / 941;
  isolation:isolate;
}
.play-game-screen .word-quest .word-quest-confidence__header.word-quest-expedition__header {
  position:absolute;
  top:7%;
  left:4%;
  width:auto;
  margin:0;
  padding:0;
  transform:none;
}
.play-game-screen .word-quest .word-quest-confidence__header.word-quest-expedition__header span {
  margin:0;
  transform:none;
  font:900 1.45cqw/1.15 var(--font-display);
  letter-spacing:-.02em;
  gap:1.1cqw;
}
.play-game-screen .word-quest .word-quest-confidence__header.word-quest-expedition__header span i {
  padding:.8cqw 1.4cqw;
  font-size:1.5cqw;
  letter-spacing:.015em;
  white-space:nowrap;
  transform:none;
}
.word-quest-confidence__word {
  position:absolute;
  top:17%;
  left:3.5%;
  width:49%;
  margin:0;
  color:var(--acid);
  font:900 calc(12.5cqw * var(--confidence-word-fit))/.82 var(--font-display);
  letter-spacing:-.065em;
  text-transform:lowercase;
  white-space:nowrap;
  text-shadow:0 -1px 0 #dcff85,0 2px 0 #8cbc08,0 4px 0 #63860a,0 7px 0 #342052,0 11px 0 #342052,0 15px 0 #342052,0 22px 16px rgba(41,18,78,.38);
}
.word-quest-confidence__copy {
  position:absolute;
  top:38%;
  left:4%;
  width:32%;
  color:var(--soft);
}
.word-quest-confidence__copy h2 {
  margin:0 0 1.35cqw;
  font:850 4.25cqw/1.05 var(--font-display);
  letter-spacing:-.055em;
  color:inherit;
}
.word-quest-confidence__copy p {
  margin:0;
  font:650 1.4cqw/1.5 var(--font-body);
  letter-spacing:-.025em;
  color:inherit;
}
.word-quest-confidence__explorer {
  position:absolute;
  z-index:2;
  top:33%;
  left:27%;
  width:29%;
  height:65%;
  max-width:none;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 12px 7px rgba(38,21,66,.2));
}
.word-quest-scene__timer {
  container-type:inline-size;
  position:absolute;
  top:1.5%;
  left:53.5%;
  width:45.5%;
  height:auto;
  aspect-ratio:1182 / 1331;
}
.word-quest-scene__timer>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 15px 10px rgba(35,15,70,.28));
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer>.word-quest__timer-word,
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest__timer--hero>svg,
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest__timer--hero::before { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest__timer--hero {
  position:absolute;
  z-index:1;
  pointer-events:none;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  animation:none;
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest__timer--hero>div {
  position:absolute;
  top:56%;
  left:49.6%;
  width:80%;
  transform:translate(-50%,-50%);
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer [data-word-quest-time] {
  display:block;
  margin:0;
  color:var(--graphite);
  font:900 22cqw/.85 var(--font-display);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.075em;
  text-align:center;
  text-shadow:0 3px 0 #15121c,0 7px 4px rgba(38,25,20,.2);
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause {
  position:absolute;
  z-index:3;
  top:68%;
  left:49.6%;
  bottom:auto;
  display:block;
  width:13.5%;
  height:10%;
  min-width:44px;
  min-height:44px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translateX(-50%);
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause i { display:none; }
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause::before,
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause::after {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:43%;
  border:2px solid #c7fc47;
  border-radius:.55cqw;
  background:linear-gradient(100deg,#b9f719,#a2d800);
  box-shadow:inset 2px 3px 1px #d7ff59,inset -2px -3px 0 #87b100,0 5px 0 #4a6106,0 10px 0 #342052,0 14px 7px rgba(38,28,25,.3);
  content:"";
}
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause::after { right:0; left:auto; }
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause.is-paused::before,
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause.is-paused::after { display:none; }
.word-quest-scene__timer .word-quest-timer__play { display:none; width:100%; height:100%; overflow:visible; pointer-events:none; filter:drop-shadow(0 5px 3px rgba(38,21,66,.25)); }
.word-quest-scene__timer .word-quest-research__pause::before,
.word-quest-scene__timer .word-quest-research__pause::after { pointer-events:none; }
.word-quest-scene__timer .is-paused .word-quest-timer__play { display:block; }
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause:hover { filter:brightness(1.08); transform:translate(-50%,-3px); }
.play-game-screen .word-quest:is([data-word-quest-phase="research"],[data-word-quest-phase="outline"],[data-word-quest-phase="present"]) .word-quest-scene__timer .word-quest-research__pause:focus-visible { outline:4px solid var(--violet); outline-offset:12px; }
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action.word-quest-expedition__step-action {
  --step-action-top:#ff8bc6;
  --step-action-fill:#e84d9a;
  --step-action-side:#9f2b69;
  position:absolute;
  top:62.5%;
  left:3.5%;
  width:24.5%;
  height:12.5%;
  min-height:0;
  padding:0 1.2cqw;
  border-radius:3.2cqw 3.6cqw 3.1cqw 3.5cqw / 3cqw 3.4cqw 2.8cqw 3.2cqw;
  transform:none;
}
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action strong {
  color:#fff;
  font:900 2.7cqw/1.05 var(--font-display);
  letter-spacing:-.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 #8c285d;
}
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action:hover { filter:brightness(1.07); transform:translateY(-3px); }
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action:active { transform:translateY(5px); box-shadow:0 3px 0 #9f2b69,0 7px 0 #342052; }
.play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action:focus-visible { outline:4px solid white; outline-offset:7px; }
@media (max-width:700px) {
  .play-game-screen .word-quest .word-quest-scene { display:block; padding:0 0 130px; }
  .word-quest-confidence__canvas { width:100%; min-height:760px; aspect-ratio:auto; }
  .play-game-screen .word-quest .word-quest-confidence__header.word-quest-expedition__header { top:30px; left:6%; right:6%; }
  .play-game-screen .word-quest .word-quest-confidence__header.word-quest-expedition__header span { font-size:12px; gap:12px; flex-wrap:wrap; }
  .play-game-screen .word-quest .word-quest-confidence__header.word-quest-expedition__header span i { padding:9px 14px; font-size:12px; }
  .word-quest-confidence__word { top:108px; left:6%; width:88%; font-size:calc(23cqw * var(--confidence-word-fit)); }
  .word-quest-confidence__copy { top:217px; left:6%; width:88%; }
  .word-quest-confidence__copy h2 { margin-bottom:16px; font-size:40px; }
  .word-quest-confidence__copy p { width:88%; font-size:16px; }
  .word-quest-confidence__explorer { top:355px; left:1%; width:46%; height:290px; }
  .word-quest-scene__timer { top:375px; left:auto; right:2%; width:min(58%,240px); height:auto; }
  .play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action.word-quest-expedition__step-action { top:670px; left:10%; width:80%; height:64px; border-radius:35px 40px 32px 37px; }
  .play-game-screen .word-quest[data-word-quest-phase="present"] .word-quest-confidence__action strong { font-size:30px; }
}

/* Research and notes keep their own activities on the same scene canvas. */
.play-game-screen .word-quest .word-quest-scene__timer .word-quest__timer--hero :is(small,i,span) { display:none; }
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__question,
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt {
  position:absolute;
  top:38%;
  left:4%;
  width:47%;
  max-width:none;
  padding:0;
  transform:none;
  text-align:left;
}
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__question h2,
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt h2,
.play-game-screen .word-garden--cinematic .word-garden__welcome-question h3 { font-size:3.6cqw; }
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__question p { font-size:1.25cqw; }
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__field-guide {
  position:absolute;
  top:66%;
  left:33%;
  width:18%;
  transform:rotate(-3deg);
}
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__field-guide:hover,
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__field-guide:focus-visible { transform:translateY(-5px) rotate(-1deg); }
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__book-cue { bottom:-35px; }
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__book-cue strong { font-size:1.7cqw; }
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__book-cue svg { width:7cqw; height:7cqw; }
.play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__next.word-quest-expedition__step-action,
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__next.word-quest-expedition__step-action {
  position:absolute;
  top:76%;
  left:4%;
  width:27%;
  height:11%;
  min-height:0;
  margin:0;
  padding:0 1.2cqw 0 6cqw;
  transform:none;
}
.play-game-screen .word-quest .word-quest-scene:is(.word-quest-scene--research,.word-quest-scene--outline) .word-quest-expedition__step-action strong { font-size:1.65cqw; }
.play-game-screen .word-quest .word-quest-scene .word-quest-expedition__action-art { width:8cqw; height:10cqw; left:-1.6cqw; right:auto; }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt ol {
  width:100%;
  margin:4.4cqw 0 0;
  display:flex;
  flex-wrap:nowrap;
  gap:1.3cqw;
}
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li {
  flex:1;
  min-width:0;
  width:auto;
  min-height:17cqw;
  padding:2.4cqw 1.2cqw 1.2cqw;
  border:0;
  border-radius:1.3cqw 1.5cqw 2.4cqw 1.2cqw / 1.1cqw 1.4cqw 3cqw 1.6cqw;
  gap:1cqw;
  background:radial-gradient(ellipse at 25% 5%,#fffef6 0%,transparent 52%),linear-gradient(145deg,#ffe6ee,#ffcadc 70%,#efabc5);
  box-shadow:inset 0 3px 1px #fff9,inset -2px -4px 6px #c7719833,0 3px 0 #de9cb5,0 6px 0 #fde4eb,0 9px 0 #cf8ba4,0 16px 14px #34205255;
  transition:transform .22s ease,box-shadow .22s ease;
}
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li:nth-child(2) { background:radial-gradient(ellipse at 25% 5%,#fff9e8 0%,transparent 52%),linear-gradient(145deg,#ffe0be,#ffc8a2 70%,#eda784); }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li:nth-child(3) { background:radial-gradient(ellipse at 25% 5%,#fffef2 0%,transparent 52%),linear-gradient(145deg,#fff0b5,#ffe077 70%,#efcc61); }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li::before { display:none; }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li::after { position:absolute; bottom:0; right:0; width:2.6cqw; height:2.6cqw; border-radius:70% 0 70% 0; background:linear-gradient(135deg,#fff5 30%,#fffde8 53%,#dfb8a7 65%,transparent 68%); content:""; pointer-events:none; }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li:focus-within { transform:translateY(-8px) rotate(0deg); }
.word-quest-note label { display:grid; gap:.6cqw; cursor:text; }
.play-game-screen .word-quest .word-quest-note textarea {
  display:block;
  width:100%;
  min-width:0;
  height:7.3cqw;
  margin:0;
  padding:.45cqw 0;
  border:0;
  border-radius:0;
  background:repeating-linear-gradient(transparent 0 calc(1.9em - 1px),#9d658127 calc(1.9em - 1px) 1.9em);
  box-shadow:none;
  color:#49364f;
  font:650 1.45cqw/1.9 var(--font-body);
  resize:none;
  outline:none;
}
.word-quest-note textarea::placeholder { color:#6d4c66; opacity:.7; }
.play-game-screen .word-quest .word-quest-note textarea:focus-visible { outline:2px solid #8751aa; outline-offset:4px; border-radius:4px; }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li b { font-size:4.5cqw; top:-2.3cqw; right:.5cqw; text-shadow:0 -1px 0 #e4ff7d,0 2px 0 #90b709,0 5px 0 #608303,0 8px 0 #342052; }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li strong { font-size:2.1cqw; }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li small { font-size:1.05cqw; line-height:1.25; text-transform:none; margin:0; }
.play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__next.word-quest-expedition__step-action { top:88%; left:13%; width:29%; }
@media (max-width:700px) {
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-confidence__canvas { min-height:960px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-confidence__canvas { min-height:1440px; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__question,
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt { top:220px; left:6%; width:88%; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__question h2,
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt h2 { font-size:32px; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__question p { font-size:15px; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__field-guide { top:690px; left:53%; width:39%; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__book-cue strong { font-size:20px; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__book-cue svg { width:65px; height:65px; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-scene__timer { top:410px; left:50%; right:auto; width:min(70%,235px); height:auto; transform:translateX(-50%); }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-scene__timer { top:1000px; left:50%; right:auto; width:min(70%,235px); height:auto; transform:translateX(-50%); }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt ol { flex-direction:column; gap:35px; margin-top:40px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li { width:90%; min-height:190px; padding:24px 25px 20px; border-radius:18px 21px 35px 20px; gap:10px; }
  .play-game-screen .word-quest .word-quest-note textarea { height:90px; font-size:18px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li::after { width:32px; height:32px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li::before { width:64px; height:12px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li b { font-size:60px; top:-28px; right:5px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li strong { font-size:26px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__prompt li small { font-size:13px; }
  .play-game-screen .word-quest .word-quest-scene--research .word-quest-expedition__next.word-quest-expedition__step-action { top:850px; left:10%; width:80%; height:64px; padding:0 20px 0 80px; }
  .play-game-screen .word-quest .word-quest-scene--outline .word-quest-outline__next.word-quest-expedition__step-action { top:1320px; left:10%; width:80%; height:64px; padding:0 20px 0 80px; }
  .play-game-screen .word-quest .word-quest-scene:is(.word-quest-scene--research,.word-quest-scene--outline) .word-quest-expedition__step-action strong { font-size:22px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__action-art { width:90px; height:115px; left:-12px; right:auto; }
}

/* Word Quest completion: a transparent celebration over the finished scene. */
.word-quest-celebration {
  position:fixed;
  z-index:300;
  inset:0;
  display:grid;
  padding:56px 24px;
  overflow:auto;
  place-items:center;
  isolation:isolate;
  background:rgba(49,27,90,.72);
}
.word-quest-celebration__backdrop {
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
}
.word-quest-celebration__content {
  position:relative;
  z-index:2;
  display:grid;
  width:min(100%,1000px);
  gap:20px;
  justify-items:center;
  color:#fff;
  text-align:center;
  pointer-events:none;
}
.word-quest-celebration__content img { width:clamp(120px,18vh,190px); height:auto; }
.word-quest-celebration__content h2 { margin:0; font:900 clamp(36px,5vw,76px)/1 var(--font-display); letter-spacing:-.05em; }
.word-quest-celebration__word {
  max-width:100%;
  color:var(--acid);
  font:900 calc(clamp(58px,10vw,148px) * var(--celebration-word-fit))/.95 var(--font-display);
  letter-spacing:-.06em;
  text-shadow:0 6px 0 #342052;
}
.word-quest-celebration__content p { margin:6px 0 0; font:750 clamp(18px,2vw,28px)/1.3 var(--font-body); }
.word-quest-celebration__content>span { margin-top:15px; font:750 clamp(14px,1.4vw,19px)/1.4 var(--font-body); color:#f8d7eb; }
.word-quest-celebration__close,
.play-game-screen.app-shell-game-page .word-garden__close--sculpted {
  position:relative;
  z-index:3;
  display:grid;
  width:96px;
  height:96px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  place-items:center;
  background:radial-gradient(ellipse at 33% 15%,#ffc9e6 0%,#ff8bc6 20%,#eb56a0 47%,#d63883 100%);
  box-shadow:inset 0 4px 1px #ffdeef, inset -3px -5px 3px #c32a77,0 7px 0 #9f2b69,0 12px 0 #342052,0 17px 18px #27134055;
  color:#fff;
  font:800 74px/.8 var(--font-display);
  text-shadow:0 3px 0 #aa2c70;
  pointer-events:auto;
  cursor:pointer;
}
.word-quest-celebration__close:focus-visible { outline:3px solid var(--acid); outline-offset:4px; }
.word-quest-celebration__close:hover { filter:brightness(1.07); transform:translateY(-2px); }
.word-quest-celebration__close:active { transform:translateY(5px); }
.word-quest-celebration__party { position:fixed; z-index:1; inset:0; overflow:hidden; pointer-events:none; perspective:800px; }
.word-quest-celebration__popper { position:absolute; bottom:9%; left:2%; width:clamp(145px,22vw,330px); aspect-ratio:1; transform-style:preserve-3d; }
.word-quest-celebration__popper--right { left:auto; right:2%; transform:scaleX(-1); }
.word-quest-celebration__popper img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 12px 7px #21113877); transform-origin:25% 80%; animation:word-quest-popper-recoil .65s .35s both; }
.word-quest-celebration__confetti { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
@keyframes word-quest-popper-recoil {
  0% { transform:translateY(60px) rotate(12deg) scale(.8); opacity:0; }
  30% { transform:translateY(0) rotate(0) scale(1); opacity:1; }
  48% { transform:translate(-9px,12px) rotate(-8deg) scale(.94); opacity:1; }
  100% { transform:translateY(0) rotate(0) scale(1); opacity:1; }
}
@media (max-width:700px) {
  .word-quest-celebration__popper { left:-5%; bottom:5%; width:135px; }
  .word-quest-celebration__popper--right { left:auto; right:-5%; }
}
@media (max-height:600px) {
  .word-quest-celebration { padding:36px 24px; }
  .word-quest-celebration__content { gap:12px; }
  .word-quest-celebration__content img { width:90px; }
}
@media (prefers-reduced-motion:reduce) {
  .word-quest-celebration__confetti { display:none; }
  .word-quest-celebration__popper img,
  .play-game-screen .word-slot__bulbs--perimeter i { animation:none; }
  .play-game-screen .word-quest .word-quest-note { transition:none; }
}

/* Word Garden welcome: approved living-book scene, exact game typography. */
.play-game-screen.app-shell-game-page .word-garden--cinematic { inset:0; padding-bottom:108px; scroll-padding-top:24px; }
.word-garden__welcome {
  display:flex;
  min-height:100dvh;
  padding:0 0 108px;
  align-items:center;
  justify-content:center;
  background:radial-gradient(ellipse at 28% 88%,#935cf0 0%,#794ddd 45%,#6940c6 100%);
}
.word-garden__canvas {
  container-type:inline-size;
  position:relative;
  flex:none;
  width:min(100vw,calc((100dvh - 108px) * 1672 / 941));
  aspect-ratio:1672 / 941;
  isolation:isolate;
}
.word-garden__welcome-label { position:absolute; top:9%; left:4%; color:var(--soft); font:900 1.8cqw/1.15 var(--font-display); text-transform:uppercase; }
.word-garden__welcome .word-quest-confidence__word { z-index:2; }
.word-garden__welcome-question { position:absolute; top:40%; left:4%; width:43%; z-index:2; }
.word-garden__welcome-question h3 { margin:0; }
.word-garden__welcome-count { position:absolute; top:62%; left:4%; display:grid; gap:.35cqw; color:var(--soft); }
.word-garden__welcome-count strong { font:900 4.6cqw/.95 var(--font-display); letter-spacing:-.04em; }
.word-garden__welcome-count small { font:inherit; }
.word-garden__welcome-count span { font:800 1.8cqw/1.3 var(--font-body); }
.word-garden__living-book { position:absolute; z-index:1; top:4%; left:40%; width:60%; height:93%; object-fit:contain; pointer-events:none; filter:drop-shadow(0 15px 8px #34205244); }
.play-game-screen .word-garden .word-garden__explore {
  position:absolute;
  z-index:2;
  top:82%; left:4%; width:33%; height:11%;
  display:grid;
  margin:0;
  padding:0 1.2cqw;
  place-items:center;
  border:0;
  border-radius:3.2cqw 3.6cqw 3.1cqw 3.5cqw / 3cqw 3.4cqw 2.8cqw 3.2cqw;
  background:#e84d9a linear-gradient(180deg,#ff8bc6 0%,#e84d9a 32%,#e84d9a 100%);
  box-shadow:0 8px 0 #9f2b69,0 13px 0 #342052,0 18px 22px #34205244,inset 0 4px 0 #ffffff88;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease;
}
.word-garden__explore strong { color:#fff; font:900 2cqw/1.1 var(--font-display); letter-spacing:-.035em; text-transform:uppercase; text-shadow:0 3px 0 #8c285d; }
.play-game-screen .word-garden .word-garden__explore:hover { filter:brightness(1.07); transform:translateY(-3px); }
.play-game-screen .word-garden .word-garden__explore:active { transform:translateY(5px); box-shadow:0 3px 0 #9f2b69,0 7px 0 #342052; }
.play-game-screen.app-shell-game-page .word-garden__close--sculpted { position:fixed; z-index:6; top:22px; right:24px; left:auto; width:64px; height:64px; font-size:50px; }
.play-game-screen.app-shell-game-page .word-garden__close--sculpted span { display:block; }
.play-game-screen.app-shell-game-page .word-garden__close--sculpted:hover { filter:brightness(1.07); transform:translateY(-2px); box-shadow:inset 0 4px 1px #ffdeef,inset -3px -5px 3px #c32a77,0 7px 0 #9f2b69,0 12px 0 #342052; }
.play-game-screen.app-shell-game-page .word-garden__close--sculpted:active { transform:translateY(5px); }
.word-garden__explore:focus-visible,
.play-game-screen.app-shell-game-page .word-garden__close--sculpted:focus-visible { outline:3px solid white; outline-offset:6px; }
@media (max-width:700px) {
  .word-garden__welcome { min-height:0; padding-bottom:60px; }
  .word-garden__canvas { width:100%; min-height:1050px; aspect-ratio:auto; }
  .word-garden__welcome-label { top:62px; left:6%; font-size:18px; }
  .word-garden__welcome .word-quest-confidence__word { top:117px; font-size:min(23cqw,120px); }
  .word-garden__welcome-question { top:250px; left:6%; width:88%; }
  .play-game-screen .word-garden--cinematic .word-garden__welcome-question h3 { font-size:32px; }
  .word-garden__welcome-count { top:380px; left:6%; gap:5px; }
  .word-garden__welcome-count strong { font-size:44px; }
  .word-garden__welcome-count span { font-size:18px; }
  .word-garden__living-book { top:485px; left:2%; width:96%; height:380px; }
  .play-game-screen .word-garden .word-garden__explore { top:895px; left:8%; width:84%; height:66px; border-radius:32px 36px 31px 35px; }
  .word-garden__explore strong { font-size:23px; }
  .play-game-screen.app-shell-game-page .word-garden__close--sculpted { top:18px; right:18px; width:50px; height:50px; font-size:40px; }
}
@media (prefers-reduced-motion:reduce) { .word-garden__explore { transition:none; } }

/* The category garden shares the welcome's sculpted pill and keyword type. */
.play-game-screen .word-garden .word-garden__explore--categories {
  position:relative;
  top:auto;
  left:auto;
  width:max-content;
  max-width:100%;
  min-height:60px;
  height:auto;
  padding:18px 30px;
  border-radius:32px 36px 31px 35px;
}
.word-garden__explore--categories strong { font-size:clamp(17px,1.5vw,22px); }
.word-garden__category-title {
  position:relative;
  top:auto;
  left:auto;
  width:auto;
  margin:40px 0 32px;
  color:#583398;
  font:850 clamp(36px,5.5vw,76px)/1.04 var(--font-display);
  letter-spacing:-.04em;
  text-transform:none;
  text-shadow:0 2px 0 #fff5e2;
  white-space:normal;
  text-wrap:balance;
}
.word-garden__category-title:focus { outline:none; }
.word-garden__category-title::after { display:block; width:min(100%,460px); height:7px; margin-top:16px; border-radius:50%; background:var(--acid); content:""; transform:rotate(-1deg); }
.word-garden__swipe-cue { display:flex; align-items:center; justify-content:center; gap:18px; margin:24px auto 10px; color:#583398; text-align:center; }
.word-garden__swipe-cue span { max-width:220px; font:850 clamp(16px,2vw,20px)/1.2 var(--font-display); }
.play-game-screen .word-garden__swipe-cue button { display:grid; place-items:center; flex:none; width:54px; height:50px; padding:12px; border:0; border-radius:24px; background:linear-gradient(#a882ee,#7950cc 45%); color:var(--acid); box-shadow:inset 0 3px 0 #d2b8ff,0 5px 0 #513181; cursor:pointer; }
.word-garden__swipe-cue button svg { width:28px; height:24px; fill:none; stroke:currentColor; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; }
.play-game-screen .word-garden__swipe-cue button:active { transform:translateY(4px); box-shadow:inset 0 3px 0 #d2b8ff,0 1px 0 #513181; }
.play-game-screen .word-garden__swipe-cue button:focus-visible { outline:3px solid #583398; outline-offset:7px; }
.word-garden__explore--categories:focus-visible { outline-color:#342052; }
.play-game-screen .word-garden__filters button:focus-visible { outline:3px solid #342052; outline-offset:4px; }

.play-game-screen .word-garden__filters button.is-active::before { background:#7950cc; box-shadow:0 6px 0 #513181; }
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active>span strong,
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active>span small { color:#fff; }
.play-game-screen.app-shell-game-page .word-garden__filters button.is-active .word-garden__category-art::after { background:#7950cc; }

/* Word Garden discoveries: category-owned colours and soft sculpted word tiles. */
.word-garden [data-word-tone="pink"] { --word-fill:#fdc8e9; --word-highlight:#ffe9f6; --word-side:#c36c9f; --word-ink:#342052; }
.word-garden [data-word-tone="lime"] { --word-fill:#b0ee0b; --word-highlight:#dfff83; --word-side:#789c18; --word-ink:#263514; }
.word-garden [data-word-tone="sun"] { --word-fill:#f6cc24; --word-highlight:#ffec91; --word-side:#bc9116; --word-ink:#403017; }
.word-garden [data-word-tone="aqua"] { --word-fill:#79dbcc; --word-highlight:#b6fff3; --word-side:#389c90; --word-ink:#183d3c; }
.word-garden [data-word-tone="coral"] { --word-fill:#fd7666; --word-highlight:#ffb9a8; --word-side:#bf514c; --word-ink:#472127; }
.word-garden [data-word-tone="violet"] { --word-fill:#9267ea; --word-highlight:#c2a2ff; --word-side:#6441a6; --word-ink:#200f2e; }
.word-garden [data-word-tone="emerald"] { --word-fill:#29bd7f; --word-highlight:#84e4b5; --word-side:#168050; --word-ink:#123a29; }
.word-garden [data-word-tone="plum"] { --word-fill:#65409e; --word-highlight:#7951a5; --word-side:#412465; --word-ink:#fff; }
.word-garden [data-word-tone="teal"] { --word-fill:#48b5a2; --word-highlight:#82d7c7; --word-side:#258572; --word-ink:#123a33; }
.word-garden [data-word-tone="ochre"] { --word-fill:#d9a34a; --word-highlight:#f5cd87; --word-side:#9f7130; --word-ink:#3e2a17; }
.word-garden [data-word-tone="rose"] { --word-fill:#e978a4; --word-highlight:#ffb2d1; --word-side:#b84a78; --word-ink:#46152b; }
.word-garden [data-word-tone="peach"] { --word-fill:#ffb59b; --word-highlight:#ffdfce; --word-side:#cc8164; --word-ink:#48231d; }
.word-garden [data-word-tone="orchid"] { --word-fill:#bf78dc; --word-highlight:#e6b3f6; --word-side:#8947a7; --word-ink:#351347; }
.word-garden [data-word-tone="lemon"] { --word-fill:#f4ed8a; --word-highlight:#fff9c7; --word-side:#b4ac46; --word-ink:#3d3914; }
.word-garden [data-word-tone="lavender"] { --word-fill:#c3adf4; --word-highlight:#e8dbff; --word-side:#9172c2; --word-ink:#342052; }
.word-garden [data-word-tone="raspberry"] { --word-fill:#a92e69; --word-highlight:#b8427e; --word-side:#771b46; --word-ink:#fff; }
.word-garden [data-word-tone="apricot"] { --word-fill:#f59442; --word-highlight:#ffc685; --word-side:#b96629; --word-ink:#462610; }
.word-garden [data-word-tone="sage"] { --word-fill:#bcdf9f; --word-highlight:#e1f4c9; --word-side:#85a86d; --word-ink:#293b20; }
.word-garden [data-word-tone="sea-glass"] { --word-fill:#c0ece5; --word-highlight:#e7fff8; --word-side:#8abdb2; --word-ink:#1c403c; }
.word-garden [data-word-tone="mauve"] { --word-fill:#ddacd0; --word-highlight:#f4dcec; --word-side:#aa789d; --word-ink:#47233d; }
.play-game-screen .word-garden__collection { width:min(1500px,calc(100% - 64px)); padding:54px 0 100px; }
.play-game-screen .word-garden__collection>header { align-items:center; margin-bottom:40px; }
.play-game-screen .word-garden__collection>header strong { color:#583398; font-size:clamp(34px,4vw,60px); line-height:1; text-transform:none; letter-spacing:-.045em; }
.play-game-screen .word-garden__collection>header p { color:#685977; line-height:1.4; }
.word-garden__words { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:30px 24px; }
.play-game-screen .word-garden__word-tile {
  position:relative;
  display:flex;
  min-width:0;
  min-height:244px;
  padding:20px 24px 22px;
  flex-direction:column;
  align-items:stretch;
  border:0;
  border-radius:34px 39px 33px 37px;
  background:linear-gradient(155deg,var(--word-highlight),var(--word-fill) 46%);
  box-shadow:inset 0 4px 0 #ffffff99,0 7px 0 var(--word-side),0 12px 0 #34205222,0 18px 22px #34205212;
  color:var(--word-ink);
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease;
}
.word-garden__tile-category { display:flex; height:68px; align-items:center; justify-content:space-between; gap:12px; font:900 12px/1.2 var(--font-display); letter-spacing:.06em; text-transform:uppercase; }
.word-garden__tile-category img { width:68px; height:68px; object-fit:contain; filter:drop-shadow(0 5px 3px #34205222); }
.word-garden__tile-word { display:flex; width:100%; height:64px; align-items:center; }
.word-garden__tile-word strong { --word-max:42; --word-min:18; margin:0; font:900 42px/1.1 var(--font-display); letter-spacing:-.045em; white-space:nowrap; text-transform:none; text-shadow:0 2px 0 #ffffff33; }
.word-garden__tile-date { margin-top:8px; font:750 12px/1.3 var(--font-body); }
.word-garden__tile-open { display:flex; margin-top:20px; align-items:center; justify-content:space-between; gap:12px; font:900 14px/1.2 var(--font-display); }
.word-garden__tile-open svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.play-game-screen .word-garden__word-tile:hover { transform:translateY(-4px); filter:brightness(1.035); }
.play-game-screen .word-garden__word-tile:active { transform:translateY(5px); box-shadow:inset 0 4px 0 #ffffff99,0 2px 0 var(--word-side),0 5px 0 #34205222; }
.play-game-screen .word-garden__word-tile:focus-visible { outline:3px solid #583398; outline-offset:7px; }
.word-garden__empty--cinematic>img { width:100%; height:auto; }
.word-garden__empty--cinematic button { border-radius:30px 34px 29px 32px; background:linear-gradient(#ff8bc6,#e84d9a 40%); color:#fff; box-shadow:inset 0 3px 0 #ffffff88,0 6px 0 #9f2b69,0 10px 0 #342052; }

/* A real centered modal: native top layer, focus containment and light paper. */
.word-garden__definition-modal {
  position:fixed;
  inset:0;
  width:min(900px,calc(100% - 48px));
  max-width:none;
  max-height:calc(100dvh - 48px);
  margin:auto;
  padding:26px 48px 34px;
  overflow:auto;
  overscroll-behavior:contain;
  border:0;
  border-radius:38px 44px 36px 42px;
  background:#fff8eb;
  box-shadow:inset 0 5px 0 #fff,0 10px 0 #dfcdb1,0 18px 0 #34205255,0 30px 80px #24123944;
  color:#342052;
}
.word-garden__definition-modal::backdrop { background:#34205299; backdrop-filter:blur(6px); }
.word-garden__definition-modal[open] { animation:word-garden-modal-in .2s ease-out; }
.word-garden__definition-top { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:20px; }
.word-garden__definition-top>span { color:#68419e; font:900 15px/1.2 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }
.word-garden__definition-modal .word-garden__definition-close { flex:none; width:58px; height:58px; font-size:46px; }
.word-garden__definition-hero { display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:24px; margin:16px 0 20px; }
.word-garden__definition-hero>img { width:220px; height:220px; object-fit:contain; filter:drop-shadow(0 12px 7px #34205222); }
.word-garden__definition-word { display:flex; width:100%; height:106px; align-items:center; }
.word-garden__definition-word h3 { --word-max:88; --word-min:20; margin:0; color:#7950cc; font:900 88px/1.05 var(--font-display); letter-spacing:-.055em; white-space:nowrap; text-shadow:0 4px 0 #43296c; }
.word-garden__definition-say { display:flex; min-height:52px; margin:0 0 32px; padding:12px 22px; align-items:center; gap:12px; border:0; border-radius:28px 32px 27px 30px; background:linear-gradient(#ab87ed,#7950cc 40%); box-shadow:inset 0 3px 0 #d4bdff,0 5px 0 #513181,0 9px 0 #342052; color:#fff; font:900 17px/1.2 var(--font-display); cursor:pointer; }
.word-garden__definition-say svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.word-garden__definition-say:active { transform:translateY(4px); box-shadow:inset 0 3px 0 #d4bdff,0 1px 0 #513181,0 4px 0 #342052; }
.word-garden__definition-say:focus-visible,.word-garden__definition-close:focus-visible { outline:3px solid #7950cc; outline-offset:6px; }
.word-garden__definition-modal h4 { margin:0 0 12px; color:#7950cc; font:900 14px/1.2 var(--font-display); letter-spacing:.04em; }
.word-garden__definition-meaning p { margin:0; font:800 clamp(24px,2.7vw,32px)/1.22 var(--font-display); letter-spacing:-.03em; }
.word-garden__definition-question { margin-top:30px; padding-top:24px; border-top:5px solid var(--word-fill); }
.word-garden__definition-question p { margin:0; font:800 clamp(20px,2.2vw,26px)/1.25 var(--font-display); letter-spacing:-.025em; }
.word-garden__definition-modal footer { display:flex; margin-top:32px; justify-content:space-between; gap:16px; color:#705f7a; font:700 12px/1.4 var(--font-body); }
@keyframes word-garden-modal-in { from { opacity:0; scale:.96; } to { opacity:1; scale:1; } }
@media (max-width:700px) {
  .play-game-screen .word-garden__collection { width:calc(100% - 36px); padding:38px 0 90px; }
  .word-garden__words { grid-template-columns:1fr; gap:28px; }
  .play-game-screen .word-garden__word-tile { min-height:230px; padding:18px 24px 22px; }
  .word-garden__definition-modal { width:calc(100% - 28px); max-height:calc(100dvh - 36px); padding:20px 24px 28px; border-radius:28px 32px 26px 30px; }
  .word-garden__definition-hero { grid-template-columns:minmax(0,1fr); gap:12px; margin:18px 0; }
  .word-garden__definition-hero>img { display:block; width:min(180px,100%); height:180px; justify-self:center; }
  .word-garden__definition-word { height:80px; }
  .word-garden__definition-word h3 { --word-max:68; }
  .word-garden__definition-modal footer { flex-wrap:wrap; }
  .word-garden__empty--cinematic { grid-template-columns:1fr; text-align:center; }
  .word-garden__empty--cinematic>img { width:180px; margin:auto; }
}
@media (prefers-reduced-motion:reduce) {
  .word-garden__definition-modal[open] { animation:none; }
  .play-game-screen .word-garden__word-tile { transition:none; }
}

/* Phone cabinet: taller full-width chassis, with a press control below. */
.word-quest-mobile-start { display:none; }
@media (max-width:700px) {
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__arena { min-height:100dvh; padding:92px 0 100px; }
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-quest__stage-title-art { width:min(29vw,116px); height:auto; }
  .play-game-screen.app-shell-game-page .word-garden-toggle { top:12px; right:12px; left:auto; width:138px; min-height:0; padding:0; grid-template-columns:1fr; grid-template-rows:auto auto; justify-items:center; gap:5px; text-align:center; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>i { width:64px; height:58px; margin:0; grid-row:auto; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span { gap:0; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span strong { font-size:12px; line-height:1.1; }
  .play-game-screen.app-shell-game-page .word-garden-toggle>span small,
  .play-game-screen.app-shell-game-page .word-garden-toggle>u { display:none; }
  .play-game-screen .word-slot-wrap { min-height:0; display:flex; flex-direction:column; justify-content:flex-start; align-self:start; margin-top:0; gap:12px; }
  .play-game-screen .word-quest:is([data-word-quest-phase="ready"],[data-word-quest-phase="spinning"],[data-word-quest-phase="selected"]) .word-slot {
    container-type:inline-size;
    /* Reserve the game title, press control, its 3D depth and the locked nav. */
    --mobile-cabinet-height:max(220px,calc(100dvh - 284px));
    --slot-row-height:calc(var(--mobile-cabinet-height) * .179);
    width:100%;
    max-width:660px;
    height:var(--mobile-cabinet-height);
    aspect-ratio:auto;
    padding:0;
    transform:none;
  }
  .play-game-screen .word-slot__cabinet-art { inset:0; width:100%; height:100%; object-fit:fill; filter:drop-shadow(0 7px 0 #23192f) drop-shadow(0 15px 12px #34205255); }
  .play-game-screen .word-quest .word-slot .word-slot__window-frame { position:absolute; top:24.9%; left:18.6%; width:62.4%; height:53.7%; border-radius:5cqw; }
  .play-game-screen .word-quest .word-slot .word-slot__window { height:100%; border-radius:5cqw; box-shadow:inset 0 3px 6px #34205233,0 0 0 1px #342052; }
  .play-game-screen .word-slot__category { top:5%; left:50%; min-width:0; min-height:0; width:42%; height:15%; padding:0; font-size:clamp(15px,5cqw,27px); }
  .play-game-screen .word-slot__row { grid-template-columns:minmax(0,1fr); padding:0 12px; gap:0; }
  .play-game-screen .word-slot__marks { display:none; }
  .play-game-screen .word-slot__word { --word-min:13px; }
  .play-game-screen .word-slot__track--focus .word-slot__word { --word-min:15px; }
  .play-game-screen .word-slot__bulbs--perimeter i { width:clamp(8px,2.7vw,15px); height:clamp(8px,2.7vw,15px); offset-path:inset(0 round 5cqw); }
  .play-game-screen .word-quest-lever { display:none; }
  .play-game-screen .word-quest-mobile-start {
    position:relative;
    display:grid;
    place-items:center;
    width:min(86%,360px);
    min-height:64px;
    margin:0;
    padding:15px 20px;
    border:0;
    border-radius:34px 38px 33px 36px;
    background:linear-gradient(180deg,#ff8bc6,#e84d9a 35%);
    box-shadow:inset 0 4px 0 #ffffff88,0 8px 0 #9f2b69,0 13px 0 #342052,0 18px 20px #34205244;
    color:#fff;
    font:900 clamp(22px,6vw,28px)/1.1 var(--font-display);
    text-transform:uppercase;
    text-shadow:0 2px 0 #8c285d;
    touch-action:manipulation;
    cursor:pointer;
    transition:transform .12s ease,box-shadow .12s ease;
  }
  .play-game-screen .word-quest-mobile-start:active,
  .play-game-screen .word-quest-mobile-start:disabled { transform:translateY(8px); box-shadow:inset 0 3px 0 #ffffff66,0 2px 0 #9f2b69,0 5px 0 #342052; }
  .play-game-screen .word-quest-mobile-start:focus-visible { outline:3px solid #fff; outline-offset:6px; }
}
@media (prefers-reduced-motion:reduce) { .word-quest-mobile-start { transition:none; } }

/* Mobile-only reading order: each game object gets its own centered row. */
@media (max-width:700px) {
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__canvas {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:40px;
    width:100%;
    min-height:0;
    padding:32px 18px 52px;
    aspect-ratio:auto;
    text-align:center;
  }
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__header.word-quest-expedition__header { position:relative; inset:auto; width:100%; margin:0; order:0; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__header.word-quest-expedition__header span { justify-content:center; font-size:clamp(15px,3.8vw,20px); gap:16px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__header.word-quest-expedition__header span i { font-size:15px; padding:12px 18px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__word { position:relative; inset:auto; order:1; width:100%; margin:4px 0 10px; font-size:calc(min(28cqw,168px) * var(--confidence-word-fit)); text-align:center; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__question,
  .play-game-screen .word-quest .word-quest-scene .word-quest-outline__prompt,
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__copy { position:relative; inset:auto; order:2; width:100%; margin:0; text-align:center; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__question h2,
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__copy h2 { margin:0; font-size:clamp(34px,9.5vw,48px); line-height:1.04; text-align:center; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__copy p { width:100%; margin:24px 0 0; font-size:clamp(18px,5vw,24px); line-height:1.4; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-scene__timer { position:relative; inset:auto; order:3; width:min(100%,440px); height:auto; margin:0; transform:none; flex:none; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__field-guide { position:relative; inset:auto; order:4; align-self:center; width:min(88%,380px); margin:0 0 36px; aspect-ratio:auto; transform:none; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__field-guide .word-quest-research__source-object { position:relative; inset:auto; width:100%; height:auto; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__book-cue { position:relative; inset:auto; display:block; width:100%; margin-top:14px; transform:none; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__book-cue strong { font-size:28px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__book-cue svg { right:-8px; top:-62px; width:96px; height:96px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__explorer { position:relative; inset:auto; order:4; width:min(85%,360px); height:auto; margin:0; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__step-action:is(.word-quest-expedition__next,.word-quest-outline__next,.word-quest-confidence__action) { position:relative; inset:auto; order:5; width:min(94%,400px); min-height:80px; height:auto; margin:20px 0 10px; padding:18px 16px 18px 80px; transform:none; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-confidence__action.word-quest-expedition__step-action { padding:18px 24px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__step-action:is(.word-quest-expedition__next,.word-quest-outline__next,.word-quest-confidence__action) strong { font-size:clamp(20px,5.6vw,28px); line-height:1.15; white-space:normal; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-expedition__action-art { width:96px; height:120px; left:-10px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-outline__prompt ol { align-items:center; gap:48px; margin-top:54px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-outline__prompt li { width:min(96%,440px); min-height:240px; padding:32px 26px 24px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-outline__prompt li strong { font-size:32px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-outline__prompt li small { font-size:16px; }
  .play-game-screen .word-quest .word-quest-scene .word-quest-note textarea { height:112px; font-size:21px; }
}

/* CLASSES DISCOVERY · category filters and an open classroom directory. */
.class-browser { padding-top: 12px; }
.class-browser .class-browser__intro { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); align-items: center; gap: clamp(24px,3vw,44px); min-height: 360px; margin-bottom: 24px; padding: clamp(32px,4vw,56px); border-radius: 54px 68px 52px 62px; overflow: hidden; background: var(--kid-page-banner); color: var(--ink); }
.class-browser .class-browser__intro::before { position: absolute; z-index: -1; top: -260px; left: -130px; width: 520px; height: 520px; border: 2px solid #6846d61f; border-radius: 50%; box-shadow: 0 0 0 40px #ffffff26,0 0 0 86px #6846d608; content: ""; }
.class-browser .class-browser__hero-copy { position: relative; z-index: 2; min-width: 0; container-type: inline-size; }
/* Preserve the previous headline footprint while fitting the reference to its existing column. */
.class-browser .class-browser__intro h1 { display: flex; flex-direction: column; justify-content: center; min-height: calc(clamp(104px,10vw,144px) * .85 + 12px + clamp(34px,3.6vw,52px) * 1.58); margin: 0; font: 900 clamp(28px,13.5cqw,78px)/.79 var(--font-display); letter-spacing: -.075em; }
.class-browser .class-browser__hero-first { display: block; white-space: nowrap; }
.class-browser .class-browser__teacher-count { display: block; color: #6846d6; font-size: 1.75em; font-weight: 900; line-height: .85; letter-spacing: -.075em; }
.class-browser .class-browser__hero-title { display: block; width: fit-content; max-width: 100%; color: #6846d6; white-space: normal; }
.class-browser .class-browser__hero-copy > p { max-width: 33ch; margin: 20px 0 0; color: #3f472c; font-size: 16px; line-height: 1.5; }
.class-browser .class-browser__hero-teachers { position: relative; z-index: 1; align-self: stretch; min-width: 0; min-height: 280px; }
.class-browser .class-browser__hero-teachers::before { position: absolute; inset: 5% -4% -55%; border: 2px solid #6846d62b; border-radius: 50%; background: #ffffff38; content: ""; }
.class-browser .class-browser__hero-teacher { position: absolute; width: 76%; height: 440px; object-fit: contain; object-position: center top; }
.class-browser .class-browser__hero-teacher--maths { z-index: 1; top: -14px; left: -19%; }
.class-browser .class-browser__hero-teacher--french { z-index: 2; top: 8px; right: -16%; }
.class-browser .class-browser__hero-teacher--science { z-index: 3; top: 20px; left: 15%; }
.class-browser .class-browser__filters { display: flex; flex-wrap: wrap; gap: 10px; padding: 20px 0; border-top: 1px solid #eae7ee; border-bottom: 1px solid #eae7ee; }
.class-browser .class-browser__filters button { display: inline-flex; min-height: 50px; padding: 10px 17px; border: 1px solid #e4dfea; border-radius: 16px; background: white; color: var(--ink); align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 750; cursor: pointer; transition: background .16s ease,border-color .16s ease; }
.class-browser .class-browser__filters button:hover { background: #f6f2fd; border-color: var(--violet); }
.class-browser .class-browser__filters button[aria-pressed="true"] { border-color: #6840b8; background: #6840b8; color: white; }
.class-browser .class-browser__filters svg { flex: 0 0 20px; width: 20px; height: 20px; }
.class-browser .class-browser__filters small { display: grid; min-width: 25px; height: 25px; padding: 0 5px; border-radius: 8px; background: #f0edf5; color: #62596f; place-items: center; font-size: 11px; font-weight: 750; }
.class-browser .class-browser__filters [aria-pressed="true"] small { background: #563299; color: white; }
.class-browser .class-browser__result { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin: 29px 0 19px; }
.class-browser .class-browser__result h2 { margin: 0; font: 750 23px/1.2 var(--font-display); letter-spacing: -.025em; }
.class-browser .class-browser__result p { flex: 0 0 auto; margin: 0; color: var(--muted); font-size: 13px; font-weight: 600; }
.class-browser .class-browser__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.class-browser .class-discovery { position: relative; display: flex; min-width: 0; padding: 0; border: 1px solid #e9e5ed; border-radius: 25px; background: white; color: var(--ink); flex-direction: column; overflow: hidden; text-align: left; cursor: pointer; box-shadow: 0 3px 0 #26262b03; transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.class-browser .class-discovery[hidden] { display: none; }
.class-browser .class-discovery:hover { border-color: var(--class-accent); transform: translateY(-4px); box-shadow: 0 12px 28px #26262b0b; }
.class-browser .class-discovery:focus-visible,
.class-browser .class-browser__filters button:focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; }
.class-browser .class-discovery__art { position: relative; display: block; height: 208px; margin: 8px 8px 0; border-radius: 18px; background: var(--class-surface); overflow: hidden; }
.class-browser .class-discovery__art::before { position: absolute; width: 195px; height: 195px; right: -28px; bottom: -90px; border: 1px solid color-mix(in srgb,var(--class-accent) 28%,transparent); border-radius: 50%; content: ""; }
.class-browser .class-discovery__room { position: absolute; z-index: 2; top: 17px; left: 17px; color: #514958; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.class-browser .class-discovery__symbol { position: absolute; left: 8px; bottom: 18px; display: grid; width: 105px; height: 105px; color: var(--class-accent); opacity: .5; place-items: center; transform: rotate(-9deg); }
.class-browser .class-discovery__symbol .subject-glyph { width: 94px; height: 94px; }
.class-browser .class-discovery__art > img { position: absolute; right: 0; top: var(--class-portrait-top,-6%); width: 90%; height: 210%; object-fit: contain; object-position: center top; }
.class-browser .class-discovery[data-class="maths"] { --class-portrait-top: -17%; }
.class-browser .class-discovery[data-class="english"],
.class-browser .class-discovery[data-class="civics"] { --class-portrait-top: -3%; }
.class-browser .class-discovery[data-class="french"] { --class-portrait-top: -5%; }
.class-browser .class-discovery[data-class="science"],
.class-browser .class-discovery[data-class="arts"] { --class-portrait-top: 0%; }
.class-browser .class-discovery[data-class="spanish"] { --class-portrait-top: -7%; }
.class-browser .class-discovery[data-class="history"] { --class-portrait-top: -8%; }
.class-browser .class-discovery[data-class="ai"] { --class-portrait-top: -14%; }
.class-browser .class-discovery[data-class="surf"] { --class-portrait-top: -25%; }
.class-browser .class-discovery__body { display: flex; flex: 1; order: -1; padding: 22px 23px 18px; flex-direction: column; gap: 9px; }
.class-browser .class-discovery__body > strong { font: 800 clamp(26px,2.4vw,36px)/1.07 var(--font-display); letter-spacing: -.045em; }
.class-browser .class-discovery__body > span { color: #6c6575; font-size: 12px; font-weight: 600; line-height: 1.45; }
.class-browser .class-discovery__footer { display: flex; min-height: 75px; margin: 0 23px; padding: 15px 0; border-top: 1px solid #efedf1; align-items: center; justify-content: space-between; gap: 12px; }
.class-browser .class-discovery__footer > span:first-child { display: flex; flex-direction: column; gap: 4px; }
.class-browser .class-discovery__footer small { color: #77707e; font-size: 8px; font-weight: 750; letter-spacing: .1em; }
.class-browser .class-discovery__footer b { font-size: 14px; font-weight: 750; }
.class-browser .class-discovery__arrow { display: grid; width: 37px; height: 37px; flex: 0 0 37px; border-radius: 50%; background: var(--class-surface); color: var(--ink); place-items: center; }
.class-browser .class-discovery__arrow svg { width: 19px; height: 19px; }
@media (min-width: 1600px) {
  .class-browser .class-browser__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 1050px) {
  .class-browser .class-browser__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .class-browser .class-browser__intro { gap: 18px; padding: 32px; }
  .class-browser .class-browser__hero-teachers { min-height: 250px; }
  .class-browser .class-browser__hero-teacher { height: 390px; }
}
@media (max-width: 600px) {
  .class-browser { padding-top: 6px; }
  .class-browser .class-browser__intro { grid-template-columns: 1fr; gap: 24px; min-height: 0; margin-bottom: 16px; padding: 28px 24px 0; border-radius: 34px 42px 32px 39px; }
  .class-browser .class-browser__intro h1 { min-height: calc(97px + clamp(29px,8vw,38px) * 1.58); font-size: clamp(28px,13.5cqw,58px); }
  .class-browser .class-browser__hero-copy > p { margin-top: 16px; font-size: 14px; }
  .class-browser .class-browser__hero-teachers { min-height: 210px; }
  .class-browser .class-browser__hero-teacher { height: 370px; }
  .class-browser .class-browser__filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px 0; gap: 8px; }
  .class-browser .class-browser__filters button { padding: 10px; gap: 7px; border-radius: 13px; font-size: 12px; }
  .class-browser .class-browser__filters svg { flex-basis: 17px; width: 17px; height: 17px; }
  .class-browser .class-browser__filters small { min-width: 21px; height: 21px; padding-inline: 3px; font-size: 10px; }
  .class-browser .class-browser__grid { grid-template-columns: 1fr; gap: 18px; }
  .class-browser .class-browser__result { margin-top: 23px; }
  .class-browser .class-browser__result h2 { font-size: 21px; }
  .class-browser .class-discovery__art { height: 200px; }
  .class-browser .class-discovery__body > strong { font-size: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  .class-browser .class-discovery,
  .class-browser .class-browser__filters button { transition: none; }
  .class-browser .class-discovery:hover { transform: none; }
}

/* LEARNER LANDING HERO SIZE · Classes is the unchanged dimensional reference. */
.kid-home-focus > .kid-home-focus__stage,
.kid-progress-hero > .kid-progress-hero__stage { overflow: visible; }
.kid-home > .kid-home-focus,
.kid-week > .kid-week-hero,
.play-hub > .play-hub-hero,
.kid-progress-page > .kid-progress-hero {
  min-height: max(360px,calc(280px + clamp(64px,8vw,112px)));
  padding: clamp(32px,4vw,56px);
  border-radius: 54px 68px 52px 62px;
  grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr);
  grid-template-rows: auto;
  align-items: center;
  align-content: stretch;
  gap: clamp(24px,3vw,44px);
}
/* Widen only the Play banner; its library and game cards retain their layout. */
.play-hub > .play-hub-hero { width: calc(100vw - 2 * var(--authenticated-shell-gutter)); max-width: none; margin-inline: calc(50% - 50vw + var(--authenticated-shell-gutter)); }
.kid-home-focus > .kid-home-focus__copy,
.kid-week-hero > .kid-week-hero__copy,
.play-hub-hero > .play-hub-hero__copy,
.kid-progress-hero > .kid-progress-hero__copy { min-width: 0; min-height: 0; max-width: none; padding: 0; align-self: center; transform: none; }
.kid-home-focus > .kid-home-focus__stage,
.kid-week-hero > .kid-week-hero__guide,
.play-hub-hero > .play-hub-hero__stage,
.kid-progress-hero > .kid-progress-hero__stage { position: relative; inset: auto; width: auto; min-width: 0; min-height: 0; height: 100%; align-self: stretch; transform: none; }
.kid-home-focus .kid-home-focus__copy h2,
.kid-week-hero .kid-week-hero__copy h1,
.play-hub-hero .play-hub-hero__copy h1,
.kid-progress-hero .kid-progress-hero__copy h1 { margin: 0; font-size: clamp(32px,4.6vw,66px); line-height: .88; }
.kid-week-hero .kid-week-hero__copy h1 i,
.kid-progress-hero .kid-progress-hero__copy h1 i { white-space: normal; }
.kid-home-focus .kid-home-focus__actions,
.play-hub-hero .play-hub-hero__actions { margin-top: 18px; gap: 10px; flex-direction: row; }
.kid-home-focus .kid-home-focus__actions button,
.play-hub-hero .play-hub-hero__actions button { min-width: 0; min-height: 48px; width: auto; }
.kid-home-focus .kid-home-focus__copy dl { margin-top: 18px; padding-top: 14px; }
.play-hub-hero .play-hub-hero__copy dl { margin-top: 20px; }
.kid-week-hero .kid-week-hero__cta,
.kid-progress-hero .kid-progress-hero__copy > button { min-height: 54px; margin-top: 22px; }
.kid-week-hero .kid-week-hero__guide .goodie-companion { width: min(100%,280px); height: 280px; }
.kid-week-hero .kid-week-hero__guide > div { top: 4%; left: 0; }
.kid-home-focus .kid-home-focus__teacher { width: 112%; height: 112%; object-fit: contain; object-position: center bottom; }
.kid-home-focus .kid-home-focus__buddy { width: 100px; height: 100px; }
.kid-home-focus .kid-home-focus__orbit { width: 82px; padding: 14px; }
.play-hub-hero .play-hub-hero__explorer { right: -4%; bottom: -8%; width: 110%; height: 112%; object-fit: contain; object-position: center bottom; translate: none; }
.play-hub-hero .play-hub-hero__rabbit { width: min(26%,110px); }
.play-hub-hero .play-hub-hero__buddy { width: 80px; }
.play-hub-hero .play-hub-hero__stage > strong { top: 18%; left: -3%; max-width: 120px; padding: 10px 12px; font-size: 9px; }
.kid-progress-hero .kid-progress-hero__stage > span { width: 126px; padding: 14px; }
.kid-progress-hero .kid-progress-hero__stage > span strong { font-size: 52px; }
.kid-progress-hero .kid-progress-hero__stage > span b { margin-top: 8px; font-size: 10px; }
.kid-progress-hero .kid-progress-hero__stage > div { right: -4%; bottom: -3%; width: 89%; height: 89%; }
@media (max-width: 900px) {
  .kid-home > .kid-home-focus,
  .kid-week > .kid-week-hero,
  .play-hub > .play-hub-hero,
  .kid-progress-page > .kid-progress-hero { min-height: 360px; padding: 32px; gap: 18px; }
  .kid-week-hero .kid-week-hero__guide .goodie-companion { height: 250px; }
}
@media (max-width: 600px) {
  /* Use the same compact stacked treatment; copy may grow rather than clip. */
  .kid-home > .kid-home-focus,
  .kid-week > .kid-week-hero,
  .play-hub > .play-hub-hero,
  .kid-progress-page > .kid-progress-hero { min-height: 400px; padding: 28px 24px 0; grid-template-columns: 1fr; grid-template-rows: auto minmax(180px,1fr); gap: 24px; border-radius: 34px 42px 32px 39px; }
  .kid-home-focus .kid-home-focus__copy h2,
  .kid-week-hero .kid-week-hero__copy h1,
  .play-hub-hero .play-hub-hero__copy h1,
  .kid-progress-hero .kid-progress-hero__copy h1 { font-size: clamp(28px,7.8vw,42px); }
  .kid-home-focus .kid-home-focus__actions,
  .play-hub-hero .play-hub-hero__actions { margin-top: 16px; gap: 8px; }
  .kid-home-focus .kid-home-focus__actions button,
  .play-hub-hero .play-hub-hero__actions button { min-height: 44px; padding-inline: 12px; font-size: 12px; }
  .kid-home-focus .kid-home-focus__actions button:first-child { gap: 12px; }
  .kid-home-focus .kid-home-focus__copy dl { margin-top: 16px; padding-top: 12px; }
  .play-hub-hero .play-hub-hero__copy dl { margin-top: 18px; }
  .kid-week-hero .kid-week-hero__guide .goodie-companion { width: 180px; height: 180px; }
  .kid-week-hero .kid-week-hero__guide > div { top: 2%; left: 2%; }
  .kid-home-focus .kid-home-focus__teacher { right: 0; width: 100%; height: 115%; }
  .kid-home-focus .kid-home-focus__question { right: 0; bottom: 4%; width: 60%; min-height: 62px; padding: 10px; }
  .kid-home-focus .kid-home-focus__question strong { font-size: 12px; }
  .kid-home-focus .kid-home-focus__buddy { right: 0; width: 76px; height: 76px; }
  .play-hub-hero .play-hub-hero__stage > strong { left: 0; max-width: 110px; font-size: 8px; }
  .kid-progress-hero .kid-progress-hero__stage > span { top: 2%; left: 0; width: 118px; }
  .kid-progress-hero .kid-progress-hero__stage > div { right: 0; width: 75%; height: 110%; }
}
