/* Shared picture-book typography and touch feedback. */
:root{--cream:#f5f3e7;--ink:#284c3c;--muted:#53664f;--orange:#ac4528;--line:#d6dcc7;--serif:Nunito,'PingFang TC','Microsoft JhengHei',sans-serif}
body{background:#f1f2e5;background-image:radial-gradient(ellipse at 50% 8%,#faf9ed 0%,#eef0e0 65%,#e8edde 100%);min-height:100dvh}
body:before{opacity:.18}
h1,h2,h3{font-weight:900;letter-spacing:-.04em}
.brand>span{font-family:Nunito,'PingFang TC',sans-serif;font-weight:900;letter-spacing:-1px}
.site-header{background:#f7f8ecb8;border-color:#d7dec8}
.header-inner{min-height:77px;padding-top:12px;padding-bottom:12px}
.brand small{letter-spacing:1.5px}
.icon-button{border:1.5px solid #b7c4a8;background:#fffdf1;box-shadow:0 3px 0 #d8ddc5}
.primary{border:1px solid #913d25;border-radius:18px;box-shadow:0 4px 0 #8f3c22;font-weight:900}
.secondary{border:1.5px solid #96ab82;background:#fffdf0;border-radius:16px;box-shadow:0 3px 0 #d4dbc1}
.secondary:active{transform:translateY(2px);box-shadow:0 1px 0 #d4dbc1}
.activity{border:1px solid #d5dcc5;background:#fffbed;border-radius:25px;box-shadow:0 5px 0 #dce2cc}
.activity:nth-child(2){background:#edf5ed}.activity:nth-child(3){background:#fff3d5}
.hero-copy h1{line-height:1.08}.hero-copy .eyebrow{letter-spacing:1.5px}
.animal-card{background:#fffbed;border-color:#d5dcc5;border-radius:23px}
.animal-card h2{font-weight:900}.animal-card:hover{transform:translateY(-3px);box-shadow:0 6px 0 #dce2cc}
.animal-card{transition:transform .18s,box-shadow .18s}
dialog{background:#fffbed;border-color:#a8b994;border-radius:25px}
button:focus-visible,a:focus-visible{outline:3px solid #306d8a;outline-offset:4px}
.letter-tile,.letter-slot{font-family:Nunito,sans-serif;font-weight:900}
@media(max-width:520px){.header-inner{padding-top:10px;padding-bottom:10px}.brand>span{font-size:23px}.brand small{font-size:8px}.brand img{width:28px;height:33px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
