@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#403c36;background:#faf7f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #8466a2;outline-offset:5px}header{max-width:1200px;margin:auto;padding:27px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e4d9}.brand{color:#49473d;display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Fredoka,sans-serif;font-weight:600;font-size:27px}.brand>span{display:flex;flex-direction:column}.brand small{font:9px DM Sans,sans-serif;letter-spacing:1.7px;margin-top:6px;color:#8e897d}.header-actions{display:flex;gap:12px}.quiet{background:transparent;border:1px solid #e2ded3;border-radius:30px;padding:11px 17px;font-size:12px;color:#6f6e60}.quiet:hover{background:#eeeadf}main{max-width:1050px;margin:auto;padding:38px 30px 20px}.intro{text-align:center}.eyebrow{color:#8b9475;font-size:10px;letter-spacing:2px;font-weight:700}h1{font-family:Fredoka,sans-serif;font-size:53px;line-height:1.08;letter-spacing:-1px;margin:18px 0 13px;font-weight:500}h1 em{color:#7f9676;font-style:normal}.intro>p{font-size:14px;color:#8a867d}.game-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;margin-top:32px}.puppy-card{background:#efeeda;border:1px solid #e0e1c9;border-radius:24px;text-align:center;overflow:hidden;padding:23px 25px 0;position:relative}.park-label{font-size:10px;letter-spacing:1.8px;color:#777e5b;font-weight:700}.dog-scene{position:relative;height:218px;margin:8px 0 0;background:radial-gradient(ellipse at center,#faf4d9 0,transparent 68%)}#dog{width:225px;margin:auto;position:relative;z-index:1}#dog svg{width:100%;height:210px}.sun{position:absolute;right:18px;top:17px;color:#d5ad55;font-size:38px}.flower{position:absolute;left:18px;bottom:40px;color:#c394a4;font-size:34px}.grass{position:absolute;bottom:13px;right:30px;color:#a7b084;letter-spacing:8px}.puppy-card h2{font-family:Fredoka,sans-serif;font-size:23px;font-weight:500;margin:7px 0 10px}.puppy-card p{font-size:12px;line-height:1.8;color:#7d806b;min-height:45px;max-width:290px;margin:0 auto 19px}.buddy-name{border-top:1px solid #dedfc6;padding:15px;color:#888b70;font-size:11px}.question-card{background:#fffefa;border:1px solid #e9e3d9;border-radius:24px;padding:27px 30px;box-shadow:0 6px #eee9df}.question-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#999489}.pill{background:#f5eddd;border-radius:20px;padding:8px 11px;color:#a18b60;font-size:9px;letter-spacing:1px;font-weight:700}.progress{height:5px;background:#f0ece3;border-radius:10px;margin-top:17px;overflow:hidden}#progress{height:100%;background:#93ac83;transition:width .3s}.question-prompt{text-align:center;color:#969082;font-size:12px;margin:25px 0 8px}.equation{font-family:Fredoka,sans-serif;display:flex;align-items:center;justify-content:center;gap:16px;font-size:55px;font-weight:500;white-space:nowrap}.equation>span:not(.mystery){color:#b6b09e;font-size:34px}.mystery{color:#b49abe;background:#f2eaf5;border-radius:15px;padding:0 15px}#answer-form{max-width:330px;margin:20px auto 0}label{font-size:12px;font-weight:600;display:block}#answer-form label{text-align:center;color:#827d71;font-size:11px;margin-bottom:9px}input:not([type=checkbox]){width:100%;background:#fff;border:2px solid #e9e2d6;border-radius:12px;padding:12px;color:#494238;outline:none}input:focus{border-color:#98ad86;box-shadow:0 0 0 3px #98ad861f}#answer{text-align:center;font-family:Fredoka,sans-serif;font-size:23px;height:55px}#answer::placeholder{color:#b7b0a4;font-family:DM Sans,sans-serif;font-size:14px}.primary{width:100%;background:#879e79;color:#fff;border:0;border-radius:12px;box-shadow:0 4px #6c835f;padding:15px 16px;font-weight:700;font-size:14px;margin-top:12px;transition:transform .15s,background .15s}.primary:hover{background:#778f69;transform:translateY(-1px)}.primary:active{transform:translateY(3px);box-shadow:none}.primary span{float:right}.primary:disabled{opacity:.5;cursor:default;transform:none}#feedback{text-align:center;margin-top:19px;font-size:12px;min-height:22px}.hint{color:#a59b8c;font-size:11px}.success{color:#658155;font-weight:700}.try-again{color:#9c7046;line-height:1.5}.next{background:#eee5f3;color:#785f8a;border:0;border-radius:10px;padding:12px 24px;margin-top:10px;font-weight:700}.text-button{background:none;border:0;text-decoration:underline;color:#876e9a;margin-top:8px;font-size:12px}.stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid #e8e1d5;border-radius:17px;background:#fdfbf6;margin-top:28px;padding:19px 10px}.stats>div{display:flex;align-items:center;justify-content:center;gap:13px;border-right:1px solid #e9e3d7}.stats>div:last-child{border:0}.stat-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:23px}.pink{background:#f4e5e5;color:#c5949f}.yellow{background:#f6ecd4;color:#c3a256}.green{background:#e9eddf;color:#8a9a71}.stats p{margin:0}.stats strong{display:block;font-family:Fredoka,sans-serif;font-weight:500;font-size:22px}.stats small{font-size:8px;letter-spacing:1.2px;color:#a49b8d;display:block;margin-top:4px}.footer-note{text-align:center;color:#b3aa9c;font-size:10px;margin-top:25px}.footer-note span{color:#929a7e;margin-left:4px}dialog{width:min(470px,calc(100% - 30px));border:1px solid #e1dbc9;border-radius:24px;background:#fffdf7;padding:32px;color:#494238;box-shadow:0 25px 100px #38332d35}dialog::backdrop{background:#393b3166;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog h2{font-family:Fredoka,sans-serif;font-size:30px;margin:12px 0}dialog p{font-size:13px;line-height:1.7;color:#8b8275}.close{position:absolute;right:17px;top:13px;border:0;background:none;font-size:28px;color:#8e877b}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:13px;font-weight:600;margin-bottom:12px}.table-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.table-options label{position:relative}.table-options input{position:absolute;opacity:0}.table-options span{display:grid;place-items:center;border:2px solid #e7e1d4;border-radius:10px;height:42px;font-size:17px;cursor:pointer}.table-options input:checked+span{background:#879e79;border-color:#879e79;color:#fff}.table-options input:focus-visible+span{outline:3px solid #b69ac9}.range{display:flex;gap:15px}.range label{flex:1}.range input{margin-top:9px}.storage-note{font-size:11px!important;color:#a49a8a!important}.settings-preview{background:#f0efdf;border-radius:9px;padding:10px;font-size:12px!important}#settings-error,#pin-error{color:#b45e53}.finish{text-align:center;padding:35px 8px}.finish h2{font-family:Fredoka,sans-serif;font-size:30px}.finish p{font-size:14px;line-height:1.7;color:#8b8275}.trophy{font-size:55px}#confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}#confetti i{position:absolute;left:var(--x);top:-20px;width:10px;height:15px;background:var(--color);animation:fall 1.5s var(--delay) ease-in forwards}@keyframes fall{to{transform:translateY(100vh) rotate(480deg);opacity:0}}@media(min-width:1200px){main{padding-top:44px}h1{font-size:58px}}@media(max-width:650px){header{padding:20px}.brand{font-size:23px}.brand small{font-size:7px;letter-spacing:1px}.header-actions{gap:5px}.quiet{font-size:10px;padding:10px}.quiet span{display:none}main{padding:25px 17px}.eyebrow{font-size:8px}h1{font-size:43px}.intro>p{font-size:12px}.game-layout{grid-template-columns:1fr;gap:18px;margin-top:23px}.puppy-card{padding:15px 20px 0}.dog-scene{height:135px;margin-top:0}#dog{width:155px}#dog svg{height:140px}.sun{right:22%;font-size:28px}.flower{left:20%;bottom:20px}.grass{right:20%;bottom:4px}.puppy-card h2{font-size:21px;margin:5px}.puppy-card p{min-height:0;margin-bottom:10px}.buddy-name{padding:10px}.question-card{padding:23px}.stats{padding:15px 4px;gap:5px}.stats>div{gap:7px}.stat-icon{width:27px;height:30px;font-size:18px}.stats strong{font-size:18px}.stats small{font-size:6px;letter-spacing:.5px}.footer-note{font-size:9px}.equation{font-size:48px;gap:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}#confetti{display:none}}.puppy-tail{transform-origin:194px 189px;animation:tail-wag .18s ease-in-out infinite alternate}#dog svg{animation:puppy-bob 1.5s ease-in-out infinite}.celebration-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse,#fff8e8f5 15%,#ffe7f1df 55%,#e4daffbb);animation:party-fade 2.6s both}.celebration-party{position:absolute;left:50%;top:50%;width:min(90vw,650px);text-align:center;transform:translate(-50%,-50%);animation:party-pop 2.6s both}.celebration-party strong{display:block;font:600 clamp(34px,8vw,74px)/1.1 Fredoka,sans-serif;color:#ec428b;text-shadow:3px 4px 0 #fff,5px 7px 0 #f4bacf}.party-stars{font-size:45px;color:#e9b62a;letter-spacing:18px;animation:star-dance .5s infinite alternate}.party-puppy{width:min(330px,65vw);margin:0 auto}.party-puppy svg{width:100%;filter:drop-shadow(0 14px 0 #ddbb9c44);animation:happy-dance .3s ease-in-out infinite alternate}.party-puppy .puppy-tail{animation-duration:.09s}.celebration-party p{font:500 clamp(18px,4vw,28px) Fredoka,sans-serif;color:#825b94;margin:0 0 15px}.celebration-party>span{font-size:11px;letter-spacing:2px;color:#9a6b83}#confetti i{width:13px;height:21px;animation:big-fall 2.6s var(--delay) ease-in forwards}#dog:has(svg[aria-label*=happy]){filter:drop-shadow(0 5px 5px #efcd8b33)}.finish .trophy{animation:star-dance .6s ease-in-out infinite alternate;font-size:85px}.finish{background:radial-gradient(ellipse,#fff3cc,transparent 70%)}@keyframes tail-wag{0%{transform:rotate(-15deg)}to{transform:rotate(20deg)}}@keyframes puppy-bob{50%{transform:translateY(-5px)}}@keyframes happy-dance{0%{transform:translateY(0) rotate(-7deg)}to{transform:translateY(-18px) rotate(7deg)}}@keyframes star-dance{to{transform:scale(1.15) rotate(4deg)}}@keyframes party-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}12%,85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-55%) scale(1.05)}}@keyframes party-fade{0%,to{opacity:0}10%,85%{opacity:1}}@keyframes big-fall{to{transform:translateY(110vh) rotate(var(--spin));opacity:.2}}@media(prefers-reduced-motion:reduce){.puppy-tail,#dog svg,.celebration-party,.party-stars,.party-puppy svg,.finish .trophy{animation:none!important}}
