:root{--background:#fff8e9;--ink:#2d2118;--muted:#6f5d4c;--panel:#ffffff;--line:#f0d8aa;--banana:#ffd34e;--orange:#f97345;--green:#50b86f;--blue:#4aa9ff;--red:#e84f3d;--shadow:0 18px 50px rgba(94,57,20,0.16)}*{box-sizing:border-box}body,html{min-width:320px;min-height:100%;margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(255,211,78,.42),transparent 34rem),linear-gradient(180deg,#fff8e9,#fef4dc);font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}button{font:inherit}.app-shell{position:relative;width:min(100%,980px);min-height:100vh;margin:0 auto;padding:22px 16px 34px;overflow:hidden}.sun{position:absolute;top:20px;right:8px;width:110px;height:110px;border-radius:999px;background:rgba(255,211,78,.58);filter:blur(1px);z-index:0}.app-header,.celebration-panel,.intro-panel,.loading-card,.mission-card,.progress-wrap{position:relative;z-index:1}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.small-label{margin:0 0 5px;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.app-header h2{margin:0;font-size:clamp(1.45rem,6vw,2.4rem);line-height:1.04}.reset-button{flex:0 0 auto;min-height:42px;padding:10px 13px;border:2px solid rgba(45,33,24,.12);border-radius:999px;color:var(--ink);background:rgba(255,255,255,.74);font-size:.82rem;font-weight:900;box-shadow:0 8px 20px rgba(94,57,20,.08)}.intro-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:16px;border:2px solid rgba(240,216,170,.9);border-radius:24px;background:rgba(255,255,255,.76)}.intro-panel p{max-width:680px;margin:0 0 8px;font-size:clamp(1rem,3.5vw,1.3rem);font-weight:850;line-height:1.35}.intro-panel span{color:var(--muted);font-size:.92rem;font-weight:800}.xp-pill{display:grid;place-items:center;flex:0 0 92px;min-height:78px;padding:10px;border-radius:22px;color:#422806;background:var(--banana);box-shadow:0 10px 25px rgba(255,175,28,.28)}.xp-pill strong{font-size:1.55rem;line-height:1}.xp-pill span{color:#422806;font-size:.76rem}.progress-wrap{margin-bottom:18px}.progress-dots{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:0;margin:0 0 9px;list-style:none}.progress-dots li{height:12px;border-radius:999px;background:rgba(111,93,76,.18)}.progress-dots li.active{background:var(--blue)}.progress-dots li.complete{background:var(--green)}.progress-bar{width:100%;height:12px;overflow:hidden;border-radius:999px;background:rgba(111,93,76,.14)}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--banana));transition:width .26s ease}.celebration-panel,.loading-card,.mission-card{border:3px solid var(--line);border-radius:28px;background:var(--panel);box-shadow:var(--shadow)}.mission-card{display:grid;gap:22px;padding:clamp(18px,5vw,30px)}.mission-card.safety-child{border-color:rgba(80,184,111,.46)}.mission-card.safety-together{border-color:rgba(255,189,61,.72)}.mission-card.safety-adult{border-color:rgba(232,79,61,.7)}.mission-top{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center}.fox{display:grid;place-items:center}.fox-svg{width:min(100%,180px);height:auto;overflow:visible;filter:drop-shadow(0 14px 20px rgba(94,57,20,.18))}.fox-cheering,.fox-happy{animation:bounce 1.3s ease-in-out infinite}.mission-copy{min-width:0}.safety-banner{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-bottom:14px;padding:10px 12px;border-radius:16px;font-size:.9rem;font-weight:900}.safety-child .safety-banner{color:#174c2a;background:rgba(80,184,111,.16)}.safety-together .safety-banner{color:#6a4300;background:rgba(255,211,78,.26)}.safety-adult .safety-banner{color:#7a120b;background:rgba(232,79,61,.14)}.safety-banner strong:before{content:"🟢 "}.safety-together .safety-banner strong:before{content:"🟡 "}.safety-adult .safety-banner strong:before{content:"🔴 "}.celebration-panel h1,.mission-card h1{margin:0;font-size:clamp(2.2rem,9vw,4.3rem);line-height:.95}.celebration-panel p,.mission-card p{margin:12px 0 0;color:var(--muted);font-size:clamp(1.08rem,4vw,1.45rem);font-weight:800;line-height:1.4}.big-button{width:100%;min-height:68px;border:0;border-radius:22px;color:#2d2118;background:var(--banana);box-shadow:0 12px 0 #d99519,0 18px 30px rgba(94,57,20,.18);font-size:clamp(1rem,4vw,1.28rem);font-weight:1000;letter-spacing:0;transition:transform .16s ease,box-shadow .16s ease;touch-action:manipulation}.big-button:active{transform:translateY(7px);box-shadow:0 5px 0 #d99519,0 10px 20px rgba(94,57,20,.14)}.big-button:disabled{cursor:wait;opacity:.72}.game-area{display:grid;gap:18px}.game-question{padding:14px 16px;border-radius:20px;color:var(--ink)!important;background:#f5fbff}.count-options,.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.count-button,.item-button{min-height:118px;border:3px solid rgba(45,33,24,.1);border-radius:24px;background:#fffaf0;box-shadow:0 8px 18px rgba(94,57,20,.1);color:var(--ink);font-weight:950}.item-button span{display:block;margin-bottom:8px;font-size:clamp(2.5rem,12vw,4.2rem);line-height:1}.item-button strong{display:block;font-size:1rem}.count-button{min-height:108px;font-size:clamp(2.4rem,13vw,4.8rem)}.timer-box{display:grid;justify-items:center;gap:18px}.timer-ring{--progress:0%;display:grid;place-items:center;width:min(64vw,250px);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,#fff 0 56%,transparent 57%),conic-gradient(var(--green) var(--progress),rgba(111,93,76,.16) 0)}.timer-ring span{margin-top:12px;font-size:clamp(4rem,20vw,6.5rem);font-weight:1000;line-height:.86}.timer-ring small{margin-top:-28px;color:var(--muted);font-size:.95rem;font-weight:900}.adult-warning{display:grid;gap:8px;padding:20px;border-radius:22px;color:#7a120b;background:#fff1ee;font-size:clamp(1.15rem,4.5vw,1.6rem);font-weight:1000;text-align:center}.adult-warning strong{font-size:clamp(1.6rem,7vw,2.5rem)}.celebration-panel,.loading-card{display:grid;justify-items:center;gap:18px;min-height:520px;padding:clamp(22px,6vw,42px);text-align:center}.celebration-panel{overflow:hidden}.celebration-panel .fox-svg{width:min(60vw,240px)}.reward-strip,.skills-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.reward-strip span,.skills-list span{padding:10px 13px;border-radius:999px;background:rgba(80,184,111,.14);font-weight:950}.reward-strip span:first-child{background:var(--banana)}.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;top:-20px;left:calc(var(--x, 5) * 1%);width:10px;height:18px;border-radius:4px;background:var(--banana);animation:fall 2.5s linear infinite}.confetti i:nth-child(3n){background:var(--blue)}.confetti i:nth-child(3n+1){background:var(--orange)}.confetti i:first-child{--x:8;animation-delay:0s}.confetti i:nth-child(2){--x:18;animation-delay:.16s}.confetti i:nth-child(3){--x:28;animation-delay:.32s}.confetti i:nth-child(4){--x:38;animation-delay:.48s}.confetti i:nth-child(5){--x:48;animation-delay:.64s}.confetti i:nth-child(6){--x:58;animation-delay:.8s}.confetti i:nth-child(7){--x:68;animation-delay:.96s}.confetti i:nth-child(8){--x:78;animation-delay:1.12s}.confetti i:nth-child(9){--x:88;animation-delay:1.28s}.confetti i:nth-child(10){--x:14;animation-delay:1.44s}.confetti i:nth-child(11){--x:24;animation-delay:1.6s}.confetti i:nth-child(12){--x:34;animation-delay:1.76s}.confetti i:nth-child(13){--x:44;animation-delay:1.92s}.confetti i:nth-child(14){--x:54;animation-delay:2.08s}.confetti i:nth-child(15){--x:64;animation-delay:2.24s}.confetti i:nth-child(16){--x:74;animation-delay:2.4s}.confetti i:nth-child(17){--x:84;animation-delay:2.56s}.confetti i:nth-child(18){--x:94;animation-delay:2.72s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fall{to{transform:translateY(620px) rotate(240deg)}}@media (max-width:680px){.app-shell{padding-top:16px}.app-header{display:grid}.reset-button{width:100%}.intro-panel{align-items:stretch}.xp-pill{flex-basis:78px}.mission-top{grid-template-columns:1fr;justify-items:center;text-align:center}.fox-svg{width:min(58vw,180px)}.safety-banner{justify-content:center}.count-options,.item-grid{grid-template-columns:1fr}.count-button,.item-button{min-height:96px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}