
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#1F2A44;
  --body:#3A4661;
  --muted:#697287;
  --paper:#FFF8ED;
  --cream:#FBEFDA;
  --white:#FFFFFF;
  --coral:#E95F4D;
  --coral-dark:#C74334;
  --teal:#4F7DFF;
  --teal-dark:#4F7DFF;
  --teal-soft:#E5F3F0;
  --sun:#F5BF2A;
  --sun-soft:#FFF3C8;
  --rose:#FCE8E2;
  --sky:#E8F2FA;
  --lav:#EEEAF8;
  --focus:#155E75;
  --shadow:0 12px 34px rgba(31,42,68,.09);
}
html{scroll-behavior:smooth}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--paper);text-rendering:optimizeLegibility;
}
a{color:inherit}
img{max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
.site-shell{max-width:1060px;margin:0 auto;padding:0 24px 58px}
.floating-header{
  position:sticky;top:10px;z-index:20;margin:10px auto 0;
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  width:min(100%,980px);padding:10px 13px 10px 15px;border-radius:999px;
  background:rgba(255,255,255,.9);box-shadow:0 7px 24px rgba(31,42,68,.10);
  backdrop-filter:blur(12px);
}
.compact-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:14px}
.brand-mark{
  width:35px;height:35px;border-radius:13px;display:grid;place-items:center;
  background:var(--teal);color:white;font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
}
.header-actions{display:flex;align-items:center;gap:8px}
.header-pill,.data-toggle{
  border:0;border-radius:999px;padding:9px 13px;text-decoration:none;
  background:var(--cream);font:inherit;font-size:12px;font-weight:850;cursor:pointer;
}
.data-toggle{background:var(--teal-soft)}
a:focus-visible,button:focus-visible{outline:3px solid rgba(21,94,117,.35);outline-offset:3px}
.story-header{text-align:center;max-width:760px;margin:58px auto 28px}
.story-labels{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-bottom:13px}
.label{
  padding:7px 12px;border-radius:999px;font-size:11px;font-weight:900;
  letter-spacing:.06em;text-transform:uppercase;
}
.label.country{background:var(--rose);color:var(--coral-dark)}
.label.level{background:var(--sun-soft);color:#755B00}
.character{
  color:var(--coral);font-size:12px;font-weight:900;letter-spacing:.09em;
  text-transform:uppercase;margin-bottom:8px;
}
h1{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  font-size:clamp(42px,7vw,70px);line-height:.98;letter-spacing:-.035em;margin-bottom:17px;
}
.deck{max-width:650px;margin:0 auto;font-size:18px;line-height:1.65;color:var(--body)}
.meta{margin-top:13px;font-size:12px;color:var(--muted);font-weight:750}
.character-intro{
  max-width:900px;margin:0 auto 28px;padding:23px 25px;
  display:grid;grid-template-columns:210px minmax(0,1fr);gap:29px;align-items:center;
  border-radius:27px;background:#fff;box-shadow:0 8px 24px rgba(31,42,68,.065);
}
.character-portrait{
  display:block;overflow:hidden;border-radius:22px;background:var(--cream);
  aspect-ratio:3/4;box-shadow:0 8px 20px rgba(31,42,68,.10);
}
.character-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.meet-label{
  color:var(--coral);font-size:11px;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:7px;
}
.character-intro h2{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  font-size:clamp(28px,4vw,42px);line-height:1.05;margin-bottom:10px;
}
.character-intro p:last-child{font-size:16px;line-height:1.68;color:var(--body);max-width:560px}
.story-hero-wrap{max-width:960px;margin:0 auto}
.story-hero{
  display:block;overflow:hidden;border-radius:29px;background:var(--cream);
  box-shadow:0 14px 38px rgba(31,42,68,.13);aspect-ratio:5/4;
}
.story-hero img{display:block;width:100%;height:100%;object-fit:cover}
.data-note{
  display:none;max-width:840px;margin:24px auto 0;padding:13px 16px;border-radius:14px;
  background:var(--teal-soft);font-size:13px;line-height:1.5;color:#315B60;text-align:center;
}
.low-data .data-note{display:block}
.low-data .character-intro,.low-data .story-hero-wrap{display:none}
.audio-coming{
  max-width:900px;margin:31px auto 0;padding:24px 28px;border-radius:22px;
  display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;
  background:var(--lav);box-shadow:0 7px 21px rgba(31,42,68,.055);
}
.audio-icon{
  width:52px;height:52px;border-radius:17px;background:#fff;display:grid;place-items:center;
  font-size:24px;font-weight:900;color:var(--teal);
}
.audio-coming h2{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-size:21px;margin-bottom:5px;
}
.audio-coming p{font-size:14px;line-height:1.55;color:var(--body)}
.story-card{
  max-width:800px;margin:31px auto 0;padding:38px 42px;border-radius:28px;background:#fff;
  box-shadow:0 9px 27px rgba(31,42,68,.07);
}
.section-kicker{
  display:inline-block;margin-bottom:18px;padding:7px 12px;border-radius:999px;
  background:var(--teal-soft);color:var(--teal-dark);font-size:11px;font-weight:900;
  letter-spacing:.07em;text-transform:uppercase;
}
.story-card p{font-size:clamp(19px,2.3vw,22px);line-height:1.78;color:var(--body)}
.story-card p+p{margin-top:1.05em}
.story-card .pause{
  position:relative;margin:25px 0;padding:10px 0;text-align:center;color:var(--coral);
  font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
}
.story-card .pause::before,.story-card .pause::after{
  content:"";display:inline-block;width:50px;height:2px;vertical-align:middle;
  margin:0 10px;background:var(--rose);
}
.foundation-tools{
  max-width:900px;margin:27px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.tool-card{padding:23px;border-radius:22px;min-height:100%}
.tool-card.look{background:var(--sun-soft)}
.tool-card.words{background:var(--teal-soft)}
.tool-card.try{background:var(--sky)}
.tool-icon{
  width:43px;height:43px;margin-bottom:14px;border-radius:14px;background:#fff;
  display:grid;place-items:center;font-size:21px;
}
.tool-card h2{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-size:19px;margin-bottom:9px;
}
.tool-card p,.tool-card li{font-size:14px;line-height:1.6;color:var(--body)}
.tool-card ul{padding-left:19px}
.tool-card li+li{margin-top:5px}
.teacher-cta{
  max-width:900px;margin:29px auto 0;padding:24px 26px;border-radius:24px;
  background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.teacher-cta h2{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-size:22px;margin-bottom:5px;
}
.teacher-cta p{font-size:14px;line-height:1.55;opacity:.9}
.teacher-button{
  flex:0 0 auto;padding:12px 17px;border-radius:999px;background:#fff;color:var(--teal-dark);
  text-decoration:none;font-size:13px;font-weight:900;
}
.story-nav{
  max-width:900px;margin:26px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;
}
.story-nav a{
  min-height:66px;padding:13px 16px;border-radius:18px;background:#fff;text-decoration:none;
  display:flex;align-items:center;gap:10px;font-weight:850;box-shadow:0 6px 18px rgba(31,42,68,.05);
}
.story-nav .library{justify-content:center;text-align:center;background:var(--cream)}
.story-nav .next{justify-content:flex-end;text-align:right}
.story-nav small{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.footer{text-align:center;padding:43px 20px 0;color:var(--muted);font-size:13px}

/* Teacher edition */
.teacher-mode{
  max-width:900px;margin:0 auto 25px;padding:22px 24px;border:1px solid rgba(79,125,255,.18);
  border-radius:22px;background:var(--teal-soft);box-shadow:0 7px 20px rgba(31,42,68,.05);
}
.teacher-mode-pill{
  display:inline-flex;margin-bottom:11px;padding:7px 12px;border-radius:999px;background:var(--teal);
  color:#fff;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
}
.teacher-mode h2{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-size:21px;margin-bottom:7px;
}
.teacher-mode p{font-size:14px;line-height:1.65;color:var(--body)}
.guide{
  max-width:900px;margin:31px auto 0;padding:31px 33px;border-radius:26px;background:#fff;
  box-shadow:0 8px 24px rgba(31,42,68,.07);
}
.guide-title{
  display:flex;align-items:center;gap:14px;margin-bottom:24px;
}
.guide-number{
  flex:0 0 auto;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;
  background:var(--teal);color:#fff;font-weight:900;
}
.guide-title h2{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-size:25px;
}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.guide-section{padding:20px;border-radius:19px;background:var(--cream)}
.guide-section.full{grid-column:1/-1}
.guide-section h3{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-size:17px;margin-bottom:8px;
}
.guide-section p,.guide-section li{font-size:14px;line-height:1.65;color:var(--body)}
.guide-section ol,.guide-section ul{padding-left:20px}
.guide-section li+li{margin-top:7px}
.prompt-list{counter-reset:prompt;display:grid;gap:13px}
.prompt{
  display:grid;grid-template-columns:35px 1fr;gap:12px;padding:16px;border-radius:17px;background:#fff;
  border:1px solid rgba(31,42,68,.08);
}
.prompt::before{
  counter-increment:prompt;content:counter(prompt);width:31px;height:31px;border-radius:50%;
  display:grid;place-items:center;background:var(--coral);color:#fff;font-size:13px;font-weight:900;
}
.prompt strong{display:block;font-size:13px;margin-bottom:4px}
.prompt p{font-size:14px;line-height:1.55;color:var(--body)}
.teacher-story{max-width:800px;margin:31px auto 0}
.teacher-story .story-card{margin:0}
.facilitator-note{
  margin:13px 0;padding:13px 15px;border-left:5px solid var(--sun);
  border-radius:0 14px 14px 0;background:var(--sun-soft);
  font-size:13px;line-height:1.55;color:var(--body);
}
.teacher-footer-nav{
  max-width:900px;margin:28px auto 0;display:flex;justify-content:space-between;gap:13px;
}
.teacher-footer-nav a{
  padding:13px 17px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:900;
  background:#fff;box-shadow:0 6px 18px rgba(31,42,68,.055);
}
.teacher-footer-nav .primary{background:var(--teal);color:#fff}
@media(max-width:760px){
  .site-shell{padding:0 14px 42px}
  .floating-header{top:7px;margin-top:7px}
  .compact-brand span:last-child{display:none}
  .story-header{margin-top:37px}
  .character-intro{grid-template-columns:145px minmax(0,1fr);gap:17px;padding:17px}
  .character-intro h2{font-size:27px}
  .character-intro p:last-child{font-size:14px;line-height:1.55}
  .story-hero{border-radius:21px}
  .story-card{padding:29px 24px}
  .foundation-tools{grid-template-columns:1fr}
  .teacher-cta{align-items:flex-start;flex-direction:column}
  .story-nav{grid-template-columns:1fr}
  .story-nav a,.story-nav .next{justify-content:center;text-align:center}
  .guide-grid{grid-template-columns:1fr}
  .guide-section.full{grid-column:auto}
}
@media(max-width:520px){
  .character-intro{grid-template-columns:1fr;text-align:center}
  .character-portrait{width:min(180px,70vw);margin:0 auto}
  .character-intro p:last-child{margin:0 auto}
  .header-pill{display:none}
  .story-card .pause::before,.story-card .pause::after{width:23px}
  .teacher-footer-nav{flex-direction:column}
  .teacher-footer-nav a{text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* Revised Teacher Edition */
.teacher-page .site-shell{padding-top:0}
.teacher-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:14px 6px 6px;
}
.teacher-brand{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
.teacher-brand picture,.teacher-brand img{display:block}
.teacher-brand img{width:clamp(190px,27vw,260px);height:auto}
.teacher-story-header{margin-top:38px}
.teacher-edition-label{
  display:inline-flex;align-items:center;gap:11px;margin-bottom:20px;
  padding:10px 16px;border-radius:999px;background:var(--teal);color:#fff;
  font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 7px 18px rgba(79,125,255,.20);
}
.teacher-edition-icon{
  width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.18);
  display:grid;place-items:center;
}
.teacher-edition-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.teacher-audio{margin-top:22px}
.facilitator-guide-heading{
  max-width:900px;margin:36px auto 0;padding:26px 29px;border-radius:25px;
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:17px;align-items:start;
  background:var(--teal-soft);border:1px solid rgba(79,125,255,.16);
}
.facilitator-guide-icon{
  width:50px;height:50px;border-radius:17px;background:var(--teal);color:#fff;
  display:grid;place-items:center;font-size:22px;font-weight:900;
}
.facilitator-guide-heading .section-kicker{margin-bottom:8px;background:#fff}
.facilitator-guide-heading h2{
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  font-size:clamp(27px,4vw,36px);line-height:1.05;margin-bottom:8px;
}
.facilitator-guide-heading p:last-child{font-size:14px;line-height:1.65;color:var(--body)}
.guide-intro{margin:-7px 0 19px;font-size:14px;line-height:1.65;color:var(--body)}
.read-story-title{
  margin:36px auto 0;text-align:center;
  font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  font-size:clamp(26px,4vw,34px);
}
.teacher-story .story-card{margin-top:16px}
.teacher-page .facilitator-note{
  margin:1.35em 0;padding:14px 16px;border-left:4px solid var(--sun);
  border-radius:0 12px 12px 0;background:#FFF7D8;color:#5D542E;
  font-size:14px;line-height:1.6;font-style:italic;
}
@media(max-width:760px){
  .teacher-topbar{padding:11px 0 4px;align-items:flex-start}
  .teacher-brand img{width:92px;max-height:68px;object-fit:contain}
  .teacher-topbar .header-actions{flex-direction:column-reverse;align-items:flex-end;gap:7px}
  .teacher-topbar .header-pill,.teacher-topbar .data-toggle{font-size:11px;padding:7px 10px}
  .teacher-story-header{margin-top:25px}
  .facilitator-guide-heading{grid-template-columns:43px minmax(0,1fr);padding:22px 20px}
  .facilitator-guide-icon{width:42px;height:42px;border-radius:14px;font-size:19px}
}


/* Builder v7 Foundation activity-card contrast */
.foundation-tools .tool-card.words{
  background:#CFE7E3;
}
.foundation-tools .tool-card.try{
  background:#D2E2F5;
}

/* Builder v10 Foundation activity-card contrast */
.foundation-tools .tool-card.words{
background:#CFE7E3;
}
.foundation-tools .tool-card.try{
background:#D2E2F5;
}
