*{box-sizing:border-box}body{margin:0;background:#f6f4e9;color:#374d40;font:16px/1.6 system-ui,-apple-system,Arial,sans-serif}button,a{touch-action:manipulation}button{cursor:pointer;font:inherit}button:disabled{cursor:default}a{color:inherit}header,main,footer{max-width:1050px;margin:auto;padding:24px}header,header>div{display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800}.brand img{width:48px;height:48px;object-fit:contain}header a{font-size:14px}#language{border:1px solid #c9d3bc;border-radius:12px;padding:9px 14px;background:#fffdf4;color:#37513e}.game-intro{max-width:720px;margin:25px auto 35px;text-align:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#808366}h1{font-size:clamp(35px,5.8vw,58px);line-height:1.08;margin:17px 0 10px;letter-spacing:-1.5px}.subtitle{font-size:23px;color:#b07752;margin:0}.intro-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:22px 0;font-size:12px}.intro-meta span{background:#e8eddd;border-radius:20px;padding:7px 12px}.game{background:#fffdf7;border:1px solid #e1e3d4;border-radius:28px;padding:30px;box-shadow:0 18px 50px #57624b0c;scroll-margin-top:20px}.progress{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #e6e7dc;padding-bottom:20px}.progress span{padding:8px 12px;border-radius:20px;font-size:13px;color:#7b8375}.progress span.active{background:#385f4c;color:#fff}.progress span.done{background:#e4ebd7;color:#426a43}.guide{display:grid;grid-template-columns:105px 1fr;gap:20px;align-items:center;margin:25px 0}.guide img{width:100%;height:115px;object-fit:contain}.guide.duo{grid-template-columns:230px 1fr}.guide.duo img{height:auto;border-radius:10px}.guide h2{font-size:25px;line-height:1.2;margin:5px 0 9px}.guide p{font-size:15px;margin:0}.guideName,#guideName{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#98764c}.meadow,.route,.nest-scene{border-radius:24px;background:linear-gradient(#e2ead9,#d5dfbf);padding:26px;min-height:290px}.items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.item{border:2px solid transparent;background:#ffffffb8;border-radius:18px;padding:10px;color:#556247;font-size:12px;font-weight:700;transition:transform .2s}.item:hover:not(:disabled){transform:translateY(-5px);border-color:#a6b38b}.item svg{width:100%;display:block}.item.selected{opacity:.5;border-color:#678a56}.item.selected:after{content:'✓';display:block;color:#345f39;font-size:18px}.cart{margin:25px auto 0;max-width:380px;background:#c99e6d;border:5px solid #ad8559;border-radius:8px 8px 25px 25px;position:relative;padding:12px 20px;color:#493b29;text-align:center;box-shadow:0 6px 0 #88714e}.cart>span{font-size:13px;font-weight:800}.cart>div{display:flex;height:55px;justify-content:center}.cart svg{height:55px;width:55px}.cart b{font-size:13px}.controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary,.secondary,.text-button{display:inline-block;border-radius:13px;padding:12px 18px;text-decoration:none;font-weight:750;font-size:14px}.primary{border:0;background:#395f4c;color:#fff;box-shadow:0 3px 0 #244331}.secondary{border:1px solid #c4cfb8;background:#f8faee;color:#4c664b}.text-button{border:0;background:none;color:#7f806f;text-decoration:underline;margin-left:auto}#feedback{min-height:45px;color:#71684e;font-size:15px;margin:20px 0}.route{position:relative;overflow:hidden;padding:25px;display:flex;align-items:center;gap:40px;justify-content:space-around}.garden-path{position:absolute;inset:37% 0 30%;background:#e9d7ad}.stream{position:absolute;left:58%;top:0;bottom:0;width:25%;background:#a9d5df;transform:skew(-8deg);border-left:6px solid #c1e2de;border-right:6px solid #c1e2de}.branch,.bridge-options button{position:relative;border:0;background:#fff9e9e6;border-radius:20px;padding:15px;color:#584e37;min-height:90px;font-size:13px;font-weight:800}.branch{width:40%;max-width:240px}.branch svg{display:block;width:100%}.branch.cleared svg{opacity:.15}.bridge-options{position:relative;display:grid;gap:20px}.bridge-options button{display:grid;justify-items:center;gap:12px}.bridge{height:35px;width:140px;background:repeating-linear-gradient(90deg,#c19865 0 22px,#916d47 23px 26px);box-shadow:0 4px 0 #7a5d3d;display:block;transform:rotate(-8deg)}.bridge.narrow{height:10px}.bridge-options .selected{outline:3px solid #668957}.nest-scene{text-align:center}.nest{position:relative;height:205px;max-width:350px;margin:0 auto 20px;background:radial-gradient(ellipse at 50% 66%,#bea17a 0 40%,transparent 41%)}.nest-leaf{position:absolute;width:105px;height:105px;top:70px}.n0{left:30px;transform:rotate(-25deg)}.n1{right:35px;transform:rotate(45deg)}.n2{left:115px;top:85px;transform:rotate(12deg)}.nest-label{position:absolute;bottom:5px;left:0;right:0;font-size:13px;color:#796446}.nest-scene button:disabled{opacity:.55}.ending{text-align:center;background:#edf1df;padding:25px;border-radius:24px}.resting-hedgehog{max-width:350px;margin:auto}.ending .secondary{margin-top:10px}.offline{text-align:left;background:#fffaf0;border-radius:18px;padding:20px;margin-top:25px}.offline p{margin:8px 0 0;font-size:14px}.friends{margin:65px 0 20px}.friends>img{width:100%;height:auto;display:block;border-radius:20px;margin:25px 0}.friend-bios{display:grid;grid-template-columns:1fr 1fr;gap:25px}.friend-bios article{padding:20px;background:#eeeedf;border-radius:18px}.friend-bios h3{margin:0 0 10px}.friend-bios p{margin:0;font-size:14px}footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#76816f}dialog{max-width:480px;width:calc(100% - 35px);border:1px solid #d7ddcb;border-radius:23px;padding:28px;background:#fffaf0;color:#3c5443}dialog::backdrop{background:#20312470}dialog button{margin:8px 5px 0 0}:focus-visible{outline:3px solid #b97b3f;outline-offset:4px}[hidden]{display:none!important}@media(max-width:650px){header,main,footer{padding:16px}header{gap:12px}header>div{gap:12px}.brand{font-size:13px}.brand img{width:38px;height:38px}.game{padding:18px}.progress{gap:4px}.progress span{font-size:11px;padding:7px 8px}.guide{grid-template-columns:75px 1fr;gap:12px}.guide.duo{grid-template-columns:1fr}.guide.duo img{max-width:260px;justify-self:center}.guide h2{font-size:22px}.items{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.item{font-size:11px;padding:7px}.meadow,.route,.nest-scene{padding:15px}.route{gap:12px}.bridge{width:100px}.branch{width:43%;padding:10px}.bridge-options button{font-size:12px;padding:12px}.friend-bios{grid-template-columns:1fr}.controls{gap:8px}.text-button{margin-left:0}.controls button{font-size:12px;padding:11px 14px}.game-intro{margin-top:20px}.nest-leaf{width:85px;height:85px}.n2{left:95px}.friends{margin-top:45px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* ===== V4.0 premium pass ===== */
.game-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.age-pick{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#6b7461}
.age-pick button{border:1px solid #c9d3bc;background:#fff;border-radius:999px;padding:7px 13px;font-weight:800;color:#4c664b;min-height:40px}
.age-pick button.on{background:#395f4c;color:#fff;border-color:#395f4c}
.icon-btn{border:1px solid #c9d3bc;background:#fff;border-radius:50%;width:44px;height:44px;font-size:18px}
.listen{margin-top:10px;border:0;background:#f2e3c6;color:#5a4628;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px}
.play-area{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:stretch}
.hedgehog-card{background:linear-gradient(#f3ead6,#e8dcbf);border-radius:24px;display:grid;place-items:center;padding:14px;transition:background .6s}
.hedgehog-card svg{width:100%;height:auto}
.hedgehog-card.done{background:linear-gradient(#2e3766,#232a52)}
.items{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.item{min-height:110px;display:grid;place-items:center}
.item svg{max-width:92px}
.item.selected:after{content:'✓'}
.items.lv-2-3 .item{min-height:140px}.items.lv-2-3 .item svg{max-width:112px}
.cart>div svg{height:52px;width:52px}
.flyer{position:fixed;z-index:50;pointer-events:none}.flyer svg{width:100%;height:100%}
.bridge.broken{background:linear-gradient(90deg,transparent 44%,#a9d5df 44% 58%,transparent 58%),repeating-linear-gradient(90deg,#c19865 0 22px,#916d47 23px 26px)}
.route .mini-cart{position:absolute;left:4%;bottom:14%;font-size:34px;transition:left 1.6s ease-in-out}
.route.crossed .mini-cart{left:86%}
.nest-scene .items{margin-bottom:12px}
.nest-scene .nest{height:170px}
.nest-leaf svg{width:100%;height:100%}
.ending{text-align:center}.ending-line{font-size:18px;font-weight:700;margin-top:0}
.offline .mt{display:block;margin-top:14px}
@media(max-width:760px){.play-area{grid-template-columns:1fr}.hedgehog-card{max-width:320px;justify-self:center;width:100%}.items{grid-template-columns:repeat(3,minmax(0,1fr))}.item{min-height:96px}}
@media(prefers-reduced-motion:reduce){.route .mini-cart{transition:none}}
.nest-scene .nest{height:190px;margin-top:6px}.nest-label{bottom:-4px;background:#ffffffcc;border-radius:999px;padding:2px 10px;left:50%;right:auto;transform:translateX(-50%)}
@media(max-width:760px){.hedgehog-card{max-width:240px;padding:8px}}
.art{display:block;width:100%;max-width:100px;height:auto;margin:auto;user-select:none;filter:drop-shadow(0 6px 6px rgba(80,60,30,.18))}
.art.tiny{max-width:52px}.art.flip{transform:scaleX(-1)}
.items.lv-2-3 .art{max-width:120px}
.cart .art,.nest-leaf .art{max-width:none;width:100%;height:100%;object-fit:contain}
.cart>div .art{width:52px;height:52px}
.hedgehog-card .art.hog{max-width:100%;filter:drop-shadow(0 10px 10px rgba(80,60,30,.2))}
.flyer .art{width:100%;height:100%;object-fit:contain}
/* full-scene hedgehog illustrations fill the card */
.hedgehog-card:has(.art.hog){padding:0;overflow:hidden;background:#e8dcbf}
.hedgehog-card .art.hog{width:100%;height:100%;max-width:none;object-fit:cover;object-position:55% 40%;filter:none;border-radius:0}
@media(max-width:760px){.hedgehog-card:has(.art.hog){aspect-ratio:6/5;height:auto}}
