*{box-sizing:border-box}body{margin:0;color:#243e37;background:#f8f6eb;font-family:ui-rounded,'Segoe UI',sans-serif;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;padding:26px 5vw;position:relative}header a{color:#244f42;text-decoration:none;font-weight:800;font-size:25px}header a span{display:block;font-size:12px;font-weight:500;margin:5px 0 0 34px}.prototype{font-size:10px;letter-spacing:2px;background:#e4ebdc;padding:10px 14px;border-radius:20px}.sun{position:fixed;right:-70px;top:-110px;width:340px;height:340px;border-radius:50%;background:#f2d88c;opacity:.45;z-index:-1}main{max-width:1050px;margin:16px auto 35px;padding:0 24px}h1{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-1px;margin:14px 0}h2{font-size:clamp(23px,3vw,32px);margin:12px 0}p{line-height:1.6}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#58745f}.home{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:45px;padding-top:30px}.intro{font-size:18px;max-width:370px;color:#577065}.card{border-radius:30px;background:#fffdf5;padding:24px;box-shadow:0 12px 35px #334f3210;border:1px solid #e4e8d7}.scene{position:relative;background:#d9e9c6;border-radius:26px;min-height:290px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:12px solid #bfd39e}.scene:before,.scene:after{content:'✿';position:absolute;color:#fff8cc;font-size:48px;left:16px;bottom:15px}.scene:after{left:auto;right:24px;top:20px;color:#f7bb87}.blanket{width:83%;min-height:190px;padding:28px 18px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;background-color:#fff3dc;background-image:linear-gradient(90deg,#df896d44 50%,transparent 50%),linear-gradient(#df896d44 50%,transparent 50%);background-size:44px 44px;border:8px solid #fff2d9;border-radius:20px;transform:rotate(-2deg);box-shadow:0 9px 0 #77965e30}.apple{position:relative;background:transparent;border:3px solid transparent;border-radius:25px;width:100px;height:112px;padding:8px;display:grid;place-items:center;transform:rotate(2deg)}.apple svg{width:75px;height:85px;filter:drop-shadow(0 4px 0 #743a2520)}.apple.marked{background:#fffef0c9;border-color:#477e54}.apple.current{box-shadow:0 0 0 5px #f7ce67}.badge{position:absolute;bottom:-8px;right:-5px;background:#2d6547;color:white;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-weight:800}.btn,select{border:0;border-radius:18px;padding:16px 22px;font:700 17px 'Segoe UI',sans-serif;min-height:56px;cursor:pointer;background:#e8eddf;color:#2b4e40}.btn.primary{background:#2e674b;color:white;box-shadow:0 4px 0 #204a35}.btn:hover:not(:disabled){filter:brightness(.96)}button:focus-visible,a:focus-visible,select:focus-visible{outline:4px solid #175baf;outline-offset:4px}button:disabled{cursor:default;opacity:.55}.settings{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0}.settings label{font-size:14px;font-weight:700}.settings select{margin-left:8px;background:white;border:1px solid #bdccb5}.small{font-size:13px;color:#61776d}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.controls{display:flex;gap:8px;flex-wrap:wrap}.controls .btn{font-size:14px;padding:12px 16px}.round{font-weight:800;font-size:14px;color:#526f5e}.play{text-align:center}.play .scene{min-height:300px;margin:22px 0}.play .blanket{max-width:750px}.feedback{min-height:64px;display:grid;place-items:center;font-size:21px;font-weight:650;margin:18px auto;max-width:750px}.answers{display:flex;justify-content:center;gap:18px;margin:20px 0}.answer{width:90px;height:82px;border:2px solid #d3deca;border-radius:22px;background:#fffefa;color:#294e3e;font-size:38px;font-weight:800;box-shadow:0 5px 0 #dce4d1;cursor:pointer}.answer.reveal{border:4px solid #3c7e4c;background:#e5f1d9}.bottom{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}.progress{display:flex;gap:7px}.dot{width:11px;height:11px;border-radius:50%;background:#c9d7be}.dot.active{background:#4d7b53}.finish{text-align:center;padding:50px 24px}.finish-icon{font-size:75px}.pause{padding:65px 10px;text-align:center}footer{text-align:center;font-size:12px;color:#6a7d6b;padding:24px}footer span{display:block;margin-top:6px}@media(max-width:650px){header{padding:20px}.prototype{display:none}.home{grid-template-columns:1fr;gap:22px;padding-top:0}.intro{max-width:none}.home .card{order:-1;padding:12px}.home .scene{min-height:210px}.home .blanket{min-height:145px}.home .apple{width:70px;height:90px}.home .apple svg{width:55px}.apple{width:75px;height:92px}.apple svg{width:57px;height:68px}.blanket{width:94%;gap:10px;padding:22px 12px}.play .scene{min-height:260px}.controls .btn{padding:10px 12px}.feedback{font-size:18px;min-height:80px}main{padding:0 16px}.answer{width:80px;height:76px}.settings{margin:16px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.apple:disabled{opacity:1}

/* A small, calm celebration; no flashing, score pressure, or looping motion. */
.picnic-goal{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px 0 6px;flex-wrap:wrap}
.goal-token{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7ecdc;filter:grayscale(1);opacity:.45;border:2px dashed #a3b893;font-size:23px}
.goal-token.done{filter:none;opacity:1;background:#fff7df;border:2px solid #7b9a59}
.picnic-goal small{color:#5c755f;font-size:12px;margin-left:8px}
.cheer{display:flex;align-items:center;justify-content:center;gap:20px;background:#e7efd9;border:1px solid #c8d9b3;border-radius:24px;padding:16px;margin:0 auto 16px;max-width:550px;text-align:left}
.cheer strong{font-size:23px;color:#285a40}.cheer span:not(.pal-leaf):not(.pal-eye):not(.pal-smile){display:block;font-size:14px;margin-top:5px}
.picnic-pal{position:relative;flex:none;width:62px;height:60px;background:#e57857;border-radius:43% 45% 45% 45%;box-shadow:inset -9px -3px #d65f48;transform:rotate(-6deg)}
.pal-leaf{position:absolute;width:26px;height:13px;border-radius:100% 0 100% 0;background:#538158;left:32px;top:-10px;transform:rotate(-15deg)}
.pal-eye{position:absolute;top:21px;width:5px;height:7px;background:#54382e;border-radius:50%}.pal-eye.left{left:19px}.pal-eye.right{right:18px}
.pal-smile{position:absolute;left:25px;top:31px;width:14px;height:9px;border-bottom:3px solid #54382e;border-radius:0 0 50% 50%}
.big-pal{margin:20px auto 35px;transform:scale(1.65) rotate(-6deg)}.complete-goal span{font-size:34px;padding:9px;background:#fff1ca;border-radius:50%}
.success .apple{animation:apple-hop .6s ease-out 1}.success .apple:nth-child(2){animation-delay:.08s}.success .apple:nth-child(3){animation-delay:.16s}.success .apple:nth-child(4){animation-delay:.24s}.success .apple:nth-child(5){animation-delay:.32s}
.success .picnic-pal{animation:pal-wiggle .65s ease-in-out 1}
@keyframes apple-hop{0%,100%{transform:translateY(0) rotate(2deg)}45%{transform:translateY(-12px) rotate(-5deg)}}
@keyframes pal-wiggle{0%,100%{transform:rotate(-6deg)}35%{transform:rotate(10deg)}70%{transform:rotate(-12deg)}}
@media(max-width:650px){.cheer{gap:14px;padding:15px}.cheer strong{font-size:20px}.picnic-goal small{width:100%;margin:0}.play .scene{margin-top:14px}.cheer span:not(.pal-leaf):not(.pal-eye):not(.pal-smile){font-size:12px}}
@media(prefers-reduced-motion:reduce){.success .apple,.success .picnic-pal{animation:none!important}}

