/* The same two little residents, throughout their night-time story park. */
.park-art { display:block; width:100%; height:auto; overflow:visible; }
.park-art, .park-art * { pointer-events:none; }
.park-blink { transform-box:fill-box; transform-origin:center; animation:park-blink 9s ease-in-out infinite; }
.park-xiaomei .park-blink { animation-duration:11.3s; animation-delay:-3s; }
.park-wing { transform-box:fill-box; transform-origin:80% 5%; }
.park-twinkle { animation:park-twinkle 6s ease-in-out infinite; }
.park-late { animation-delay:-2.4s; }
.park-steam { animation:park-steam 4s ease-in-out infinite; }
.park-float { animation:park-float 7s ease-in-out infinite; }
.park-stroll { animation:park-stroll 9s ease-in-out infinite; }
.park-pair-heart { opacity:.8; }
@keyframes park-blink { 0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)} }
@keyframes park-twinkle { 0%,100%{opacity:.4}50%{opacity:1} }
@keyframes park-steam { 0%,100%{transform:translateY(1px);opacity:.3}50%{transform:translateY(-4px);opacity:.75} }
@keyframes park-float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)} }
@keyframes park-stroll { 0%,100%{transform:translateX(0)}50%{transform:translateX(14px)} }
@keyframes park-wave { 0%,100%{transform:rotate(0)}25%,65%{transform:rotate(-25deg)}45%,85%{transform:rotate(4deg)} }
@media(hover:hover) {
  .brand:hover .park-wing, .book-card:hover .park-wing, .new-book-card:hover .park-wing,
  .inspiration:hover .park-wing, .character-card:hover .park-wing { animation:park-wave 1.2s ease-in-out 2; }
}
.workspace { position:relative; isolation:isolate; overflow:clip; }
.park-background { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.park-doodle { position:absolute; width:120px; opacity:.045; transform:rotate(-13deg); }
.park-doodle-one { top:580px; right:-28px; }
.park-doodle-two { top:1250px; left:-25px; width:100px; transform:rotate(12deg); }
.park-background::before, .park-background::after { content:''; position:absolute; width:280px; height:280px; border:1px dashed var(--line); opacity:.45; border-radius:50%; }
.park-background::before { right:-160px; top:850px; }
.park-background::after { left:-190px; top:230px; }
.brand { gap:10px; }
.brand-mark { width:49px; height:46px; border:0; background:transparent; flex-shrink:0; border-radius:0; }
.brand-mark .park-art { width:57px; }
.brand small { font-size:9px; letter-spacing:.5px; }
.sidebar-caption { letter-spacing:.4px; font-size:10px; }
.sidebar-residents { margin:20px -1px 10px; text-align:center; }
.sidebar-residents .park-scene { max-width:180px; margin:auto; }
.sidebar-residents>span { font-size:10px; color:var(--muted); letter-spacing:.3px; }
.little-note { margin:18px 8px 15px; font-size:12px; }
.topbar-right { margin-left:auto; margin-right:24px; }
.park-motion, .park-mobile-motion, .park-login-motion { display:inline-flex; align-items:center; justify-content:center; gap:6px; color:var(--muted); font-size:10px; border:1px solid var(--line); border-radius:30px; min-height:33px; padding:6px 10px; flex-shrink:0; }
.park-motion:hover, .park-mobile-motion:hover, .park-login-motion:hover { color:var(--accent); background:var(--surface); }
.park-motion .icon, .park-mobile-motion .icon, .park-login-motion .icon { width:13px; height:13px; }
.park-mobile-motion { display:none; }
.hero { border-radius:22px; background:#2d4437; }
.hero::after { content:''; position:absolute; left:-7%; right:-7%; bottom:-62px; height:90px; border-radius:50%; background:#526c4a; opacity:.14; pointer-events:none; }
.hero-art { z-index:1; }
.hero .eyebrow { letter-spacing:2px; font-size:11px; }
.park-bunting { position:absolute; top:0; right:40px; display:flex; gap:10px; padding:0 5px; transform:rotate(7deg); transform-origin:right top; border-top:1px solid #9ea17a70; }
.park-bunting i { display:block; width:15px; height:24px; background:#d5b67a; clip-path:polygon(0 0,100% 0,50% 100%); opacity:.6; }
.park-bunting i:nth-child(even) { background:#cd9380; height:20px; }
.reading-emblem { width:57px; height:58px; border:0; background:none; }
.reading-emblem .park-art { height:59px; }
.continue-banner { border-radius:15px; }
.cover { overflow:hidden; border-radius:6px 17px 17px 6px; aspect-ratio:auto; min-height:365px; display:flex; flex-direction:column; }
.cover h3 { min-height:75px; }
.cover-scene { display:flex; flex-direction:column; gap:0; margin:auto -10px 0; width:calc(100% + 20px); }
.cover-scene .park-scene { max-width:260px; height:auto; max-height:165px; }
.cover-scene span { font-size:10px; opacity:.75; letter-spacing:2px; }
.cover-line { margin-top:12px; }
.new-book-card { border-radius:6px 17px 17px 6px; min-height:365px; aspect-ratio:auto; }
.new-book-card>span { width:110px; height:80px; background:none; border:0; padding:0; border-radius:0; margin-bottom:16px; }
.new-book-card .park-pair { width:110px; height:80px; }
.inspiration { border-radius:14px; gap:13px; }
.inspiration-icon { padding:0; background:none; border:0; border-radius:0; width:96px; flex:0 0 96px; }
.inspiration-icon .park-art { width:100%; }
.inspiration>div { flex:1; min-width:0; }
.inspiration-section .section-heading { flex-wrap:wrap; }
.inspiration-refresh { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; min-height:42px; flex-shrink:0; border:1px solid var(--line); border-radius:24px; color:var(--accent); font-size:12px; background:var(--surface); }
.inspiration-refresh:hover { background:var(--surface-hover); border-color:var(--accent); }
.inspiration-refresh .icon { width:16px; height:16px; }
.footer { position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; padding-top:0; border-top:0; }
.park-footer-garden { flex:0 0 calc(100% + 88px); margin:0 -44px 30px; position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.park-landscape { width:100%; min-width:700px; }
.park-goodnight { position:absolute; inset:auto 0 28px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:7px; }
.park-goodnight .park-pair { width:68px; }
.park-goodnight>span { font-family:var(--serif); letter-spacing:2px; font-size:12px; color:var(--muted); }
.paper-divider { display:flex; align-items:center; justify-content:center; gap:14px; }
.paper-divider::before, .paper-divider::after { content:''; height:1px; width:28px; background:var(--line); }
.paper-divider .park-pair { width:47px; opacity:.75; }
.reading-paper .park-art * { animation:none; }
.park-end-pair { display:block; width:67px; margin:0 auto 10px; }
.park-writing-companions { display:flex; align-items:center; gap:10px; margin:-9px 0 19px; color:var(--muted); font-size:9px; }
.park-writing-companions .park-pair { width:64px; flex-shrink:0; }
.empty-chapter>.park-scene { max-width:200px; margin:0 auto 20px; }
.character-face { width:83px; height:91px; background:none!important; }
.character-face::before, .character-face::after { content:none; }
.character-card { border-radius:18px; }
.page-intro { position:relative; padding-right:190px; min-height:190px; }
.park-page-friends { position:absolute; width:190px; right:0; top:5px; }
.source-summary { position:relative; margin-right:-190px; }
.source-card { position:relative; border-radius:14px; }
.source-card::after { content:''; position:absolute; right:18px; top:16px; width:12px; height:16px; border-radius:60% 60% 48% 48%; background:#e8bd6b; opacity:.15; transform:rotate(18deg); }
.park-modal-welcome { width:86px; margin:-7px 0 13px; }
.theme-choices .park-scene { width:100%; height:57px; }
.theme-choices span { padding:8px 4px 12px; gap:0; }
dialog { border-radius:22px; }
.login-page { position:relative; isolation:isolate; overflow:hidden; padding:45px 20px 95px; }
.login-card { position:relative; border-radius:110px 110px 24px 24px; padding-top:20px; text-align:center; box-shadow:var(--shadow); }
.login-card .brand-mark { display:none; }
.login-card .park-login-art { width:230px; max-width:95%; margin:0 auto 10px; }
.login-card form { text-align:left; }
.park-login-garden { position:absolute; bottom:0; left:0; right:0; z-index:-1; }
.park-login-motion { position:absolute; right:24px; top:20px; }
:root[data-story-motion=paused] *, :root[data-story-hidden=true] * { animation-play-state:paused!important; }
@media(min-width:1600px) { .cover-scene .park-scene { max-height:190px; } }
@media(max-width:1250px) {
  .brand-mark { width:40px; }.brand-mark .park-art { width:48px; }
  .sidebar-residents .park-scene { max-width:160px; }
  .inspiration-icon { width:75px; flex-basis:75px; }
  .topbar-right { display:none!important; }
  .cover-scene .park-scene { max-height:135px; }
}
@media(max-width:1000px) {
  .sidebar-caption { display:none; }
  .sidebar-residents { display:none; }
  .cover-scene .park-scene { max-height:155px; }
  .character-face { width:74px; height:80px; }
}
@media(max-width:760px) {
  .sidebar { padding:0 15px; gap:5px; }
  .brand { gap:7px; }.brand-mark { width:41px; height:42px; }.brand-mark .park-art { width:47px; }
  .brand>span:last-child { font-size:16px; letter-spacing:.5px; }
  .sidebar nav { gap:0; }.sidebar nav a { padding:9px 8px; }
  .park-mobile-motion { display:flex; width:31px; height:31px; min-height:31px; padding:0; border-color:transparent; }
  .park-mobile-motion span { display:none; }
  .hero { border-radius:20px; }.hero .eyebrow { font-size:10px; letter-spacing:1.5px; }
  .hero-art { margin-top:4px; max-width:370px; }.hero .story-art { max-height:220px; }
  .park-bunting { right:25px; gap:7px; }.park-bunting i { width:12px; height:18px; }
  .art-motion-toggle { top:2px; right:-7px; }
  .reading-emblem { width:43px; height:48px; }.reading-emblem .park-art { height:48px; }
  .cover { padding:20px 15px 16px 22px; min-height:325px; }
  .cover h3 { font-size:21px; margin-top:12px; }
  .cover-scene { margin-top:auto; }.cover-scene .park-scene { max-height:140px; }
  .cover-line { margin-top:8px; }
  .cover-scene span { font-size:8px; }
  .new-book-card { min-height:325px; }.new-book-card>span { width:85px; }.new-book-card .park-pair { width:85px; }
  .new-book-card h3 { font-size:16px; }.new-book-card p { font-size:10px; }
  .inspiration-icon { width:85px; flex-basis:85px; }.inspiration { padding:12px 14px; gap:12px; }
  .inspiration h3 { font-size:13px; }
  .park-footer-garden { flex:auto; align-self:stretch; margin:0 -18px 17px; height:180px; }
  .park-footer-garden>.park-landscape { position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:780px; }
  .park-goodnight { bottom:22px; }.park-goodnight>span { font-size:10px; }
  .park-writing-companions { margin:0 0 15px; font-size:10px; }
  .page-intro { padding-right:0; min-height:0; }.park-page-friends { position:static; width:140px; margin:0 0 3px -7px; }
  .source-summary { margin-right:0; }
  .character-face { width:80px; height:87px; }
  .park-doodle-one { top:1080px; }.park-doodle-two { top:1700px; }
  .park-login-motion { top:14px; right:16px; }
}
@media(max-width:380px) {
  .brand>span:last-child { font-size:14px; }.brand-mark { width:34px; }.brand-mark .park-art { width:40px; }
  .sidebar { padding:0 10px; }.sidebar nav a { padding:9px 7px; }
  .cover { padding-left:18px; }.cover h3 { font-size:19px; }
  .inspiration-icon { width:65px; flex-basis:65px; }
}
@media(max-width:420px) { .hero h1 { font-size:28px; letter-spacing:1px; } }
@media(max-height:760px) and (min-width:1001px) { .sidebar-residents .park-scene { max-width:125px; }.little-note { display:none; } }
@media(prefers-reduced-motion:reduce) {
  .park-art *, .story-art * { animation:none!important; }
  .park-motion, .park-mobile-motion, .park-login-motion { display:none; }
}
