:root {
  font-family: ui-rounded, "Trebuchet MS", system-ui, sans-serif;
  color: #21392e;
  background: #fff9ec;
  --green: #245b47;
  --deep: #173c30;
  --cream: #fff9ec;
  --peach: #ffd8b8;
  --gold: #efbd56;
  --mint: #dff1d7;
  --card: #fffef9;
  --line: #b9ccb9;
  --error: #963c32;
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--cream); }
html[data-text-scale="200"] { font-size: 200%; }
html[data-text-scale="200"] .chimpal-row { grid-template-columns: 1fr; }
body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 82% 4%, #dff1d7 0, transparent 30rem), radial-gradient(circle at 8% 90%, #ffe2c7 0, transparent 26rem), var(--cream);
}
main { width: min(100%, 70rem); margin: auto; padding: clamp(1rem, 4vw, 3rem); }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(3.5rem, 12vw, 7.5rem); line-height: .9; letter-spacing: -.065em; color: var(--green); }
h2 { font-size: clamp(2rem, 6vw, 3.6rem); line-height: 1.05; }
h3 { font-size: 1.35rem; }
p, label, summary { font-size: clamp(1rem, 2.2vw, 1.2rem); line-height: 1.5; }
.quiet { color: #567063; font-size: .95rem; }
.hero { min-height: calc(100vh - 6rem); display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(1rem, 4vw, 4rem); }
.hero-copy { position: relative; z-index: 1; display: grid; justify-items: start; gap: clamp(.75rem, 1.4vw, 1.15rem); font-family: system-ui, sans-serif; }
.hero-copy > * { margin-bottom: 0; }
.eyebrow { font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: #8a5c21; }
.hero .eyebrow { margin-bottom: .15rem; font-size: clamp(.9rem, 1.6vw, 1.05rem); line-height: 1.25; }
.hero h1 { max-width: 100%; margin: 0; font-family: ui-rounded, "Trebuchet MS", system-ui, sans-serif; font-size: clamp(4rem, 10.25vw, 7rem); font-weight: 900; line-height: .88; letter-spacing: -.055em; }
.tagline { max-width: 20ch; font-size: clamp(1.65rem, 3.2vw, 2.35rem); line-height: 1.18; text-wrap: balance; }
.hero-support { display: grid; gap: .3rem; max-width: 40ch; margin-top: .35rem; }
.hero-support p { margin: 0; }
.hero-intro { font-size: clamp(1.05rem, 2vw, 1.18rem); }
.caregiver-note { width: fit-content; padding: .5rem .75rem; border: 1px solid #c8d9c2; border-radius: 999px; background: #fffdf5cc; color: #3a5549; font-size: clamp(.95rem, 1.7vw, 1.05rem); line-height: 1.35; }
.age-range { color: var(--deep); font-weight: 800; white-space: nowrap; }
.hero .primary { justify-self: start; margin-top: .35rem; }
.hero-art { display: grid; justify-items: center; align-content: center; min-height: 30rem; }
.chimpal-character { position: relative; display: block; flex: none; aspect-ratio: 7 / 8; overflow: hidden; isolation: isolate; background: var(--peach); }
.chimpal-character--hero { width: min(100%, 32rem); max-height: 70vh; border-radius: 2.4rem; filter: drop-shadow(0 22px 25px #3859432b); }
.chimpal-character--mini { width: 7rem; border-radius: 1.4rem; border: 4px solid #fff; box-shadow: 0 5px 16px #1f483328; }
.chimpal-character--thinking { width: 11rem; margin: 0 auto 1rem; border-radius: 1.8rem; border: 4px solid #fff; box-shadow: 0 8px 22px #1f483328; }
.chimpal-character__fallback, .chimpal-character__layers, .chimpal-character__scene, .chimpal-character__pose { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.chimpal-character__fallback { object-fit: cover; object-position: 50% 46%; }
.chimpal-character__layers { pointer-events: none; opacity: 1; }
.chimpal-character__scene { object-fit: cover; }
.chimpal-character__pose { object-fit: contain; opacity: 1; transition: opacity .25s ease-in-out; }
.chimpal-character__pose.is-quick { transition-duration: .06s; }
.chimpal-character__pose.is-fading-out { opacity: 0; }
.chimpal-character__pose.no-transition { transition: none; }
.chimpal-character__pose.is-breathing { transform-origin: 50% 81.0547%; animation: chimpal-breath .45s ease-in-out 1; }
.character-skip { min-height: 44px; margin: .7rem 0 0; padding: .55rem .9rem; border-color: #789080; background: #fffdf5e6; box-shadow: none; color: #3a5549; font-size: .95rem; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease; }
.chimpal-character[data-character-playback="active"] + .character-skip { opacity: 1; visibility: visible; pointer-events: auto; }
@keyframes chimpal-breath { 50% { transform: scale(1.006, .996); } }
.panel, .card { background: #fffef9ed; border: 2px solid #d9e5d6; border-radius: 2rem; padding: clamp(1.2rem, 4vw, 2.4rem); box-shadow: 0 14px 40px #28493618; }
.panel { max-width: 44rem; margin: 2rem auto; }
.legal-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem 1.2rem; padding: 0 1rem 1.5rem; font-size: .95rem; }
.legal-nav a, .document-links a, .legal-document a { color: var(--deep); text-underline-offset: .2em; }
.legal-document { max-width: 54rem; }
.legal-document h1 { font-size: clamp(2.2rem, 7vw, 4.2rem); line-height: 1; letter-spacing: -.035em; }
.legal-document h2 { font-size: clamp(1.45rem, 4vw, 2.2rem); margin-top: 1.7rem; }
.legal-document li { font-size: clamp(1rem, 2.2vw, 1.2rem); line-height: 1.5; margin-bottom: .45rem; }
.notice { padding: 1rem 1.1rem; border-left: 6px solid var(--gold); background: #fff8df; border-radius: .6rem; }
.error { color: var(--error); border-color: #d47b6d; background: #fff2ef; }
button, input, select { font: inherit; border: 2px solid #587564; border-radius: 1rem; min-height: 52px; }
button { padding: .85rem 1.25rem; background: var(--gold); color: var(--deep); font-weight: 850; cursor: pointer; box-shadow: 0 4px 0 #9d7b36; margin: .35rem .35rem .35rem 0; }
button:hover { transform: translateY(-2px); }
button:active { transform: translateY(1px); box-shadow: 0 2px 0 #9d7b36; }
button:disabled { opacity: .62; cursor: not-allowed; transform: none; }
.primary { font-size: 1.2rem; padding: 1rem 1.5rem; }
.secondary { background: #fff; box-shadow: none; }
.danger { background: #fff0ed; border-color: #b8493d; color: #862c25; box-shadow: none; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 4px solid #1f75cb; outline-offset: 4px; }
#app h1[tabindex="-1"]:focus, #app h2[tabindex="-1"]:focus { outline: none; }
input, select { display: block; width: 100%; padding: .85rem 1rem; margin: .4rem 0 1.1rem; background: #fff; }
.acknowledgement { display: flex; align-items: flex-start; gap: .75rem; }
.ack-check { display: inline-block; flex: 0 0 1.45rem; width: 1.45rem; height: 1.45rem; min-height: 1.45rem; margin: .15rem 0 0; padding: 0; border-radius: .35rem; }
.setup-checklist { border: 0; padding: 0; margin: 1.2rem 0; }
.setup-checklist legend { font-weight: 850; font-size: 1.2rem; margin-bottom: .8rem; }
.setup-checklist .acknowledgement { margin-bottom: 1rem; }
.setup-checklist .acknowledgement span { font-size: 1rem; line-height: 1.45; }
.document-links { margin: .8rem 0 1.2rem; }
.setup-actions, .magic-actions { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.setup-actions button, .magic-actions button { margin-right: 0; }
.chooser-panel { max-width: 58rem; }
.chooser-panel h2 { max-width: 18ch; font-size: clamp(2rem, 5vw, 3.4rem); overflow-wrap: anywhere; }
.chooser-empty { max-width: 42rem; }
.chooser-help { max-width: 44ch; }
.chooser-actions, .profile-form-actions, .parent-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.chooser-actions button, .profile-form-actions button, .parent-actions button { margin-right: 0; }
.profile-refresh { margin-bottom: 1rem; }
.profiles { display: flex; flex-wrap: wrap; gap: 1rem; }
.profile-grid { justify-content: center; margin: 1.4rem 0; }
.profile-pick { flex: 0 1 15rem; width: min(100%, 15rem); min-width: 0; min-height: clamp(7.5rem, 18vw, 10rem); margin: 0; padding: .8rem; font-size: clamp(1.15rem, 2.5vw, 1.4rem); line-height: 1.2; overflow-wrap: anywhere; display: grid; grid-template-columns: 5.5rem minmax(0,1fr); grid-template-rows: auto auto; gap: .15rem .8rem; align-items: center; text-align: left; }
.profile-pick-art { grid-row: 1 / 3; width: 5.5rem; }
.profile-pick-name { align-self: end; font-weight: 900; }
.profile-pick-pal { align-self: start; font-size: .85rem; font-weight: 700; opacity: .82; }
.profile-pick--no-pal { grid-template-columns: minmax(0,1fr); grid-template-rows: auto; justify-items: center; text-align: center; }
.profile-pick--no-pal .profile-pick-name { align-self: center; }
.profile-form-panel { max-width: 64rem; }
.chimp-pal-picker { margin: 1.35rem 0; padding: 1rem; border: 3px solid #9bb39d; border-radius: 1.4rem; }
.chimp-pal-picker legend { padding: 0 .5rem; color: var(--green); font-size: clamp(1.35rem,3vw,1.8rem); font-weight: 900; }
.chimp-pal-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.chimp-pal-option, .chimp-pal-none-option { position: relative; min-width: 0; }
.chimp-pal-option { margin: 0; }
.chimp-pal-none-option { display: block; width: min(100%,18rem); margin: 0 auto 1rem; }
.chimp-pal-option > input, .chimp-pal-none-option > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.chimp-pal-card { min-height: 52px; padding: .55rem; display: flex; flex-direction: column; align-items: center; gap: .2rem; border: 3px solid #8ba48e; border-radius: 1.2rem; background: #fff; box-shadow: 0 4px 0 #d4dfd2; cursor: pointer; pointer-events: none; text-align: center; }
.chimp-pal-none-card { min-height: 52px; padding: .7rem 1rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; border: 3px solid #8ba48e; border-radius: 1.2rem; background: #fff; box-shadow: 0 4px 0 #d4dfd2; cursor: pointer; pointer-events: none; text-align: center; }
.chimp-pal-option:hover .chimp-pal-card, .chimp-pal-none-option:hover .chimp-pal-none-card { transform: translateY(-2px); }
.chimp-pal-option > input:focus-visible + .chimp-pal-card, .chimp-pal-none-option > input:focus-visible + .chimp-pal-none-card { outline: 4px solid #173f35; outline-offset: 3px; }
.chimp-pal-option > input:checked + .chimp-pal-card, .chimp-pal-none-option > input:checked + .chimp-pal-none-card { border-color: #173f35; background: #f1f7df; box-shadow: 0 0 0 3px #f2b94b; }
.chimp-pal-art { display: block; width: min(100%,8rem); aspect-ratio: 1; border-radius: 50%; background-image: url('/assets/profile/chimp-pals-atlas-v1.webp'); background-repeat: no-repeat; background-size: 400% 200%; background-color: #f4ead8; }
.chimp-pal-name { font-weight: 900; overflow-wrap: anywhere; }
.chimp-pal-none-help { font-size: .82rem; font-weight: 700; opacity: .82; }
.chimp-pal-selected { min-height: 1.2em; color: #173f35; font-size: .72rem; font-weight: 900; visibility: hidden; }
.chimp-pal-option > input:checked + .chimp-pal-card .chimp-pal-selected, .chimp-pal-none-option > input:checked + .chimp-pal-none-card .chimp-pal-selected { visibility: visible; }
.chimp-pal--bibi-butterfly { background-position: 0 0; }
.chimp-pal--rory-robin { background-position: 33.333% 0; }
.chimp-pal--coco-cloud { background-position: 66.667% 0; }
.chimp-pal--nova-star { background-position: 100% 0; }
.chimp-pal--luma-leaf { background-position: 0 100%; }
.chimp-pal--pebble-stream { background-position: 33.333% 100%; }
.chimp-pal--digby-digger { background-position: 66.667% 100%; }
.chimp-pal--gizmo-gears { background-position: 100% 100%; }
.field-help { margin: -0.8rem 0 1rem; }
.parent-section { padding-top: 1.25rem; margin-top: 1.25rem; border-top: 2px solid #d9e5d6; }
.parent-section h3 { margin-bottom: .7rem; }
.parent-back { max-width: 44rem; margin: -1.4rem auto 2rem; }
.explorer-shell { max-width: 70rem; margin: auto; }
.explorer-top { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.explorer-top > p { margin-bottom: 0; }
.explorer-profile-context { min-width: 0; display: flex; flex: 1 1 16rem; align-items: center; gap: .7rem; }
.explorer-profile-context > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.explorer-profile-context strong { color: var(--deep); }
.explorer-profile-art { flex: 0 0 auto; width: 3.5rem; border: 3px solid #fff; box-shadow: 0 .2rem .6rem #28493624; }
.chimpal-row { display: grid; grid-template-columns: 7rem 1fr; gap: 1.25rem; align-items: center; }
.explorer-layout { margin-top: 1rem; }
.explorer-layout:not(.has-ask) { max-width: 58rem; margin-inline: auto; }
.catalog-screen .explorer-layout:not(.has-ask), .catalog-preview-screen .explorer-layout:not(.has-ask) { margin-left: 0; margin-right: auto; }
.explorer-primary { min-width: 0; }
.reply { margin: 1rem 0 1.5rem; }
.reply p { font-size: clamp(1.2rem, 3vw, 1.55rem); margin-bottom: .6rem; }
.prompt { font-weight: 800; color: var(--green); }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 2vw, 1.25rem); margin: 1rem 0; }
.visual-card { margin: 0; padding: .7rem; background: #fff; border: 3px solid #63816d; border-radius: 1.6rem; box-shadow: 0 7px 0 #adc3ae; min-height: clamp(10rem, 28vw, 15rem); display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; overflow: hidden; }
.visual-card:hover { transform: translateY(-3px); }
.visual-tile { display: block; width: 100%; aspect-ratio: 1.28 / 1; border-radius: 1.1rem; background-image: url('/assets/explorer/explorer-atlas-v1.jpg'); background-repeat: no-repeat; background-color: #f4ead8; background-size: 500% 400%; }
.visual-animals { background-position: 0 0; }
.visual-colors { background-position: 25% 0; }
.visual-food { background-position: 50% 0; }
.visual-weather { background-position: 75% 0; }
.visual-dinosaurs { background-position: 100% 0; }
.visual-ocean { background-position: 0 33.333%; }
.visual-trains { background-position: 25% 33.333%; }
.visual-space { background-position: 50% 33.333%; }
.visual-cartoon-stories { background-position: 75% 33.333%; }
.visual-look-closer { background-position: 100% 33.333%; }
.visual-parts { background-position: 0 66.667%; }
.visual-movement { background-position: 25% 66.667%; }
.visual-home-growth { background-position: 50% 66.667%; }
.visual-colors-patterns { background-position: 75% 66.667%; }
.visual-count-compare { background-position: 100% 66.667%; }
.visual-sounds { background-position: 0 100%; }
.visual-pretend { background-position: 25% 100%; }
.visual-neutral { background-position: 50% 100%; }
.visual-chimpal-happy { background-position: 75% 100%; }
.visual-chimpal-thinking { background-position: 100% 100%; }
.visual-creatures, .visual-sky, .visual-earth, .visual-machines { background-image: url('/assets/explorer/world-atlas-v1.jpg'); background-size: 200% 200%; }
.visual-creatures { background-position: 0 0; }
.visual-sky { background-position: 100% 0; }
.visual-earth { background-position: 0 100%; }
.visual-machines { background-position: 100% 100%; }
.visual-creatures-who-would-win, .visual-creatures-watch-me-grow, .visual-creatures-hunter-or-hunted, .visual-creatures-meet-the-animal { background-image: url('/assets/explorer/creatures-subcategories-atlas-v1.jpg'); background-size: 200% 200%; }
.visual-creatures-who-would-win { background-position: 0 0; }
.visual-creatures-watch-me-grow { background-position: 100% 0; }
.visual-creatures-hunter-or-hunted { background-position: 0 100%; }
.visual-creatures-meet-the-animal { background-position: 100% 100%; }
.visual-sky-whats-the-weather, .visual-sky-moon-magic, .visual-sky-star-secrets, .visual-sky-surprises { background-image: url('/assets/explorer/sky-subcategories-atlas-v1.jpg'); background-size: 200% 200%; }
.visual-sky-whats-the-weather { background-position: 0 0; }
.visual-sky-moon-magic { background-position: 100% 0; }
.visual-sky-star-secrets { background-position: 0 100%; }
.visual-sky-surprises { background-position: 100% 100%; }
.visual-earth-i-spy-nature, .visual-earth-watch-it-grow, .visual-earth-water-world, .visual-earth-wonders { background-image: url('/assets/explorer/earth-subcategories-atlas-v2.jpg'); background-size: 200% 200%; }
.visual-earth-i-spy-nature { background-position: 0 0; }
.visual-earth-watch-it-grow { background-position: 100% 0; }
.visual-earth-water-world { background-position: 0 100%; }
.visual-earth-wonders { background-position: 100% 100%; }
.visual-machines-lets-go, .visual-machines-build-it, .visual-machines-at-work, .visual-machines-that-think { background-image: url('/assets/explorer/machines-subcategories-atlas-v1.jpg'); background-size: 200% 200%; }
.visual-machines-lets-go { background-position: 0 0; }
.visual-machines-build-it { background-position: 100% 0; }
.visual-machines-at-work { background-position: 0 100%; }
.visual-machines-that-think { background-position: 100% 100%; }
.visual-label { font-size: clamp(1.05rem, 3vw, 1.4rem); padding: .7rem .25rem .25rem; text-align: center; }
.world-grid .visual-card { min-height: clamp(12rem, 32vw, 17rem); }
.world-grid .visual-label { min-width: 0; overflow-wrap: anywhere; }
.world-help { margin: 1rem 0 .5rem; }
.world-preview { display: grid; grid-template-columns: minmax(12rem, 20rem) 1fr; gap: 1.25rem; align-items: center; }
.world-preview-tile { grid-row: span 2; aspect-ratio: 1 / 1; }
.world-preview .notice { margin: 0; }
.subcategory-context { display: grid; grid-template-columns: 8rem 1fr; gap: 1.25rem; align-items: center; margin: 1rem 0; }
.subcategory-world-tile { aspect-ratio: 1 / 1; }
.subcategory-card { margin: 0; min-height: clamp(7rem, 20vw, 10rem); padding: 1rem; background: #fff; border: 3px solid #63816d; border-radius: 1.6rem; box-shadow: 0 7px 0 #adc3ae; display: grid; place-items: center; overflow: hidden; }
.subcategory-card:hover { transform: translateY(-3px); }
.subcategory-label { min-width: 0; max-width: 100%; font-size: clamp(1.15rem, 3vw, 1.6rem); line-height: 1.2; text-align: center; overflow-wrap: anywhere; }
.subcategory-detail-card { min-height: clamp(11rem, 20vw, 14rem); padding: .65rem; grid-template-columns: minmax(6.5rem, 42%) minmax(0, 1fr); gap: .8rem; align-items: center; }
.subcategory-tile { width: 100%; aspect-ratio: 1 / 1; border-radius: 1.1rem; }
.subcategory-copy { min-width: 0; display: grid; gap: .35rem; text-align: left; }
.subcategory-title { font-size: clamp(1.05rem, 2.2vw, 1.45rem); line-height: 1.15; overflow-wrap: anywhere; }
.subcategory-caption { font-size: clamp(.88rem, 1.5vw, 1.05rem); line-height: 1.3; overflow-wrap: anywhere; }
.subcategory-preview { margin: 1rem 0 1.5rem; }
.subcategory-preview .notice { margin-bottom: 0; }
.subcategory-preview-details { display: grid; grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr); gap: 1.25rem; align-items: center; }
.subcategory-preview-tile { width: 100%; aspect-ratio: 1 / 1; border-radius: 1.2rem; }
.subcategory-preview-copy { min-width: 0; }
.subcategory-preview-caption { font-size: 1.1rem; }
.catalog-screen .explorer-top { flex-wrap: wrap; margin-bottom: clamp(.45rem, 1vh, .75rem); }
.catalog-screen .explorer-top #parent { margin: 0; padding: .65rem 1rem; }
.catalog-screen .explorer-layout { margin-top: clamp(.45rem, 1vh, .7rem); }
.catalog-home-heading, .catalog-all-heading { max-width: 48rem; margin: 1rem 0 .75rem; }
.catalog-home-heading h2, .catalog-all-heading h2 { margin: 0 0 .25rem; font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.08; }
.catalog-home-heading .quiet, .catalog-all-heading .quiet { margin: 0; line-height: 1.35; }
.catalog-all-heading .eyebrow { margin: 0 0 .15rem; }
.catalog-recommendations { min-width: 0; }
.catalog-filter-group { display: flex; flex-wrap: wrap; gap: .55rem; margin: .15rem 0 .6rem; }
.catalog-filter { min-height: 52px; margin: 0; padding: .7rem 1.15rem; background: #fff; border-color: #8ea696; box-shadow: none; }
.catalog-filter:focus-visible { outline: 4px solid #1f75cb; outline-offset: 4px; }
.catalog-filter[aria-pressed="true"] { background: var(--deep); border-color: var(--deep); color: #fff; }
.this-week-teaser { width: 100%; min-width: 0; margin: .2rem 0 .8rem; padding: 1rem; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; align-items: center; color: var(--deep); background: #fff9e8; border: 2px solid #9a8040; border-radius: 1.35rem; box-shadow: 0 6px 0 #e1d19a; text-align: left; }
.this-week-teaser-copy { min-width: 0; display: grid; gap: .12rem; line-height: 1.3; overflow-wrap: anywhere; }
.this-week-teaser-copy .eyebrow { margin: 0; color: #76571d; font-size: .78rem; }
.this-week-teaser-copy h2, .this-week-teaser-copy p { margin: 0; }
.this-week-teaser-copy h2 { font-size: clamp(1.15rem,2.2vw,1.45rem); line-height: 1.1; }
.this-week-audience { color: #476156; font-size: .82rem; font-weight: 750; }
.this-week-teaser-action { min-height: 52px; justify-self: end; margin: 0; padding: .55rem .9rem; color: #fff; background: var(--deep); border-radius: 999px; font-size: .9rem; font-weight: 850; text-align: center; }
.this-week-teaser-action:focus-visible { outline: 4px solid #1f75cb; outline-offset: 4px; }
.this-week-teaser-visual { position: absolute; inset: .1rem; display: block; width: auto; aspect-ratio: 1; border: 2px solid #8a722e; border-radius: 50%; background-color: #e8f2dd; opacity: .75; }
.this-week-detail-visual { position: relative; display: block; width: 4.25rem; aspect-ratio: 1; border: 2px solid #8a722e; border-radius: 50%; background-color: #e8f2dd; }
.this-week-visual--sound-waves { background-image: radial-gradient(circle at 34% 50%,#234737 0 7%,transparent 8%),repeating-radial-gradient(circle at 34% 50%,transparent 0 17%,#b88e25 18% 21%,transparent 22% 32%); }
.this-week-visual--curiosity-lines { background-image: radial-gradient(circle at 30% 35%,#b88e25 0 7%,transparent 8%),radial-gradient(circle at 67% 62%,#234737 0 8%,transparent 9%),repeating-linear-gradient(35deg,transparent 0 9px,#bed1aa 10px 13px); }
.this-week-heading { max-width: 58rem; grid-template-columns: 5rem minmax(0,1fr); }
.this-week-heading .chimpal-character--mini { width: 5rem; }
.this-week-heading .eyebrow, .this-week-heading h2 { margin-bottom: .25rem; }
.this-week-detail { display: grid; gap: 1rem; margin-bottom: 1rem; }
.this-week-detail-hero { min-width: 0; display: grid; grid-template-columns: 5.5rem minmax(0,1fr); gap: 1rem; align-items: center; padding: 1rem; background: #fff8df; border: 2px solid #d4c17d; border-radius: 1.2rem; }
.this-week-detail-hero p { margin: .25rem 0; overflow-wrap: anywhere; }
.this-week-detail-visual { width: 5.5rem; }
.this-week-section-grid { display: grid; gap: 1rem; }
.this-week-section { min-width: 0; padding: 1rem; background: #fff; border: 2px solid var(--line); border-radius: 1.2rem; box-shadow: 0 5px 0 #dce7d8; }
.this-week-section h3 { margin: 0 0 .5rem; color: var(--deep); }
.this-week-section p { margin: 0; overflow-wrap: anywhere; }
.this-week-section--quick-fact { border-top: 7px solid #e3bd54; }
.this-week-section--look-listen { border-top: 7px solid #82acd0; }
.this-week-section--draw-make { border-top: 7px solid #9abb7f; }
.this-week-screen #back-this-week:focus { outline: 4px solid #1f75cb; outline-offset: 4px; }
.catalog-browse-topics { margin: .5rem 0 .75rem; padding: .15rem .8rem .55rem; background: #f7fbf3; border: 2px solid var(--line); border-radius: 1rem; }
.catalog-browse-topics summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--deep); font-weight: 850; }
.catalog-browse-topics summary:focus-visible { outline: 4px solid #1f75cb; outline-offset: 4px; }
.catalog-results { margin: 0 0 .45rem; font-weight: 750; }
.catalog-page-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; margin: 0 0 1rem; color: #476156; font-weight: 750; }
.catalog-page-actions button { margin: 0; }
.catalog-see-all { min-height: 52px; margin: .15rem 0 1.25rem; }
.catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.85rem, 2vw, 1.2rem); margin: 0 0 1.25rem; }
.catalog-card { min-width: 0; min-height: 0; margin: 0; padding: .65rem; background: #fff; border: 3px solid #63816d; border-radius: 1.6rem; box-shadow: 0 7px 0 #adc3ae; display: flex; flex-direction: column; align-items: stretch; gap: .65rem; overflow: hidden; text-align: left; }
.catalog-card:hover { transform: translateY(-3px); }
.catalog-card:focus-visible { outline: 4px solid #1f75cb; outline-offset: 4px; }
.catalog-card:active { transform: translateY(1px); box-shadow: 0 4px 0 #adc3ae; }
.catalog-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; padding: .15rem .2rem 0; }
.catalog-world-badge { display: inline-flex; width: fit-content; max-width: 100%; padding: .28rem .62rem; border-radius: 999px; background: #e6eee8; color: var(--deep); font-size: .82rem; font-weight: 850; line-height: 1.2; overflow-wrap: anywhere; }
.catalog-world-badge[data-world-badge="creatures"] { background: #e5f2d7; }
.catalog-world-badge[data-world-badge="sky"] { background: #dcecf8; }
.catalog-world-badge[data-world-badge="earth"] { background: #f4e5cd; }
.catalog-world-badge[data-world-badge="machines"] { background: #ece4f4; }
.catalog-title { max-width: 100%; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.12; overflow-wrap: anywhere; }
.catalog-caption { max-width: 100%; color: #476156; font-size: clamp(.85rem, 1.45vw, 1rem); font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.catalog-tile { margin-top: auto; aspect-ratio: 1 / 1; border-radius: .8rem .8rem 1.15rem 1.15rem; }
.preview-heading { grid-template-columns: max-content minmax(0, 1fr); }
.preview-world-badge { align-self: center; justify-self: center; max-width: none; white-space: nowrap; font-size: 1rem; padding: .55rem .85rem; }
.explorer-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.ask-panel { min-width: 0; margin: 1.5rem 0; background: #f7fbf3; border: 2px solid var(--line); border-radius: 1.4rem; padding: 1.2rem; box-shadow: 0 10px 28px #28493612; }
.ask-panel h3, .ask-panel > .quiet, .ask-panel .ask-row { margin: 0; }
.ask-panel:not(.ask-disclosure) { display: grid; gap: .75rem; }
.ask-panel[aria-busy="true"] { background: #f1f5ed; }
.ask-row { display: grid; grid-template-columns: 1fr auto; gap: .7rem; align-items: end; }
.ask-row label { min-width: 0; }
.ask-row input { margin: 0; }
.ask-row button { margin: 0; }
.ask-disclosure { margin: .55rem 0 .45rem; padding: 0; border-radius: 1rem; box-shadow: none; overflow: hidden; }
.ask-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 52px; padding: .7rem 1rem; color: var(--deep); font-weight: 850; cursor: pointer; list-style: none; }
.ask-disclosure summary::-webkit-details-marker { display: none; }
.ask-disclosure summary::after { content: '+'; flex: 0 0 auto; color: var(--green); font-size: 1.45rem; line-height: 1; }
.ask-disclosure[open] summary::after { content: '−'; }
.ask-disclosure-body { display: grid; gap: .7rem; padding: .2rem 1rem 1rem; border-top: 1px solid #d9e5d6; }
.ask-disclosure-body > .quiet { margin: .7rem 0 0; }
.who-screen { max-width: 64rem; }
.who-heading { margin-bottom: 1rem; }
.who-player { max-width: 58rem; margin: 1rem auto 0; }
.who-entry, .who-clarification, .who-wait { max-width: 42rem; margin: 1rem auto; }
.who-child-prompt { font-size: clamp(1.35rem, 4vw, 2rem); font-weight: 850; color: var(--green); }
.caregiver-label { display: block; margin-top: 1rem; color: #4d6559; font-size: .95rem; font-weight: 750; }
.who-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 1rem 0; }
.who-chip { min-width: min(12rem, 100%); margin: 0; padding: .65rem 1rem; background: #fff8df; box-shadow: none; }
.who-chip span, .who-chip small { display: block; }
.who-chip small { margin-top: .15rem; color: #4d6559; font-size: .78rem; }
.who-big-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.who-big-choices button { min-height: 4.8rem; margin: 0; font-size: 1.1rem; }
.who-real-choice { width: 100%; margin: .55rem 0 1.35rem; }
.who-action-choices { margin-top: .7rem; }
.who-clue-choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
.who-action-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.who-challenge-options { grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),19rem)); justify-content: center; width: 100%; }
.who-action-options button { min-height: 6.5rem; margin: 0; padding: .8rem; }
.who-action-options strong,.who-action-options small { display: block; }
.who-action-options small { margin-top: .35rem; font-size: .82rem; font-weight: 650; line-height: 1.25; }
.who-fiction-boundary { width: fit-content; margin: .75rem auto; padding: .55rem .8rem; border-radius: 1rem; background: #eef2ff; font-weight: 800; text-align: center; }
.who-caregiver-other { margin-top: 1.2rem; border-top: 2px solid var(--line); padding-top: .8rem; }
.who-caregiver-other summary { min-height: 52px; display: flex; align-items: center; color: var(--deep); font-weight: 850; cursor: pointer; }
.who-caregiver-other form { padding-top: .4rem; }
.who-strength-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.who-contender { min-width: 0; text-align: center; }
.who-contender h3 { margin: .45rem 0; overflow-wrap: anywhere; }
.who-contender ul { margin: .6rem 0 0; padding: 0; list-style: none; text-align: left; }
.who-clue-list { display: grid; gap: .55rem; }
.who-strength { min-height: 3.2rem; margin: .55rem 0; padding: .75rem .9rem; border-radius: 1rem; background: #f0f6ed; color: #718077; display: flex; align-items: center; }
.who-strength.is-revealed { color: var(--deep); font-weight: 750; }
.who-strength.is-new { animation: who-reveal .35s ease-out 1 both; }
.who-creature-art { position: relative; display: block; width: min(100%, 14rem); aspect-ratio: 1 / 1; margin: 0 auto; overflow: hidden; border-radius: 1.4rem; background: linear-gradient(145deg,#e7f2dd,#dcecf8); }
.who-creature-image { --who-focal-x: 50%; --who-focal-y: 50%; display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--who-focal-x) var(--who-focal-y); }
.who-creature-image[data-focal-x="0"] { --who-focal-x: 0%; }
.who-creature-image[data-focal-x="1"] { --who-focal-x: 1%; }
.who-creature-image[data-focal-x="2"] { --who-focal-x: 2%; }
.who-creature-image[data-focal-x="3"] { --who-focal-x: 3%; }
.who-creature-image[data-focal-x="4"] { --who-focal-x: 4%; }
.who-creature-image[data-focal-x="5"] { --who-focal-x: 5%; }
.who-creature-image[data-focal-x="6"] { --who-focal-x: 6%; }
.who-creature-image[data-focal-x="7"] { --who-focal-x: 7%; }
.who-creature-image[data-focal-x="8"] { --who-focal-x: 8%; }
.who-creature-image[data-focal-x="9"] { --who-focal-x: 9%; }
.who-creature-image[data-focal-x="10"] { --who-focal-x: 10%; }
.who-creature-image[data-focal-x="11"] { --who-focal-x: 11%; }
.who-creature-image[data-focal-x="12"] { --who-focal-x: 12%; }
.who-creature-image[data-focal-x="13"] { --who-focal-x: 13%; }
.who-creature-image[data-focal-x="14"] { --who-focal-x: 14%; }
.who-creature-image[data-focal-x="15"] { --who-focal-x: 15%; }
.who-creature-image[data-focal-x="16"] { --who-focal-x: 16%; }
.who-creature-image[data-focal-x="17"] { --who-focal-x: 17%; }
.who-creature-image[data-focal-x="18"] { --who-focal-x: 18%; }
.who-creature-image[data-focal-x="19"] { --who-focal-x: 19%; }
.who-creature-image[data-focal-x="20"] { --who-focal-x: 20%; }
.who-creature-image[data-focal-x="21"] { --who-focal-x: 21%; }
.who-creature-image[data-focal-x="22"] { --who-focal-x: 22%; }
.who-creature-image[data-focal-x="23"] { --who-focal-x: 23%; }
.who-creature-image[data-focal-x="24"] { --who-focal-x: 24%; }
.who-creature-image[data-focal-x="25"] { --who-focal-x: 25%; }
.who-creature-image[data-focal-x="26"] { --who-focal-x: 26%; }
.who-creature-image[data-focal-x="27"] { --who-focal-x: 27%; }
.who-creature-image[data-focal-x="28"] { --who-focal-x: 28%; }
.who-creature-image[data-focal-x="29"] { --who-focal-x: 29%; }
.who-creature-image[data-focal-x="30"] { --who-focal-x: 30%; }
.who-creature-image[data-focal-x="31"] { --who-focal-x: 31%; }
.who-creature-image[data-focal-x="32"] { --who-focal-x: 32%; }
.who-creature-image[data-focal-x="33"] { --who-focal-x: 33%; }
.who-creature-image[data-focal-x="34"] { --who-focal-x: 34%; }
.who-creature-image[data-focal-x="35"] { --who-focal-x: 35%; }
.who-creature-image[data-focal-x="36"] { --who-focal-x: 36%; }
.who-creature-image[data-focal-x="37"] { --who-focal-x: 37%; }
.who-creature-image[data-focal-x="38"] { --who-focal-x: 38%; }
.who-creature-image[data-focal-x="39"] { --who-focal-x: 39%; }
.who-creature-image[data-focal-x="40"] { --who-focal-x: 40%; }
.who-creature-image[data-focal-x="41"] { --who-focal-x: 41%; }
.who-creature-image[data-focal-x="42"] { --who-focal-x: 42%; }
.who-creature-image[data-focal-x="43"] { --who-focal-x: 43%; }
.who-creature-image[data-focal-x="44"] { --who-focal-x: 44%; }
.who-creature-image[data-focal-x="45"] { --who-focal-x: 45%; }
.who-creature-image[data-focal-x="46"] { --who-focal-x: 46%; }
.who-creature-image[data-focal-x="47"] { --who-focal-x: 47%; }
.who-creature-image[data-focal-x="48"] { --who-focal-x: 48%; }
.who-creature-image[data-focal-x="49"] { --who-focal-x: 49%; }
.who-creature-image[data-focal-x="50"] { --who-focal-x: 50%; }
.who-creature-image[data-focal-x="51"] { --who-focal-x: 51%; }
.who-creature-image[data-focal-x="52"] { --who-focal-x: 52%; }
.who-creature-image[data-focal-x="53"] { --who-focal-x: 53%; }
.who-creature-image[data-focal-x="54"] { --who-focal-x: 54%; }
.who-creature-image[data-focal-x="55"] { --who-focal-x: 55%; }
.who-creature-image[data-focal-x="56"] { --who-focal-x: 56%; }
.who-creature-image[data-focal-x="57"] { --who-focal-x: 57%; }
.who-creature-image[data-focal-x="58"] { --who-focal-x: 58%; }
.who-creature-image[data-focal-x="59"] { --who-focal-x: 59%; }
.who-creature-image[data-focal-x="60"] { --who-focal-x: 60%; }
.who-creature-image[data-focal-x="61"] { --who-focal-x: 61%; }
.who-creature-image[data-focal-x="62"] { --who-focal-x: 62%; }
.who-creature-image[data-focal-x="63"] { --who-focal-x: 63%; }
.who-creature-image[data-focal-x="64"] { --who-focal-x: 64%; }
.who-creature-image[data-focal-x="65"] { --who-focal-x: 65%; }
.who-creature-image[data-focal-x="66"] { --who-focal-x: 66%; }
.who-creature-image[data-focal-x="67"] { --who-focal-x: 67%; }
.who-creature-image[data-focal-x="68"] { --who-focal-x: 68%; }
.who-creature-image[data-focal-x="69"] { --who-focal-x: 69%; }
.who-creature-image[data-focal-x="70"] { --who-focal-x: 70%; }
.who-creature-image[data-focal-x="71"] { --who-focal-x: 71%; }
.who-creature-image[data-focal-x="72"] { --who-focal-x: 72%; }
.who-creature-image[data-focal-x="73"] { --who-focal-x: 73%; }
.who-creature-image[data-focal-x="74"] { --who-focal-x: 74%; }
.who-creature-image[data-focal-x="75"] { --who-focal-x: 75%; }
.who-creature-image[data-focal-x="76"] { --who-focal-x: 76%; }
.who-creature-image[data-focal-x="77"] { --who-focal-x: 77%; }
.who-creature-image[data-focal-x="78"] { --who-focal-x: 78%; }
.who-creature-image[data-focal-x="79"] { --who-focal-x: 79%; }
.who-creature-image[data-focal-x="80"] { --who-focal-x: 80%; }
.who-creature-image[data-focal-x="81"] { --who-focal-x: 81%; }
.who-creature-image[data-focal-x="82"] { --who-focal-x: 82%; }
.who-creature-image[data-focal-x="83"] { --who-focal-x: 83%; }
.who-creature-image[data-focal-x="84"] { --who-focal-x: 84%; }
.who-creature-image[data-focal-x="85"] { --who-focal-x: 85%; }
.who-creature-image[data-focal-x="86"] { --who-focal-x: 86%; }
.who-creature-image[data-focal-x="87"] { --who-focal-x: 87%; }
.who-creature-image[data-focal-x="88"] { --who-focal-x: 88%; }
.who-creature-image[data-focal-x="89"] { --who-focal-x: 89%; }
.who-creature-image[data-focal-x="90"] { --who-focal-x: 90%; }
.who-creature-image[data-focal-x="91"] { --who-focal-x: 91%; }
.who-creature-image[data-focal-x="92"] { --who-focal-x: 92%; }
.who-creature-image[data-focal-x="93"] { --who-focal-x: 93%; }
.who-creature-image[data-focal-x="94"] { --who-focal-x: 94%; }
.who-creature-image[data-focal-x="95"] { --who-focal-x: 95%; }
.who-creature-image[data-focal-x="96"] { --who-focal-x: 96%; }
.who-creature-image[data-focal-x="97"] { --who-focal-x: 97%; }
.who-creature-image[data-focal-x="98"] { --who-focal-x: 98%; }
.who-creature-image[data-focal-x="99"] { --who-focal-x: 99%; }
.who-creature-image[data-focal-x="100"] { --who-focal-x: 100%; }
.who-creature-image[data-focal-y="0"] { --who-focal-y: 0%; }
.who-creature-image[data-focal-y="1"] { --who-focal-y: 1%; }
.who-creature-image[data-focal-y="2"] { --who-focal-y: 2%; }
.who-creature-image[data-focal-y="3"] { --who-focal-y: 3%; }
.who-creature-image[data-focal-y="4"] { --who-focal-y: 4%; }
.who-creature-image[data-focal-y="5"] { --who-focal-y: 5%; }
.who-creature-image[data-focal-y="6"] { --who-focal-y: 6%; }
.who-creature-image[data-focal-y="7"] { --who-focal-y: 7%; }
.who-creature-image[data-focal-y="8"] { --who-focal-y: 8%; }
.who-creature-image[data-focal-y="9"] { --who-focal-y: 9%; }
.who-creature-image[data-focal-y="10"] { --who-focal-y: 10%; }
.who-creature-image[data-focal-y="11"] { --who-focal-y: 11%; }
.who-creature-image[data-focal-y="12"] { --who-focal-y: 12%; }
.who-creature-image[data-focal-y="13"] { --who-focal-y: 13%; }
.who-creature-image[data-focal-y="14"] { --who-focal-y: 14%; }
.who-creature-image[data-focal-y="15"] { --who-focal-y: 15%; }
.who-creature-image[data-focal-y="16"] { --who-focal-y: 16%; }
.who-creature-image[data-focal-y="17"] { --who-focal-y: 17%; }
.who-creature-image[data-focal-y="18"] { --who-focal-y: 18%; }
.who-creature-image[data-focal-y="19"] { --who-focal-y: 19%; }
.who-creature-image[data-focal-y="20"] { --who-focal-y: 20%; }
.who-creature-image[data-focal-y="21"] { --who-focal-y: 21%; }
.who-creature-image[data-focal-y="22"] { --who-focal-y: 22%; }
.who-creature-image[data-focal-y="23"] { --who-focal-y: 23%; }
.who-creature-image[data-focal-y="24"] { --who-focal-y: 24%; }
.who-creature-image[data-focal-y="25"] { --who-focal-y: 25%; }
.who-creature-image[data-focal-y="26"] { --who-focal-y: 26%; }
.who-creature-image[data-focal-y="27"] { --who-focal-y: 27%; }
.who-creature-image[data-focal-y="28"] { --who-focal-y: 28%; }
.who-creature-image[data-focal-y="29"] { --who-focal-y: 29%; }
.who-creature-image[data-focal-y="30"] { --who-focal-y: 30%; }
.who-creature-image[data-focal-y="31"] { --who-focal-y: 31%; }
.who-creature-image[data-focal-y="32"] { --who-focal-y: 32%; }
.who-creature-image[data-focal-y="33"] { --who-focal-y: 33%; }
.who-creature-image[data-focal-y="34"] { --who-focal-y: 34%; }
.who-creature-image[data-focal-y="35"] { --who-focal-y: 35%; }
.who-creature-image[data-focal-y="36"] { --who-focal-y: 36%; }
.who-creature-image[data-focal-y="37"] { --who-focal-y: 37%; }
.who-creature-image[data-focal-y="38"] { --who-focal-y: 38%; }
.who-creature-image[data-focal-y="39"] { --who-focal-y: 39%; }
.who-creature-image[data-focal-y="40"] { --who-focal-y: 40%; }
.who-creature-image[data-focal-y="41"] { --who-focal-y: 41%; }
.who-creature-image[data-focal-y="42"] { --who-focal-y: 42%; }
.who-creature-image[data-focal-y="43"] { --who-focal-y: 43%; }
.who-creature-image[data-focal-y="44"] { --who-focal-y: 44%; }
.who-creature-image[data-focal-y="45"] { --who-focal-y: 45%; }
.who-creature-image[data-focal-y="46"] { --who-focal-y: 46%; }
.who-creature-image[data-focal-y="47"] { --who-focal-y: 47%; }
.who-creature-image[data-focal-y="48"] { --who-focal-y: 48%; }
.who-creature-image[data-focal-y="49"] { --who-focal-y: 49%; }
.who-creature-image[data-focal-y="50"] { --who-focal-y: 50%; }
.who-creature-image[data-focal-y="51"] { --who-focal-y: 51%; }
.who-creature-image[data-focal-y="52"] { --who-focal-y: 52%; }
.who-creature-image[data-focal-y="53"] { --who-focal-y: 53%; }
.who-creature-image[data-focal-y="54"] { --who-focal-y: 54%; }
.who-creature-image[data-focal-y="55"] { --who-focal-y: 55%; }
.who-creature-image[data-focal-y="56"] { --who-focal-y: 56%; }
.who-creature-image[data-focal-y="57"] { --who-focal-y: 57%; }
.who-creature-image[data-focal-y="58"] { --who-focal-y: 58%; }
.who-creature-image[data-focal-y="59"] { --who-focal-y: 59%; }
.who-creature-image[data-focal-y="60"] { --who-focal-y: 60%; }
.who-creature-image[data-focal-y="61"] { --who-focal-y: 61%; }
.who-creature-image[data-focal-y="62"] { --who-focal-y: 62%; }
.who-creature-image[data-focal-y="63"] { --who-focal-y: 63%; }
.who-creature-image[data-focal-y="64"] { --who-focal-y: 64%; }
.who-creature-image[data-focal-y="65"] { --who-focal-y: 65%; }
.who-creature-image[data-focal-y="66"] { --who-focal-y: 66%; }
.who-creature-image[data-focal-y="67"] { --who-focal-y: 67%; }
.who-creature-image[data-focal-y="68"] { --who-focal-y: 68%; }
.who-creature-image[data-focal-y="69"] { --who-focal-y: 69%; }
.who-creature-image[data-focal-y="70"] { --who-focal-y: 70%; }
.who-creature-image[data-focal-y="71"] { --who-focal-y: 71%; }
.who-creature-image[data-focal-y="72"] { --who-focal-y: 72%; }
.who-creature-image[data-focal-y="73"] { --who-focal-y: 73%; }
.who-creature-image[data-focal-y="74"] { --who-focal-y: 74%; }
.who-creature-image[data-focal-y="75"] { --who-focal-y: 75%; }
.who-creature-image[data-focal-y="76"] { --who-focal-y: 76%; }
.who-creature-image[data-focal-y="77"] { --who-focal-y: 77%; }
.who-creature-image[data-focal-y="78"] { --who-focal-y: 78%; }
.who-creature-image[data-focal-y="79"] { --who-focal-y: 79%; }
.who-creature-image[data-focal-y="80"] { --who-focal-y: 80%; }
.who-creature-image[data-focal-y="81"] { --who-focal-y: 81%; }
.who-creature-image[data-focal-y="82"] { --who-focal-y: 82%; }
.who-creature-image[data-focal-y="83"] { --who-focal-y: 83%; }
.who-creature-image[data-focal-y="84"] { --who-focal-y: 84%; }
.who-creature-image[data-focal-y="85"] { --who-focal-y: 85%; }
.who-creature-image[data-focal-y="86"] { --who-focal-y: 86%; }
.who-creature-image[data-focal-y="87"] { --who-focal-y: 87%; }
.who-creature-image[data-focal-y="88"] { --who-focal-y: 88%; }
.who-creature-image[data-focal-y="89"] { --who-focal-y: 89%; }
.who-creature-image[data-focal-y="90"] { --who-focal-y: 90%; }
.who-creature-image[data-focal-y="91"] { --who-focal-y: 91%; }
.who-creature-image[data-focal-y="92"] { --who-focal-y: 92%; }
.who-creature-image[data-focal-y="93"] { --who-focal-y: 93%; }
.who-creature-image[data-focal-y="94"] { --who-focal-y: 94%; }
.who-creature-image[data-focal-y="95"] { --who-focal-y: 95%; }
.who-creature-image[data-focal-y="96"] { --who-focal-y: 96%; }
.who-creature-image[data-focal-y="97"] { --who-focal-y: 97%; }
.who-creature-image[data-focal-y="98"] { --who-focal-y: 98%; }
.who-creature-image[data-focal-y="99"] { --who-focal-y: 99%; }
.who-creature-image[data-focal-y="100"] { --who-focal-y: 100%; }
.who-creature-art--saved { background: linear-gradient(145deg,#e7f2dd,#dcecf8); }
.who-creature-art--saved::after { content: '★'; display: grid; height: 100%; place-items: center; color: #718d78; font-size: 3rem; }
.who-creature-art.is-missing::after { content: '✦'; display: grid; position: absolute; inset: 0; place-items: center; color: #718d78; font-size: 3rem; }
.who-media-credits { margin: .45rem auto 0; text-align: center; font-size: .82rem; }
.who-media-credits a { display: inline-flex; min-height: 52px; align-items: center; padding: .2rem .35rem; color: #4d6559; }
.thinking { min-height: 17rem; display: grid; place-items: center; text-align: center; }
.complete { background: #f2f7e9; }
.sr-status, .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
@media (max-width: 42rem) {
  main { padding: 1rem; }
  .hero { grid-template-columns: 1fr; min-height: auto; text-align: center; }
  .hero-copy { justify-items: center; gap: .7rem; }
  .hero .primary { justify-self: center; }
  .hero-art { min-height: auto; order: -1; }
  .chimpal-character--hero { width: min(75vw, 22rem); max-height: 38vh; }
  .choice-grid { gap: .7rem; }
  .visual-card { min-height: 9.5rem; border-radius: 1.25rem; padding: .5rem; }
  .world-grid .visual-card { min-height: 10.5rem; }
  .world-preview { grid-template-columns: 1fr; }
  .world-preview-tile { grid-row: auto; }
  .subcategory-context { grid-template-columns: 5rem 1fr; }
  .subcategory-detail-card { grid-template-columns: 1fr; gap: .4rem; padding: .55rem; }
  .subcategory-detail-card .subcategory-tile { width: min(100%, 8.5rem); justify-self: center; }
  .subcategory-detail-card .subcategory-copy { text-align: center; }
  .subcategory-preview-details { grid-template-columns: 1fr; }
  .subcategory-preview-tile { width: min(100%, 12rem); justify-self: center; }
  .chimpal-row { grid-template-columns: 5rem 1fr; }
  .chimpal-row.preview-heading { grid-template-columns: 1fr; }
  .preview-world-badge { justify-self: start; }
  .chimpal-character--mini { width: 5rem; }
  .chimpal-character--thinking { width: 9rem; }
  .ask-row { grid-template-columns: 1fr; }
  .ask-row button { width: 100%; }
  .who-big-choices, .who-strength-grid, .who-action-options { grid-template-columns: 1fr; }
  .who-big-choices button { width: 100%; }
  .explorer-top { align-items: flex-start; flex-direction: column; }
  .catalog-screen .explorer-top { align-items: center; flex-direction: row; }
  .this-week-teaser { grid-template-columns: 1fr; }
  .this-week-teaser-action { justify-self: stretch; }
  .this-week-detail-hero { grid-template-columns: 4.5rem minmax(0,1fr); }
  .this-week-detail-visual { width: 4.5rem; }
  .chooser-panel { margin: 1rem auto; }
  .profile-pick { flex-basis: 100%; width: 100%; }
  .chimp-pal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .chooser-actions, .profile-form-actions, .parent-actions { align-items: stretch; flex-direction: column; }
  .chooser-actions button, .profile-form-actions button, .parent-actions button { width: 100%; margin-left: 0; }
}
@media (min-width: 42.01rem) {
  body:has(.who-v5-screen) main { width: min(100%,76rem); padding: 0 clamp(.75rem,2vw,1.5rem); }
  body:has(.who-v5-screen) > .legal-nav { display: none; }
  .who-v5-screen { min-height: calc(100svh - 1.5rem); }
  body:has(.catalog-screen) main { padding-block: clamp(.75rem, 2vh, 1.5rem); }
  body:has(.world-screen) main { padding-block: clamp(.75rem, 1.5vh, 1.25rem); }
  .world-screen .explorer-top { margin-bottom: .5rem; }
  .world-screen .explorer-top #parent { margin: 0; }
  .world-screen .chimpal-row { grid-template-columns: 5rem 1fr; gap: 1rem; }
  .world-screen .chimpal-character--mini { width: 5rem; }
  .world-screen .eyebrow { margin-bottom: .4rem; }
  .world-screen h2 { margin-bottom: 0; font-size: clamp(2rem, 5vw, 3.2rem); }
  .world-screen .world-help { margin: .65rem 0 .35rem; }
  .world-screen .world-grid { width: min(100%, clamp(32rem, 62vh, 40rem)); gap: .75rem; margin: .65rem auto; }
  .world-screen .world-grid .visual-card { min-height: 0; }
  .world-screen .explorer-actions { justify-content: center; }
  .world-screen .ask-panel { margin: .75rem 0 0; padding: .75rem 1rem; }
}
@media (min-width: 60rem) {
  .explorer-layout.has-ask { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem); gap: clamp(1.25rem, 2.5vw, 2rem); align-items: start; }
  .explorer-layout.has-ask .ask-panel { margin: 0; }
  .explorer-layout.has-ask .ask-row { grid-template-columns: 1fr; }
  .explorer-layout.has-ask .ask-row button { width: 100%; margin-right: 0; }
  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .this-week-section-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 22rem) {
  .world-grid, .subcategory-grid, .catalog-grid, .chimp-pal-grid { grid-template-columns: 1fr; }
}
html[data-text-scale="200"] .world-grid, html[data-text-scale="200"] .subcategory-grid, html[data-text-scale="200"] .catalog-grid { grid-template-columns: 1fr; }
html[data-text-scale="200"] .this-week-teaser, html[data-text-scale="200"] .this-week-detail-hero, html[data-text-scale="200"] .this-week-section-grid { grid-template-columns: 1fr; }
html[data-text-scale="200"] .this-week-teaser-action { justify-self: stretch; }
html[data-text-scale="200"] .subcategory-context { grid-template-columns: 1fr; }
html[data-text-scale="200"] .subcategory-detail-card, html[data-text-scale="200"] .subcategory-preview-details { grid-template-columns: 1fr; }
html[data-text-scale="200"] .subcategory-detail-card .subcategory-tile, html[data-text-scale="200"] .subcategory-preview-tile { width: min(100%, 12rem); justify-self: center; }
html[data-text-scale="200"] .subcategory-detail-card .subcategory-copy { text-align: center; }
html[data-text-scale="200"] .explorer-layout.has-ask { display: block; }
html[data-text-scale="200"] .explorer-layout.has-ask .ask-panel { margin-top: 1.5rem; }
html[data-text-scale="200"] .who-strength-grid, html[data-text-scale="200"] .who-big-choices { grid-template-columns: 1fr; }
html[data-text-scale="200"] .hero { grid-template-columns: minmax(0, 1fr); }
html[data-text-scale="200"] .hero-copy, html[data-text-scale="200"] .hero-copy > * { min-width: 0; max-width: 100%; }
html[data-text-scale="200"] .hero h1 { font-size: min(2.2rem, 18vw); overflow-wrap: anywhere; }
html[data-text-scale="200"] .hero .eyebrow { overflow-wrap: anywhere; }
html[data-text-scale="200"] .hero .primary { width: 100%; white-space: normal; overflow-wrap: anywhere; }
html[data-text-scale="200"] .character-skip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
html[data-text-scale="200"] .profile-pick { flex-basis: min(100%, 15rem); width: min(100%, 15rem); min-height: 5rem; }
html[data-text-scale="200"] .chimp-pal-grid { grid-template-columns: 1fr; }
html[data-text-scale="200"] .chooser-actions, html[data-text-scale="200"] .profile-form-actions, html[data-text-scale="200"] .parent-actions { align-items: stretch; flex-direction: column; }
html[data-text-scale="200"] .chooser-actions button, html[data-text-scale="200"] .profile-form-actions button, html[data-text-scale="200"] .parent-actions button { width: 100%; margin-left: 0; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  button:hover { transform: none; }
}

/* Who Would Win v5: four calm, static, image-led scenes. */
.who-v5-screen { min-height: calc(100svh - 2rem); display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; gap: clamp(.25rem,.6vh,.45rem); padding: clamp(.75rem,2vw,1.5rem); overflow: clip; }
.who-v5-top { min-height: 2.75rem; }
.who-v5-top button { min-height: 44px; margin: 0; padding: .4rem .8rem; }
.who-v5-header { min-height: clamp(4.25rem,9vh,5.5rem); display: grid; grid-template-columns: minmax(0,1fr) clamp(6rem,9vw,8rem); align-items: end; gap: 1rem; }
.who-v5-header .eyebrow { margin: 0 0 .2rem; }
.who-v5-header h2 { margin: 0; font-size: clamp(2.1rem,5vw,4.4rem); line-height: .95; }
.who-v5-host { position: relative; align-self: stretch; display: grid; justify-items: center; align-content: end; min-height: 5rem; }
.who-v5-host .chimpal-character { z-index: 2; width: clamp(5.2rem,8vw,7rem); border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.who-v5-host .chimpal-character__scene { display: none; }
.who-v5-host .chimpal-character__fallback { border-radius: 48%; object-fit: cover; object-position: 50% 30%; }
.who-v5-perch { z-index: 3; width: 95%; height: .62rem; margin-top: -1.65rem; border-radius: 999px; background: linear-gradient(#bb8241,#865423); box-shadow: 0 .28rem 0 #6d431f; }
.who-v5-arena { min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; border: 4px solid #bfd2bc; border-radius: 2rem; background: linear-gradient(115deg,#eff9f6 0 49%,#fff6c9 49% 51%,#fffbed 51%); overflow: hidden; box-shadow: 0 1.1rem 2.4rem #486a4f1b; }
.who-v5-arena>[data-who-presentation] { min-height: 0; display: grid; }
.who-v5-pair { min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) 4.5rem minmax(0,1fr); gap: .5rem; align-items: stretch; padding: clamp(.55rem,1.4vw,1rem); }
.who-v5-animal { position: relative; min-width: 0; display: grid; grid-template-rows: minmax(0,1fr) auto auto; align-items: center; justify-items: center; gap: .25rem; padding: clamp(.45rem,1vw,.75rem); border: 3px solid #d4ded1; border-radius: 1.45rem; background: #fffefa; }
.who-v5-animal.is-empty { background: #ffffffc7; }
.who-v5-number { position: absolute; top: .55rem; left: .55rem; display: grid; place-items: center; width: 2.25rem; aspect-ratio: 1; border-radius: 50%; background: #ffdb6e; box-shadow: 0 .2rem 0 #9a7629; color: #6c4a12; font-weight: 900; }
.who-v5-photo { min-height: 0; height: 100%; width: 100%; display: grid; place-items: center; color: #45624f; font-size: 4rem; }
.who-v5-photo .who-creature-art { width: min(100%,13.5rem); height: min(22vh,13.5rem); }
.who-v5-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 1.25rem; }
.who-v5-photo.is-missing::after { content: 'Picture unavailable'; font-size: 1rem; font-weight: 800; }
.who-v5-animal h3 { margin: 0; font-size: clamp(1.35rem,2.4vw,2rem); text-transform: capitalize; line-height: 1; }
.who-v5-vs { align-self: center; justify-self: center; display: grid; place-items: center; width: 4rem; aspect-ratio: 1; border: 4px solid #8d6725; border-radius: 50%; background: #ffde72; box-shadow: 0 .45rem 0 #8d6725; color: #704a0a; font-size: 1.35rem; font-weight: 950; }
.who-v5-facts,.who-v5-clues { align-self: end; width: 100%; display: grid; gap: .3rem; padding: 0; margin: 0; list-style: none; }
.who-v5-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
.who-v5-facts li,.who-v5-clues li { min-width: 0; display: flex; align-items: center; justify-content: center; gap: .35rem; border-radius: .8rem; font-weight: 800; line-height: 1.05; text-align: center; }
.who-v5-facts li { min-height: 3rem; padding: .35rem; font-size: clamp(.72rem,1.35vw,.95rem); }
.who-v5-facts li:nth-child(1) { background: #dcecff; }.who-v5-facts li:nth-child(2) { background: #e2f5ca; }.who-v5-facts li:nth-child(3) { background: #ffebbf; }
.who-v5-clues li { min-height: 2.8rem; justify-content: flex-start; padding: .45rem .7rem; background: #eef5e8; font-size: clamp(.82rem,1.5vw,1.05rem); text-align: left; }
.who-v5-clues li span { color: #e0a82c; }
.who-v5-controls { min-height: 5.5rem; padding: clamp(.5rem,1vw,.8rem); border-top: 3px solid #ead99b; background: #fffdf4f2; }
.who-v5-entry { display: grid; grid-template-columns: auto minmax(12rem,1fr) auto; gap: .7rem; align-items: center; max-width: 74rem; margin: 0 auto; }
.who-v5-entry label { font-weight: 850; }
.who-v5-entry input { min-height: 3.5rem; margin: 0; }
.who-v5-primary,.who-v5-challenge,.who-v5-pick { min-height: 3.5rem; margin: 0; border-color: #805e1f; box-shadow: 0 .35rem 0 #876420; font-weight: 900; }
.who-v5-primary { background: linear-gradient(#ffe17e,#efc458); }
.who-v5-challenges { display: grid; grid-template-columns: minmax(10rem,.55fr) repeat(2,minmax(13rem,1fr)); align-items: center; gap: .7rem; }
.who-v5-challenges h3 { margin: 0; font-size: clamp(1.15rem,2vw,1.65rem); }
.who-v5-challenge { display: flex; align-items: center; justify-content: center; gap: .65rem; font-size: clamp(1rem,1.8vw,1.35rem); }
.who-v5-challenge span { font-size: 1.8rem; }.who-v5-challenge-0 { background: linear-gradient(#ffe27c,#efbf43); }.who-v5-challenge-1 { background: linear-gradient(#a8e8f1,#69c4d6); }
.who-v5-predict { display: grid; grid-template-columns: minmax(12rem,.7fr) minmax(0,1.3fr); align-items: center; gap: .8rem; }
.who-v5-predict h3 { margin: 0; font-size: clamp(1.25rem,2.2vw,1.75rem); }
.who-v5-predict>div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.who-v5-pick-0 { background: #ffd46d; }.who-v5-pick-1 { background: #8fd9e6; }.who-v5-show { background: #f3e9ff; border-color: #76558d; box-shadow-color: #76558d; }
.who-v5-status { display: flex; align-items: center; justify-content: center; gap: .8rem; font-weight: 850; }.who-v5-status p { margin: 0; }
.who-v5-result { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1rem; }
.who-v5-result-copy>p,.who-v5-result-copy h3 { margin: 0 0 .2rem; }.who-v5-result-copy h3 { color: #2e6746; font-size: clamp(1.35rem,2.2vw,1.85rem); }
.who-v5-result-copy ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; margin: .35rem 0 0; padding: 0; list-style: none; }
.who-v5-result-copy li { padding: .5rem .7rem; border-radius: .75rem; background: #eef5e8; font-weight: 750; }
.who-v5-result-actions { display: flex; align-items: center; gap: .5rem; }
.who-v5-contrast { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: 'title button' 'rounds button' 'lesson button'; align-items: center; gap: .25rem 1rem; }
.who-v5-contrast h3 { grid-area: title; margin: 0; }.who-v5-contrast>div { grid-area: rounds; display: flex; gap: .5rem; }.who-v5-contrast>p { grid-area: lesson; margin: 0; }.who-v5-contrast>button { grid-area: button; }
.who-v5-round { display: flex; align-items: center; gap: .45rem; padding: .35rem .55rem; border-radius: .75rem; background: #eef5e8; }.who-v5-round>span { font-size: 1.5rem; }.who-v5-round p { margin: 0; }
.who-v5-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.2rem; }.who-v5-footer>div { display: flex; gap: .5rem; }.who-v5-footer button { min-height: 3rem; margin: 0; padding-block: .4rem; }.who-v5-footer p { margin: 0; font-size: .82rem; }

@media (max-width: 48rem) {
  .who-v5-screen { min-height: 100svh; overflow: visible; }
  .who-v5-header { grid-template-columns: minmax(0,1fr) 5.5rem; }
  .who-v5-header h2 { font-size: clamp(1.9rem,8vw,3rem); }
  .who-v5-host .chimpal-character { width: 5.2rem; }
  .who-v5-pair { grid-template-columns: 1fr; }
  .who-v5-animal { grid-template-columns: minmax(5.5rem,7.5rem) minmax(0,1fr); grid-template-rows: auto minmax(0,1fr); }
  .who-v5-photo { grid-row: 1 / span 2; }
  .who-v5-animal h3,.who-v5-facts,.who-v5-clues { grid-column: 2; }
  .who-v5-vs { width: 2.6rem; border-width: 2px; font-size: .85rem; box-shadow: 0 .25rem 0 #8d6725; }
  .who-v5-photo .who-creature-art { height: min(18vh,7.5rem); }
  .who-v5-facts li { min-height: 2.2rem; }
  .who-v5-entry,.who-v5-challenges,.who-v5-predict,.who-v5-result { grid-template-columns: 1fr; }
  .who-v5-entry label,.who-v5-challenges h3,.who-v5-predict h3 { text-align: center; }
  .who-v5-result-copy { text-align: center; }.who-v5-result-copy ul { grid-template-columns: 1fr; text-align: left; }
  .who-v5-result-actions { justify-content: center; }
  .who-v5-footer { flex-wrap: wrap; }
}
@media (min-width: 48.01rem) and (max-height: 30rem) {
  .who-v5-screen { min-height: calc(100svh - 1.5rem); gap: .18rem; padding: .3rem .65rem; }
  .who-v5-top { min-height: 44px; margin-bottom: 0; }.who-v5-top button { min-height: 44px; padding-block: .2rem; }
  .who-v5-header { min-height: 2.75rem; }.who-v5-header .eyebrow { margin-bottom: 0; font-size: .68rem; line-height: 1; }.who-v5-header h2 { font-size: 1.75rem; line-height: .9; }
  .who-v5-host { min-height: 2.75rem; }.who-v5-host .chimpal-character { width: 3rem; }.who-v5-host .who-v5-perch { height: .45rem; margin-top: -1rem; }
  .who-v5-pair { padding: .3rem; }.who-v5-animal { padding: .25rem .4rem; gap: .1rem; }
  .who-v5-photo .who-creature-art { height: min(16vh,3.8rem); }
  .who-v5-animal h3 { font-size: 1rem; }.who-v5-facts li { min-height: 1.8rem; padding: .15rem .3rem; font-size: .8rem; }.who-v5-clues li { min-height: 1.45rem; padding: .08rem .3rem; font-size: .8rem; }
  .who-v5-controls { min-height: 3.7rem; padding: .25rem .45rem; }.who-v5-primary,.who-v5-challenge,.who-v5-pick { min-height: 44px; }
  .who-v5-result-copy { display: grid; grid-template-columns: auto minmax(0,1fr); grid-template-areas: 'prediction title' 'reasons reasons'; align-items: center; gap: 0 .45rem; }
  .who-v5-result-copy>p { grid-area: prediction; font-size: .8rem; }.who-v5-result-copy h3 { grid-area: title; margin: 0; font-size: 1rem; }.who-v5-result-copy ul { grid-area: reasons; margin-top: .1rem; }.who-v5-result-copy li { padding: .15rem .35rem; font-size: .8rem; }
  .who-v5-footer { min-height: 2.75rem; }.who-v5-footer button { min-height: 44px; padding-block: .15rem; }
}
@media (max-width: 25rem) {
  .who-v5-screen { padding: .55rem; }
  .who-v5-top { min-height: 2.75rem; }.who-v5-top button { min-height: 44px; padding: .35rem .65rem; }
  .who-v5-header { min-height: 4.6rem; }.who-v5-header .eyebrow { font-size: .75rem; }.who-v5-host .chimpal-character { width: 4.6rem; }
  .who-v5-arena { border-width: 3px; border-radius: 1.4rem; }
  .who-v5-pair { padding: .4rem; gap: .2rem; }.who-v5-animal { padding: .35rem .2rem; border-width: 2px; }.who-v5-number { width: 1.65rem; top: .3rem; left: .3rem; font-size: .75rem; }
  .who-v5-photo .who-creature-art { height: 6.3rem; }.who-v5-animal h3 { font-size: 1.15rem; }
  .who-v5-predict>div { grid-template-columns: repeat(3,minmax(0,1fr)); }.who-v5-pick { min-width: 0; padding-inline: .2rem; }
  .who-v5-footer p { display: none; }
}
html[data-text-scale="200"] .who-v5-screen { width: 100%; min-width: 0; max-width: 100%; overflow: visible; }
html[data-text-scale="200"] .who-v5-screen * { min-width: 0; overflow-wrap: anywhere; }
html[data-text-scale="200"] .who-v5-header,html[data-text-scale="200"] .who-v5-pair { grid-template-columns: 1fr; }
html[data-text-scale="200"] .who-v5-host { display: none; }
html[data-text-scale="200"] .who-v5-entry,html[data-text-scale="200"] .who-v5-challenges,html[data-text-scale="200"] .who-v5-predict,html[data-text-scale="200"] .who-v5-result { grid-template-columns: 1fr; }
html[data-text-scale="200"] .who-v5-facts,html[data-text-scale="200"] .who-v5-result-copy ul { grid-template-columns: 1fr; }
html[data-text-scale="200"] .who-v5-footer { align-items: stretch; flex-direction: column; }
