@font-face{font-family:'Fredoka';font-style:normal;font-weight:300 700;font-display:swap;src:url('fonts/fredoka.ttf') format('truetype')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:200 1000;font-display:swap;src:url('fonts/nunito.ttf') format('truetype')}

:root{--ink:#173a58;--navy:#173a58;--sky:#b8e4ef;--yellow:#ffdb67;--cream:#fffaf0;--coral:#ed765b;--teal:#347c80}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:25px}
body{margin:0;color:var(--ink);background:var(--cream);font:700 1.125rem/1.5 'Nunito',ui-rounded,system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:4px solid var(--coral);outline-offset:6px}
.skip-link{position:absolute;top:-120px;left:20px;z-index:10;background:var(--cream);padding:12px 20px;border-radius:12px}
.skip-link:focus{top:12px}
header{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:23px max(6vw,24px);gap:25px}
.brand{font:600 2.125rem/1 'Fredoka',ui-rounded,system-ui,sans-serif;white-space:nowrap;letter-spacing:-1px}
.brand,.footer-brand{display:inline-flex;align-items:center;gap:5px}
.flower-logo{display:block;width:40px;height:40px;object-fit:contain;flex-shrink:0}
nav{display:flex;gap:32px;font-size:1rem}
nav a:hover{text-decoration:underline;text-underline-offset:6px}
.playground{background:var(--sky);display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:40px;padding:35px max(8vw,28px) 45px;min-height:700px}
.hello{padding-bottom:35px}
h1,h2,h3,.book-title{font-family:'Fredoka',ui-rounded,system-ui,sans-serif;line-height:1.05}
h1{font-size:clamp(4.375rem,8.5vw,7.375rem);font-weight:600;margin:0 0 26px;letter-spacing:-3px}
h1 span{color:var(--navy)}
.hello>p{font-size:1.75rem;line-height:1.3;margin:0 0 30px}
.button{display:inline-block;background:var(--navy);color:white;padding:15px 28px;border-radius:20px;font-weight:900;font-size:1.125rem}
.button:hover{background:#0e2b43}
.dress-up{text-align:center;min-width:0}
.character-stage{height:430px;display:flex;align-items:center;justify-content:center}
.portrait{display:block;background-image:url('zeno-characters.svg');background-size:300% 100%;background-position:0% 0;background-repeat:no-repeat;width:215px;height:430px;flex-shrink:0}
.dress-up h2{font-size:1.6875rem;font-weight:600;margin:10px 0 20px}
.outfit-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.outfit{font-size:1rem;font-weight:900;background:var(--cream);border:3px solid transparent;border-radius:18px;padding:12px 18px;min-height:52px}
.outfit:hover{border-color:var(--navy)}
.outfit.active{background:var(--yellow);border-color:var(--ink)}
.outfit-caption{font-size:1rem;margin:17px 0 0;min-height:24px}
.stories{max-width:930px;margin:auto;text-align:center;padding:65px 30px}
.stories>h2{font-weight:600;font-size:3rem;letter-spacing:-1px;margin:0 0 15px}
.stories>h2 span{color:var(--teal)}
.sub{font-size:1.0625rem;margin:0 0 40px}
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:720px;margin:auto}
.book-card{padding:0;border:0;background:transparent;min-width:0;text-align:center}
.book-cover{display:block;border-radius:22px;padding:22px 15px 20px;transition:transform .18s}
.book-card:hover .book-cover{transform:translateY(-5px)}
.nature{background:#9ed6c4}
.moon{background:var(--yellow)}
.series-label{display:block;font-size:.875rem;font-weight:900;letter-spacing:.8px;margin:0 0 8px}
.book-title{display:block;font-weight:600;font-size:2.1875rem}
.book-cover .portrait{height:290px;width:145px;margin:12px auto}
.explorer{background-position:48% 0}
.space{background-position:100% 0}
.storyteller{background-image:url('zeno-storyteller-v2.svg');background-size:contain;background-position:center}
.book-subtitle{display:block;font-size:.9375rem}
.book-label{display:flex;align-items:center;justify-content:space-between;text-align:left;margin-top:16px;padding:0 4px;font-size:1.1875rem;gap:12px}
.book-label b{font-size:1.5625rem;flex-shrink:0}
.grownups{max-width:780px;padding:0 30px 45px;margin:auto}
details{border-top:2px solid #173a5822;border-bottom:2px solid #173a5822;padding:23px 0}
summary{cursor:pointer;font-size:1.125rem;display:flex;justify-content:space-between;list-style:none;gap:15px}
summary::-webkit-details-marker{display:none}
summary>span{font-size:1.5625rem;line-height:1;flex-shrink:0}
details[open] summary>span{transform:rotate(45deg)}
details>div{font-weight:600;font-size:1rem;line-height:1.7;padding-top:10px}
footer{padding:30px 24px;background:var(--navy);color:white;text-align:center}
.footer-brand{font:600 1.875rem 'Fredoka',ui-rounded,system-ui,sans-serif}
footer p{font-size:.9375rem;font-weight:600;margin:10px 0}
.sister-site{display:inline-block;color:var(--yellow);font-size:.875rem;text-decoration:underline;text-underline-offset:4px;margin:3px 0 9px}
footer small{display:block;font-size:.8125rem;font-weight:600;margin-top:8px}
dialog{width:calc(100% - 36px);max-width:520px;max-height:calc(100dvh - 36px);overflow:auto;padding:40px 32px 32px;background:var(--cream);color:var(--ink);border:0;border-radius:25px;font-size:1.0625rem;font-weight:600}
dialog::backdrop{background:#092536aa}
dialog .close{position:absolute;top:8px;right:10px;border:0;background:none;font-size:2.1875rem;width:48px;height:48px}
dialog h2{font-size:2.375rem;margin:18px 0}
dialog .soon{font-size:.8125rem;letter-spacing:1px;font-weight:900}
.try-box{background:var(--yellow);border-radius:18px;padding:20px;margin:25px 0}
.try-box h3{font-size:1.625rem;margin:0 0 10px}
.try-box p{margin:0}
dialog a{font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
body.modal-open{overflow:hidden}
@media(min-width:1500px){.playground{padding-left:calc((100vw - 1150px)/2);padding-right:calc((100vw - 1150px)/2)}}
@media(max-width:950px){.playground{gap:20px;padding-left:5vw;padding-right:5vw}.outfit{font-size:.875rem;padding:10px 12px}.hello>p{font-size:1.5rem}}
@media(max-width:650px){header{padding:20px;gap:15px}.brand{font-size:1.6875rem}.brand .flower-logo{width:32px;height:32px}nav{font-size:.875rem;gap:17px}nav a:last-child{display:none}.playground{grid-template-columns:1fr;gap:12px;padding:32px 18px 35px;min-height:0}.hello{text-align:center;padding:0}.hello h1{font-size:3.75rem;letter-spacing:-1px;margin-bottom:10px}.hello h1 br{display:none}.hello>p{font-size:1.25rem;line-height:1.3;margin:0}.hello>p br{display:none}.hello .button{display:none}.character-stage{height:350px}.character-stage .portrait{height:350px;width:175px}.dress-up h2{font-size:1.5625rem;margin:6px 0 17px}.outfit-buttons{gap:7px}.outfit{font-size:.875rem;padding:10px 13px;border-radius:15px}.outfit-caption{font-size:.875rem;margin-top:14px}.stories{padding:42px 22px}.stories>h2{font-size:2.3125rem}.sub{font-size:.9375rem;margin-bottom:28px}.book-grid{gap:18px}.book-cover{padding:16px 8px;border-radius:17px}.series-label{font-size:.8125rem;letter-spacing:0}.book-title{font-size:1.5625rem;overflow-wrap:normal}.book-cover .portrait{height:210px;width:105px;margin:12px auto}.book-subtitle{font-size:.875rem;line-height:1.3;min-height:36px}.book-label{font-size:.875rem;gap:6px}.book-label b{font-size:1.25rem}.grownups{padding:0 24px 35px}summary{font-size:1rem}}
@media(max-width:380px){.book-grid{grid-template-columns:1fr;max-width:280px}.book-cover .portrait{height:270px;width:135px}.book-title{font-size:1.875rem}.book-subtitle{min-height:0}.book-label{margin-bottom:12px}.hello h1{font-size:3.3125rem}.outfit{padding:10px}.brand{font-size:1.5625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.stories{max-width:1200px}
.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 30px;max-width:1100px;margin:auto;text-align:left}
.collection-card{grid-column:span 2;min-width:0}
.collection-card:nth-child(4){grid-column:2/span 2}
.collection-card:nth-child(5){grid-column:4/span 2}
.cover-link{display:block;overflow:hidden;border-radius:20px;box-shadow:5px 7px 0 #173a5814;transition:transform .18s}
.cover-link:hover{transform:translateY(-5px)}
.cover-link img{display:block;width:100%;height:auto;aspect-ratio:1/1}
.book-theme{font-size:.875rem;font-weight:900;color:var(--teal);margin:21px 0 7px}
.collection-card h3{font-size:1.625rem;font-weight:600;margin:0 0 10px;line-height:1.15}
.collection-card>p:not(.book-theme){font-size:1rem;margin:0 0 19px;font-weight:600}
.book-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.book-actions .button{font-size:1rem;padding:11px 18px;border-radius:15px;min-height:48px}
.print-button{border:2px solid var(--ink);border-radius:15px;padding:9px 15px;background:transparent;font-size:1rem;font-weight:900;min-height:48px}
.print-button:hover{background:var(--yellow)}
.future-book{max-width:255px;margin:58px auto 0}
.future-book>.book-theme{margin-bottom:18px}
.future-book .book-title{font-size:1.75rem}
.future-book .book-cover .portrait{height:230px;width:115px}
.future-book .book-label{font-size:1rem}
#print-dialog .button{font-size:1rem;text-decoration:none;margin-top:15px}
#shop-links{display:flex;gap:10px;flex-wrap:wrap}
#shop-links:empty{display:none}
@media(max-width:950px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 25px;max-width:760px}.collection-card,.collection-card:nth-child(4),.collection-card:nth-child(5){grid-column:auto}.collection-card:last-child{grid-column:1/-1;width:calc(50% - 13px);justify-self:center}.collection-card h3{font-size:1.5rem}}
@media(max-width:500px){.collection-grid{grid-template-columns:1fr;gap:35px;max-width:310px}.collection-card:last-child{grid-column:auto;width:100%}.stories{padding:44px 25px}.collection-card h3{font-size:1.75rem}.book-theme{font-size:.875rem}.book-actions .button,.print-button{font-size:1rem;padding:11px 18px}.cover-link{border-radius:20px}.future-book{margin-top:44px}}

/* ZenBloomBooks shared credits */
.brand,.footer-brand{font-size:1.65rem;white-space:nowrap}.book-credits{font-size:1rem;line-height:1.55;font-weight:800}.cover-welcome .book-credits{font-size:1rem;margin:20px 0}.source-note .book-credits{margin:18px 0}@media(max-width:480px){header{flex-wrap:wrap;gap:14px}.brand{font-size:1.4rem}header nav{gap:16px}.cover-welcome .book-credits{font-size:1rem}}

.collection-header__links {
  align-items: center;
  margin-left: auto;
}

.collection-header .collection-switcher {
  flex: none;
  align-items: center;
  gap: 4px;
}

.collection-switcher .collection-switcher__link {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 44px;
  padding: 4px;
  border-radius: 8px;
  font-size: .6875rem;
  font-weight: 900;
  line-height: 1;
}

.collection-switcher .collection-switcher__link:hover {
  background: rgb(255 255 255 / 12%);
  text-decoration: none;
}

.collection-switcher .collection-switcher__link:focus-visible {
  outline-color: var(--yellow);
  outline-offset: 2px;
}

.collection-switcher img {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--cream);
  object-fit: cover;
}

.collection-switcher__link[aria-current] {
  color: var(--yellow);
}

.collection-switcher__link[aria-current] img {
  box-shadow: 0 0 0 2px var(--yellow);
}

@media (max-width: 560px) {
  .collection-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 10px;
    padding: 14px 16px 11px;
  }

  .collection-header > .collection-header__links {
    grid-area: 2 / 1 / 3 / -1;
    margin: 0;
  }

  .collection-header .collection-switcher {
    grid-area: 1 / 2;
  }
}

@media (max-width: 380px) {
  .collection-header > a.brand {
    font-size: 1.2rem;
  }

  .collection-header > .brand .flower-logo {
    width: 28px;
    height: 28px;
  }
}

/* PDF book previews */
.pdf-download{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:inherit;font:800 1rem 'Nunito',sans-serif;text-decoration:underline;text-underline-offset:4px}
.collection-card>.pdf-download{margin-top:6px}
.pdf-download:focus-visible{outline:3px solid currentColor;outline-offset:5px;border-radius:3px}
dialog .pdf-download{display:flex;margin-top:10px}
.pdf-download[hidden]{display:none}

/* Collectible book collection */
.collection-card>.series-label{font:800 .75rem 'Nunito',sans-serif;letter-spacing:.02em;line-height:1.5;margin:16px 0 -12px}
.collection-note{max-width:650px;margin:0 auto 28px;font:700 1rem 'Nunito',sans-serif;line-height:1.6}
.cover-welcome>.series-label{font:800 .875rem 'Nunito',sans-serif;margin:18px 0 0;line-height:1.5}
