:root{--cream:#fff8e9;--ink:#344738;--orange:#ee9b42;--orange-dark:#b95b25;--green:#49674a;--shadow:0 10px 36px #28352625;font-family:"Trebuchet MS",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#314536}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 0 7px #b55f26}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.view{position:relative;min-height:700px;height:100svh;overflow:hidden}.home{color:var(--cream)}.hero-picture,.hero-picture img,.hero-shade,.scene-background,.scene-shade{position:absolute;inset:0;width:100%;height:100%}.hero-picture img,.scene-background{object-fit:cover}.hero-picture img{object-position:42% 50%}.hero-shade{background:linear-gradient(180deg,#182d3945 0%,transparent 23%,transparent 62%,#182d386b 100%),linear-gradient(90deg,transparent 37%,#223a3e2b 52%,#19313264 100%)}.topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:28px 38px;gap:20px}.brand{font-size:30px;font-weight:1000;letter-spacing:-1.5px;text-decoration:none;color:#fff1cb;line-height:.95;text-shadow:0 2px 8px #654c3b35}.brand span{color:#ffc674}.brand small{display:block;letter-spacing:2px;font-size:8px;line-height:2.8;font-weight:700}.top-actions{display:flex;align-items:center;gap:9px}.glass{border:1px solid #fff4d943;background:#253b3345;backdrop-filter:blur(12px);color:#fff9eb;border-radius:50px;padding:12px 19px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:700}.glass:hover{background:#334c3caa}.glass b{font-size:11px;padding:4px 7px;border-radius:20px;background:#fff5de22;letter-spacing:1px}.icon-only{width:48px;padding:12px}.hero-copy{position:absolute;top:27%;left:54%;right:5%;z-index:3;text-shadow:0 3px 24px #1f3a3b65}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px;line-height:1.6}.hero-copy h1{font-size:clamp(42px,4.6vw,72px);line-height:1.08;letter-spacing:-2.5px;margin:18px 0 20px;font-weight:800;max-width:650px}.hero-description{font-size:clamp(15px,1.35vw,20px);line-height:1.65;font-weight:500;margin:0 0 28px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:linear-gradient(#ffc469,#eca04b);border:1px solid #ffe3a9;border-radius:50px;color:#553920;padding:19px 27px;min-height:58px;font-size:16px;font-weight:800;box-shadow:0 4px 0 #a75d2855,0 9px 35px #39291421;text-shadow:none;transition:transform .2s,filter .2s}.primary:hover{filter:brightness(1.07);transform:translateY(-2px)}.primary:active{transform:translateY(1px)}.primary svg{width:21px}.gentle-note{font-size:11px;letter-spacing:1px;margin:20px 8px;color:#fff4d8dc}.hero-lulu{position:absolute;z-index:2;width:clamp(82px,9vw,150px);left:32%;top:48%;filter:drop-shadow(0 9px 6px #59372022);animation:fly 5s ease-in-out infinite}.route-dock{position:absolute;z-index:5;bottom:38px;left:54%;right:4%}.route-caption{font-size:9px;letter-spacing:2.2px;font-weight:800;margin:0 0 13px 5px;color:#fff1d8}.route-options{display:flex;gap:10px}.route-option{flex:1;min-width:0;position:relative;display:flex;align-items:center;gap:10px;padding:6px 11px 6px 6px;border:1px solid #fff2d640;border-radius:17px;background:#21382c50;backdrop-filter:blur(16px);color:#fff8e9;min-height:66px;text-align:left;transition:transform .2s,background .2s}.route-option[aria-pressed=true]{background:#fff2dbe8;color:#354a38;border-color:#fff5dc;box-shadow:0 4px 24px #16271622}.route-option:hover{transform:translateY(-3px)}.route-option img{width:48px;height:49px;object-fit:cover;border-radius:11px;flex:none}.route-option span{font-size:11px;line-height:1.3;font-weight:800}.route-option small{display:block;font-size:8px;font-weight:500;opacity:.7;margin-top:4px}.parents-link{position:absolute;bottom:32px;left:38px;z-index:5;color:#fff9e8dc;border:0;border-bottom:1px solid #fff6e84f;background:none;padding:6px 0;font-size:11px}.journey{background:#8a9875}.scene-background{transition:opacity .3s;object-position:center}.scene-shade{pointer-events:none;background:linear-gradient(180deg,#142d315a 0%,transparent 28%,transparent 60%,#1e37296e 100%)}.game-topbar{padding:22px 28px;color:#fff8e9}.journey-label{position:absolute;left:50%;transform:translateX(-50%);text-align:center;min-width:180px}.journey-label p{font-size:15px;letter-spacing:.2px;margin:0 0 10px;font-weight:700;text-shadow:0 2px 12px #243b29}.progress{display:flex;justify-content:center;gap:8px}.progress i{width:7px;height:7px;border-radius:50%;border:1px solid #fff4d8;background:#fff4d833;transition:background .3s}.progress i.done{background:#ffe1a4;border-color:#ffe1a4}.progress i.active{box-shadow:0 0 0 4px #fff4de33;background:#fff4de}.chapter-tag{position:absolute;top:115px;left:50%;transform:translateX(-50%);color:#fff6df;font-size:10px;font-weight:800;letter-spacing:2px;padding:10px 16px;border-radius:22px;background:#2e463b66;backdrop-filter:blur(6px);white-space:nowrap;z-index:3}.actors{position:absolute;inset:17% 5% 24%;z-index:4}.animal{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);transform:translate(-50%,-50%);padding:0;border:0;background:none;outline-offset:0;display:grid;place-items:center;isolation:isolate;transition:left .7s,top .7s}.animal::before{content:"";position:absolute;inset:17%;border-radius:50%;background:radial-gradient(ellipse,#ffedb800,transparent 70%);z-index:-1;transition:box-shadow .2s}.animal:hover::before,.animal:focus-visible::before{box-shadow:0 0 30px 15px #fff7c44a}.animal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 6px #26341c33);transition:transform .2s;pointer-events:none}.animal:hover img{transform:translateY(-4px)}.animal.flying img{animation:fly 6s ease-in-out infinite;animation-delay:var(--delay)}.animal.found::after{content:"✓";position:absolute;bottom:3%;right:10%;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#536f41;background:#fff5d9;font-size:15px;box-shadow:0 2px 15px #23311c44}.animal.hinted::before{border:2px dashed #fff6ce;box-shadow:0 0 0 10px #ffd68030,0 0 40px 20px #ffe4ab60;animation:hint-glow 2s ease-in-out infinite}.animal:disabled{pointer-events:none}.animal.correct img{transform:scale(1.12);filter:drop-shadow(0 0 18px #fff4b6)}.foreground{position:absolute;pointer-events:none;z-index:5;object-fit:contain}.flowers{bottom:-17%;left:-6%;width:43%;max-height:62%;object-position:bottom left}.sakura{top:-6%;right:-6%;width:25%;max-height:47%;object-position:top right}.journey:not([data-route=meadow]) .foreground{display:none}.round{display:inline-flex;align-items:center;justify-content:center;width:46px;min-width:46px;height:46px;border-radius:50%;border:1px solid #d9d1b9;background:#fffaf1;color:#5c6b4d}.round:hover{background:#f7e9c8}.discovery-panel{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);width:min(880px,calc(100% - 48px));z-index:9;display:flex;align-items:center;gap:24px;padding:20px 27px 20px 18px;border-radius:29px;background:#fff9eaf5;border:1px solid #fffdf7;backdrop-filter:blur(14px);box-shadow:var(--shadow);animation:reveal .4s ease}.discovery-panel>img{height:125px;width:140px;object-fit:contain;filter:drop-shadow(0 5px 8px #4d3e2122);flex:none}.discovery-content{flex:1}.discovery-content .eyebrow{margin:0;color:#8b7952;font-size:9px}.discovery-content h2{font-size:26px;margin:5px 0 7px;letter-spacing:-.7px}.discovery-content p.fact{font-size:14px;line-height:1.5;margin:0;max-width:450px}.discovery-buttons{display:flex;align-items:center;gap:10px}.discovery-buttons .primary{padding:16px 22px;min-height:52px;font-size:13px;white-space:nowrap;gap:16px}.journey-end{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);z-index:11;width:min(610px,calc(100% - 36px));background:#fff9eaf7;backdrop-filter:blur(20px);border:1px solid #fffdf8;border-radius:34px;box-shadow:0 25px 100px #1835293b;padding:38px;text-align:center}.journey-end h2{font-size:37px;letter-spacing:-1.3px;margin:12px 0}.journey-end p{line-height:1.6;font-size:14px;margin:10px 0 22px}.end-animals{display:flex;justify-content:center;gap:6px}.end-animals img{width:22%;height:94px;object-fit:contain}.end-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}.text-button{border:0;background:transparent;padding:15px;font-weight:700;font-size:12px;text-decoration:underline;text-underline-offset:5px}.motes{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.motes i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff5b6;box-shadow:0 0 9px #fffac1;opacity:0;animation:drift 12s linear infinite}.journey[data-route=meadow] .motes i{width:7px;height:4px;border-radius:80% 10%;background:#ffe5dd;box-shadow:none}dialog{border:1px solid #fff5dc;padding:30px;background:#fff9ed;color:var(--ink);box-shadow:0 24px 100px #122b3255;border-radius:28px;max-height:88svh;overflow:auto;width:min(910px,calc(100% - 30px))}dialog::backdrop{background:#142e3670;backdrop-filter:blur(8px)}dialog h2{font-size:30px;letter-spacing:-1px;line-height:1.2;margin:8px 0 10px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-heading .eyebrow{font-size:9px;color:#8a815f;margin:0}.dialog-heading p:not(.eyebrow){font-size:13px;margin:6px 0;line-height:1.5;color:#748063}.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.album-card{border:1px solid #e0d8bf;border-radius:19px;padding:15px 10px 13px;background:linear-gradient(#fbefd7,#fffaf1);position:relative}.album-card img{width:100%;height:120px;object-fit:contain}.album-card h3{font-size:13px;margin:12px 0 5px}.album-card small{font-size:9px;color:#718060}.album-card.locked{background:#ecebdb85;border-style:dashed}.album-card.locked img{filter:brightness(0) opacity(.12)}.album-card.locked h3{color:#93977f}.album-footnote{font-size:11px;text-align:center;color:#82856e;margin:22px 0 0}.detail-dialog{max-width:500px;text-align:center;padding:35px}.detail-dialog>img{height:220px;width:100%;object-fit:contain}.detail-dialog>p{font-size:15px;line-height:1.7}.corner-close{position:absolute;top:16px;right:16px}.parents-dialog{max-width:610px;padding:40px}.parents-dialog p{font-size:14px;line-height:1.7}.parents-dialog .eyebrow{font-size:9px}.parents-dialog h2{font-size:28px;margin-top:18px}.parents-dialog .small-print{font-size:11px;color:#7e846f}.parent-stats{display:flex;gap:15px;margin:25px 0}.parent-stats>div{padding:17px;background:#e8e9d64d;border-radius:15px;flex:1;font-size:11px;line-height:1.5}.parent-stats strong{display:block;font-size:26px;color:#537244;margin-bottom:4px}.toast{position:fixed;z-index:50;bottom:18px;left:50%;transform:translateX(-50%);background:#314d3cef;color:white;padding:13px 20px;max-width:calc(100% - 30px);border-radius:20px;font-size:12px;text-align:center;line-height:1.4}.noscript{position:fixed;bottom:0;left:0;right:0;background:#fff9e9;padding:20px;z-index:100;text-align:center}@keyframes fly{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes hint-glow{50%{opacity:.5}}@keyframes reveal{from{opacity:0;margin-bottom:-15px}to{opacity:1;margin-bottom:0}}@keyframes drift{0%{transform:translate(0,30px);opacity:0}15%,70%{opacity:.7}100%{transform:translate(80px,-140px);opacity:0}}
@media(min-width:1600px){.hero-copy{top:29%}.route-dock{bottom:6%}.hero-picture img{object-position:center 62%}}
@media(max-width:1100px) and (min-width:701px){.route-dock{left:48%;right:3%;bottom:27px}.route-option{padding:7px;gap:7px}.route-option img{width:37px;height:44px}.route-option span{font-size:10px}.hero-copy{left:50%;right:4%;top:26%}.hero-copy h1{font-size:49px}.hero-description{font-size:15px}.discovery-buttons{flex-direction:column}.discovery-panel{gap:15px}.game-topbar{padding:20px}.journey-label{top:30px}.game-topbar>button span{display:none}.hero-lulu{left:35%;top:53%}}
@media(max-width:700px){.view{height:100svh;min-height:720px}.topbar{padding:20px;gap:8px}.brand{font-size:25px}.brand small{font-size:6px;letter-spacing:1.3px}.glass{min-height:42px;padding:10px 12px;font-size:11px;gap:7px}.icon-only{width:42px;padding:10px}.glass svg{width:18px;height:18px}.glass b{font-size:8px;padding:4px 5px}.top-actions{gap:6px}.hero-picture img{object-position:50% 64%}.hero-shade{background:linear-gradient(180deg,#273d507a 0%,#28485b2b 29%,transparent 50%,#152e3040 72%,#162f37b8 100%)}.hero-copy{top:108px;left:22px;right:22px;text-align:center}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.9px;margin:0}.hero-copy h1{font-size:39px;letter-spacing:-1.5px;line-height:1.07;margin:13px 0}.hero-description{font-size:12px;line-height:1.6;margin-bottom:18px}.hero-copy .primary{font-size:13px;min-height:49px;padding:13px 21px;gap:20px}.gentle-note{display:none}.hero-lulu{left:67%;top:52%;width:96px}.route-dock{left:17px;right:17px;bottom:50px}.route-caption{text-align:center;font-size:8px;margin-bottom:11px;letter-spacing:1.7px}.route-options{gap:8px}.route-option{display:block;text-align:center;padding:6px;border-radius:16px;min-height:91px}.route-option img{width:100%;height:40px;object-position:center 65%;border-radius:10px}.route-option span{display:block;font-size:10px;margin-top:6px;line-height:1.2}.route-option small{display:none}.parents-link{bottom:15px;left:50%;transform:translateX(-50%);font-size:9px}.game-topbar{padding:17px 15px}.game-topbar>button span{display:none}.game-topbar>button{width:42px;height:42px;padding:9px}.journey-label{top:21px;min-width:120px}.journey-label p{font-size:12px;margin-bottom:9px}.progress{gap:6px}.progress i{width:6px;height:6px}.chapter-tag{top:88px;font-size:8px;letter-spacing:1.5px}.actors{inset:21% 3% 28%}.animal{left:var(--mx);top:var(--my);width:var(--msize);height:var(--msize)}.flowers{width:72%;bottom:7%;left:-19%;max-height:45%}.sakura{right:-18%;top:10%;width:55%;max-height:25%;opacity:.9}.round{width:42px;height:42px;min-width:42px}.discovery-panel{bottom:16px;width:calc(100% - 24px);display:grid;grid-template-columns:77px 1fr;gap:11px;padding:17px;border-radius:25px}.discovery-panel>img{width:77px;height:90px;grid-row:1}.discovery-content h2{font-size:23px;line-height:1.05;margin:4px 0 8px}.discovery-content .eyebrow{font-size:7px;letter-spacing:1.4px}.discovery-content p.fact{font-size:12px;line-height:1.4}.discovery-buttons{grid-column:1/-1;justify-content:flex-end;margin-top:2px;gap:10px}.discovery-buttons .primary{padding:12px 22px;min-height:44px}.discovery-buttons .round{width:40px;height:40px;min-width:40px}.journey-end{padding:26px 20px;top:48%}.journey-end h2{font-size:29px}.journey-end p{font-size:13px}.end-animals img{height:80px}.end-actions{gap:4px}.end-actions .primary{font-size:13px;padding:15px 21px;min-height:49px}.end-actions .text-button{padding:12px}.album-grid{grid-template-columns:repeat(2,1fr);gap:10px}.album-card img{height:100px}dialog{padding:22px 17px;max-height:90svh;border-radius:24px}.dialog-heading{gap:8px}.dialog-heading h2{font-size:24px}.dialog-heading .eyebrow{font-size:7px;letter-spacing:1.3px}.dialog-heading p:not(.eyebrow){font-size:11px}.parents-dialog{padding:30px 23px}.parents-dialog h2{font-size:24px}.parents-dialog p{font-size:12px}.parent-stats{gap:10px}.parent-stats>div{padding:13px;font-size:10px}.detail-dialog{padding:35px 25px}.detail-dialog>img{height:190px}.detail-dialog>p{font-size:13px}}
@media(max-height:700px) and (min-width:701px){.view{min-height:560px}.topbar{padding-top:18px;padding-bottom:18px}.hero-copy{top:22%}.hero-copy h1{font-size:48px;margin:12px 0}.hero-description{font-size:14px;margin-bottom:16px}.gentle-note{margin-top:13px}.route-dock{bottom:24px}.route-option{min-height:56px}.route-option img{height:40px}.chapter-tag{top:88px}.actors{inset:19% 5% 29%}.discovery-panel{bottom:15px;padding-top:13px;padding-bottom:13px}.discovery-panel>img{height:100px}.journey-end{padding:25px;top:52%}.journey-end h2{font-size:28px}.end-animals img{height:65px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.animal.correct{z-index:6}.animal.correct img{transform:scale(1.7)}.actors:has(.correct) .animal:not(.correct){opacity:.45}.route-option{gap:7px}.route-option img{width:40px}.hero-copy{filter:drop-shadow(0 2px 10px #263b24a0)}@media(max-width:700px){.hero-picture img{object-position:12% 60%}.route-option img{width:100%}.animal.correct img{transform:scale(1.5)}}

/* Keep both characters from the supplied scene visible, with copy below Lulu. */
.home{min-height:820px;background:#273f30}
.home .topbar{justify-content:flex-end}
.home .hero-picture img{object-position:center center}
.home .hero-shade{background:linear-gradient(180deg,#172f344a,transparent 19%,transparent 48%,#1b342e75 82%,#1b342ebd)}
.home .hero-copy{top:50%;left:56%;right:4%;text-align:left}
.home .hero-copy .eyebrow{margin:0 0 10px}
.home .hero-copy h1{font-size:clamp(34px,3.2vw,50px);line-height:1.08;letter-spacing:-1.5px;margin:10px 0 14px}
.home .hero-description{font-size:14px;line-height:1.6;margin:0 0 18px}
.home .gentle-note{display:none}
@media(max-width:700px){
  .home{min-height:max(780px,calc(550px + 100vw * 941 / 1672))}
  .home .hero-picture{top:92px;bottom:auto;height:auto;aspect-ratio:1672/941}
  .home .hero-picture img{object-fit:contain;object-position:center}
  .home .hero-shade{display:none}
  .home .hero-copy{top:calc(112px + 100vw * 941 / 1672);left:20px;right:20px;text-align:center}
  .home .hero-copy .eyebrow{font-size:8px;letter-spacing:1.9px;margin:0 0 10px}
  .home .hero-copy h1{font-size:35px;line-height:1.08;margin:10px 0 14px}
  .home .hero-description{font-size:12px;line-height:1.6;margin-bottom:18px}
  .home .route-dock{bottom:49px}
}


/* Character portraits derived from the supplied design boards. */
.animal-art{display:block;width:100%;height:100%;position:relative;isolation:isolate;pointer-events:none}
.animal-art canvas{display:block;width:100%;height:100%}
.animal .animal-art{transition:transform .35s;filter:drop-shadow(0 7px 7px #1a39231a)}
.animal:hover .animal-art{transform:translateY(-4px) scale(1.06)}
.animal.correct .animal-art{transform:scale(1.40)}
.discovery-panel>.animal-art{width:140px;height:135px;flex:none}
.album-card .animal-art{height:140px}
.album-card.locked .animal-art{filter:brightness(0) opacity(.12)}
.detail-dialog>.animal-art{width:100%;height:250px;pointer-events:auto;touch-action:pan-y}
.end-animals>.animal-art{width:25%;height:105px}
.animal-fallback{font-size:clamp(50px,9vw,100px);display:grid;place-items:center;height:100%}
.scene-background{filter:saturate(.88) brightness(1.08);transform:scale(1.025)}
.scene-shade{background:linear-gradient(180deg,#2448444d,transparent 30%,transparent 55%,#365d3b30)}
.animal{width:calc(var(--size)*1.23);height:calc(var(--size)*1.23)}
@media(max-width:700px){.animal{width:calc(var(--msize)*1.22);height:calc(var(--msize)*1.22)}.discovery-panel>.animal-art{width:77px;height:95px}.album-card .animal-art{height:115px}.detail-dialog>.animal-art{height:220px}.end-animals>.animal-art{height:90px}.animal.correct .animal-art{transform:scale(1.23)}}
@media(prefers-reduced-motion:reduce){.animal:hover .animal-art{transform:none}}

.animal-art>img{display:block;width:100%;height:100%;object-fit:contain}
.animal .animal-art>img{transform:none!important;animation:none!important;filter:none}
.animal .animal-art{animation:character-breathe 4.2s ease-in-out infinite;animation-delay:var(--delay);transform-origin:50% 90%}
.animal.flying .animal-art{animation:character-hover 5s ease-in-out infinite}
.animal.correct .animal-art{animation:none;transform:scale(1.40)}
.scene-background{filter:blur(1.2px) saturate(.84) brightness(1.10)}
@keyframes character-breathe{0%,100%{scale:1 1}50%{scale:1.025 1.018}}
@keyframes character-hover{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -9px;rotate:1deg}}

/* Feet remain on the ground while the character breathes or is examined. */
.animal.grounded .animal-art{transform-origin:50% var(--foot);filter:none;z-index:1}
.animal.grounded:hover .animal-art{transform:scale(1.035)}
.contact-shadow{position:absolute;z-index:0;left:22%;top:calc(var(--foot) - 2.8%);width:56%;height:6%;border-radius:50%;background:radial-gradient(ellipse,#283b2970,transparent 72%);filter:blur(2px);pointer-events:none}
.animal[data-animal=turtle] .contact-shadow{left:15%;width:70%}
.animal[data-animal=snail]{animation:snail-creep 12s ease-in-out infinite}
.animal.aquatic{animation:fish-drift 9s ease-in-out infinite}
.animal.aquatic .animal-art{animation:none;opacity:.88;filter:saturate(.75)}
.animal.aquatic:hover .animal-art{transform:scale(1.05)}
.water-sheen{position:absolute;inset:25% 10%;border-radius:48%;background:linear-gradient(176deg,transparent 30%,#b9d9ba40 36%,transparent 40%,transparent 53%,#f5f0d52b 55%,transparent 59%);pointer-events:none}


@keyframes fish-drift{0%,100%{translate:7px 0}50%{translate:-7px 2px}}
@keyframes snail-creep{0%,100%{translate:0 0}50%{translate:4px 0}}


.character-sheet-link{display:block;margin:18px auto 0;color:#486548;font-size:14px;font-weight:bold;text-underline-offset:4px}.parents-dialog .character-sheet-link{margin:20px 0}

/* Lulu's question uses the BADI BO font and warm, tactile button palette. */
@font-face{font-family:Badi;src:url("assets/nunito.woff2") format("woff2");font-weight:200 1000;font-display:swap}
.prompt-panel{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:8;width:min(800px,calc(100% - 48px));padding-left:100px;font-family:Badi,"Trebuchet MS",sans-serif;color:#49311f}
.guide-lulu{position:absolute;left:-8px;bottom:4px;width:122px;height:134px;object-fit:contain;filter:drop-shadow(0 8px 7px #37231132);pointer-events:none;z-index:2}
.prompt-bubble{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:20px;padding:20px 20px 20px 27px;border:1px solid #dba464;border-radius:26px 26px 26px 12px;background:linear-gradient(150deg,#fff8e8 12%,#fff0d5 70%,#ffe2b5);box-shadow:inset 0 2px 0 #fffdf5,inset 0 -3px 0 #efd1a4,0 4px 0 #ac784454,0 12px 28px #30271924}
.prompt-bubble::before{content:"";position:absolute;left:-10px;bottom:34px;width:19px;height:19px;rotate:45deg;background:#fff6e3;border-left:1px solid #dba464;border-bottom:1px solid #dba464;border-bottom-left-radius:5px;z-index:-1}
.prompt-copy{min-width:0}
.prompt-copy>span{display:block;color:#9b642e;font-size:12px;font-weight:800;letter-spacing:.1px;line-height:1.4}
.prompt-copy>p:first-of-type{font-size:23px;line-height:1.3;font-weight:800;letter-spacing:-.35px;margin:7px 0 0;text-wrap:pretty}
.prompt-panel .feedback{font-size:14px;font-weight:650;line-height:1.4;color:#80522c;margin:10px 0 0;padding-top:9px;border-top:1px solid #d7b47d66}
.feedback:empty{display:none}
.prompt-actions{display:flex;flex-direction:column;align-items:center;gap:5px}
.prompt-actions .round{width:48px;height:48px;min-width:48px;border:1px solid #dba464;color:#573716;background:linear-gradient(175deg,#ffe9bf,#ffd69d 55%,#f7c17e);box-shadow:inset 0 2px 0 #fff3d7,inset 0 -2px 0 #e7b276,0 3px 0 #be8753,0 5px 8px #6f3d1315;transition:transform .18s,filter .18s}
.prompt-actions .round svg{width:23px;height:23px;stroke-width:2}
.hint-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:5px 7px;font:800 12px/1.2 Badi,"Trebuchet MS",sans-serif;color:#79502b;border:1px solid transparent;border-radius:20px;background:transparent;transition:background .18s}
.hint-button svg{width:17px;height:17px;stroke-width:2}
.prompt-actions .round:hover{filter:brightness(1.06);transform:translateY(-2px)}
.prompt-actions .round:active{transform:translateY(2px);box-shadow:inset 0 1px 2px #b4783a22,0 1px 0 #be8753}
.hint-button:hover{background:#efc88b40;border-color:#d6aa6d60}
.prompt-panel button:focus-visible{outline:3px solid #6b4b26;outline-offset:4px;box-shadow:0 0 0 6px #fff7df}
@media(max-width:700px){
 .journey:has(#prompt-panel:not([hidden])) .actors{bottom:max(28%,calc(var(--prompt-height,160px) + 78px))}
 .prompt-panel{width:calc(100% - 28px);bottom:20px;padding-left:0}
 .guide-lulu{width:77px;height:83px;left:3px;top:-33px;bottom:auto}
 .prompt-bubble{grid-template-columns:1fr;gap:10px;padding:15px 18px 13px;border-radius:24px 24px 24px 12px}
 .prompt-bubble::before{display:none}
 .prompt-copy>span{padding-left:56px;min-height:20px;font-size:12px;line-height:20px}
 .prompt-copy>p:first-of-type{font-size:20px;line-height:1.3;margin-top:9px;letter-spacing:-.2px}
 .prompt-actions{flex-direction:row-reverse;justify-content:flex-start;gap:11px}
 .prompt-actions .round{width:42px;height:42px;min-width:42px}
 .hint-button{min-height:42px;padding:7px 13px;font-size:12px;border-color:#d6aa6d80;background:#fff9ed80}
 .prompt-panel .feedback{font-size:13px;margin-top:8px;padding-top:8px}
}
@media(max-height:700px) and (min-width:701px){
 .prompt-panel{bottom:18px;width:min(760px,calc(100% - 48px));padding-left:89px}
 .prompt-bubble{padding:14px 18px 14px 23px;grid-template-columns:minmax(0,1fr) 92px;gap:15px}
 .prompt-copy>p:first-of-type{font-size:21px}
 .guide-lulu{width:108px;height:120px}
}

/* Separate parts of the original portraits move around their attachment points. */
.character-rig{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:none}
.hare-ear-left{transform-origin:735px 365px}
.hare-ear-right{transform-origin:802px 369px}
.squirrel-tail{transform-origin:667px 1054px}
.reacting .hare-ear-left{animation:hare-ear-twitch 1.65s ease-in-out both}
.reacting .hare-ear-right{animation:hare-ear-flop 1.65s ease-in-out both}
.reacting .squirrel-tail{animation:squirrel-tail-wave 1.65s ease-in-out both}
@keyframes hare-ear-twitch{0%,100%{transform:rotate(0deg)}16%{transform:rotate(-9deg)}29%{transform:rotate(5deg)}43%{transform:rotate(-6deg)}60%{transform:rotate(3deg)}78%{transform:rotate(-1deg)}}
@keyframes hare-ear-flop{0%,100%{transform:rotate(0deg)}21%{transform:rotate(-6deg)}39%{transform:rotate(9deg)}56%{transform:rotate(-4deg)}73%{transform:rotate(3deg)}}
@keyframes squirrel-tail-wave{0%,100%{transform:rotate(0deg)}18%{transform:rotate(5deg)}38%{transform:rotate(1deg)}57%{transform:rotate(4deg)}75%{transform:rotate(.5deg)}89%{transform:rotate(2deg)}}
.animal-art[role="button"]{pointer-events:auto;cursor:pointer;touch-action:manipulation;border-radius:20px}
.animal-art[role="button"]:focus-visible{outline:3px solid #a46932;outline-offset:3px}

/* Shared gold navigation controls, matching BADI Forest Trails. */
.home .topbar{justify-content:space-between}
.topbar{padding:16px 20px}
.game-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:48px;border:2px solid #ffe9b4;border-radius:999px;background:linear-gradient(175deg,#ffe7ae,#ffd18a);color:#a84414;box-shadow:0 3px 0 #b97c3f99,inset 0 1px 0 #fff5da,0 4px 12px #3f29172b;font:800 14px/1 "Badi","Trebuchet MS",sans-serif;text-decoration:none;transition:transform .16s,filter .16s}
.game-control:hover{filter:brightness(1.05);transform:translateY(-1px)}
.game-control:active{transform:translateY(2px);box-shadow:0 1px 0 #b97c3f99,inset 0 1px 0 #fff5da}
.game-back{padding:11px 14px}
.game-back svg{width:17px;height:17px;transform:rotate(180deg);stroke-width:2}
.sound-toggle{width:48px;height:48px;padding:11px}
.sound-toggle svg{width:22px;height:22px;stroke-width:2}
.sound-toggle[aria-pressed="false"]{color:#8b3218}
@media(max-width:700px){
  .topbar{padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left))}
  .game-control{min-height:46px;font-size:13px}
  .game-back{padding:10px 12px}
  .sound-toggle{width:46px;height:46px}
  .game-topbar{display:grid;grid-template-columns:1fr auto;gap:12px}
  .game-topbar .game-back{justify-self:start}
  .game-topbar .journey-label{position:static;transform:none;min-width:0;grid-column:1/-1;grid-row:2;color:#fff8e9}
  .game-topbar .journey-label p{margin-bottom:8px}
  .chapter-tag{top:125px}
}
@media(max-width:360px){.home .album-open span{display:none}}
