@import url('data:text/css,');
:root{font-family:ui-rounded,'Trebuchet MS',Arial,sans-serif;color:#264d38;background:#e7f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow-x:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #146eb4;outline-offset:5px}[hidden]{display:none!important}.scenery{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(#def4fa 0%,#eff9ef 75%)}.sun{position:absolute;right:10%;top:12%;width:88px;height:88px;background:#ffe18a;border:13px solid #fff0bd;border-radius:50%;box-shadow:0 0 0 15px #fff7d555}.cloud{position:absolute;width:130px;height:30px;border-radius:60px;background:#ffffffaa}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;width:60px;height:60px;bottom:0;left:20px}.cloud:after{left:65px;width:45px;height:45px}.c1{top:21%;left:8%}.c2{top:36%;right:3%;transform:scale(.7)}.hill{position:absolute;width:140%;left:-20%;height:42%;border-radius:50% 50% 0 0;bottom:-19%;background:#a7d99a}.hill.back{bottom:-12%;left:15%;background:#cce6b2}.hill.front{transform:rotate(5deg)}.fence{position:absolute;bottom:5%;left:0;right:0;height:55px;opacity:.28;background:repeating-linear-gradient(90deg,transparent 0 65px,#fff 65px 76px);border-block:8px solid white}.topbar{max-width:1280px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#38674c;font-weight:800;font-size:14px}.brand:first-letter{font-size:25px}.tools{display:flex;align-items:center;gap:10px}.icon-button{border:2px solid #fff;background:#ffffffb3;border-radius:50%;width:44px;height:44px;font-size:24px;font-weight:bold;color:#38674c;box-shadow:0 3px 0 #c4dfcd}.volume{font-size:11px;display:grid;gap:3px}.volume input{width:70px;accent-color:#198b50}.screen{max-width:1100px;margin:auto;text-align:center;padding:22px 28px 30px}.eyebrow{display:block;font-size:12px;font-weight:900;letter-spacing:2.8px;color:#44815a}h1{font-size:clamp(44px,6vw,76px);font-weight:1000;line-height:1.04;letter-spacing:-3px;margin:17px 0;color:#286844;text-shadow:0 3px 0 #fff}h1 span{color:#e29d32}h2{font-size:clamp(30px,4vw,46px);font-weight:900;line-height:1.15;margin:14px 0}p{font-size:18px;line-height:1.5}.intro{margin:15px 0;color:#638271}.hero-art{position:relative;height:265px;max-width:660px;margin:5px auto 10px}.hero-art img{position:absolute;object-fit:contain;filter:drop-shadow(0 13px 5px #376d2920)}.hero-cow{width:310px;height:265px;left:26%;bottom:-6px;z-index:2}.hero-pig{width:210px;height:180px;right:-1%;bottom:-3px;transform:rotate(6deg)}.hero-sheep{width:205px;height:180px;left:0;bottom:2px;transform:rotate(-6deg)}.barn{position:absolute;left:17%;top:5px;width:150px;height:156px;background:#cf7865;border:8px solid #fff5df;border-radius:4px}.barn:before{content:'';position:absolute;left:-25px;top:-51px;width:180px;height:80px;background:#8d5a4a;clip-path:polygon(50% 0,100% 70%,90% 100%,50% 35%,10% 100%,0 70%)}.barn:after{content:'';position:absolute;bottom:0;left:40px;width:55px;height:72px;background:#925343;border:5px solid #fff0ce}.barn span{font-size:36px;color:#ffdea1}.flower{position:absolute;font-size:38px;color:#f6c851;bottom:8px;z-index:3}.f1{left:8%}.f2{right:4%;font-size:28px;color:#e9a2a1}.primary{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:64px;min-width:230px;padding:15px 30px;background:#f7c950;color:#53471f;border:3px solid #fff6c7;border-radius:23px;box-shadow:0 6px 0 #d49b32,0 10px 18px #c3b97140;font-size:21px;font-weight:900;letter-spacing:1px;transition:transform .15s,box-shadow .15s}.primary:hover{transform:translateY(-3px);background:#ffda6d}.primary:active{transform:translateY(4px);box-shadow:0 2px 0 #d49b32}.small-note{font-size:12px;color:#65816b;margin-top:24px}footer{text-align:center;font-size:11px;letter-spacing:1px;color:#5f8363;padding:15px}footer span{color:#d48570}.card-screen{margin-top:25px;padding-top:35px;background:#ffffffa6;border:3px solid white;border-radius:35px;max-width:1000px;box-shadow:0 15px 40px #5c856512}.route{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin:35px 0}.friend{width:150px;padding:12px;background:#fff;border-radius:22px;border:2px solid #e2eddc}.friend img{width:100%;height:110px;object-fit:contain}.friend strong{display:block}.friend span{font-size:12px;color:#7b967b}.game-heading{display:flex;align-items:center;justify-content:space-between;text-align:left}.game-heading h2{margin:5px 0}.progress{display:flex;gap:9px}.progress span{width:29px;height:29px;background:#fff;border:2px solid #c2d6bc;border-radius:50%;font-size:15px;text-align:center;line-height:25px}.progress .done{background:#289451;border-color:#289451;color:white}.progress .current{background:#ffda72;border-color:#dda83d}.game-screen>p{font-size:16px;margin:13px 0}.workspace{display:grid;grid-template-columns:1.35fr 1fr;gap:25px;align-items:center;margin-top:20px}.board-wrap{padding:18px;background:#ffffff80;border:3px solid #fff;border-radius:35px;position:relative}.board{position:relative;aspect-ratio:1.25;width:100%;max-width:470px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);overflow:hidden;border-radius:22px;background:#f3f5dc}.slot,.piece{background-image:var(--animal);background-size:200% 200%;background-position:var(--pos);border:2px dashed #7fa881;position:relative;border-radius:8px}.slot{opacity:.25;min-width:0;padding:0}.slot:after{content:'+';position:absolute;inset:0;display:grid;place-items:center;font-size:30px;color:#245b33}.slot.filled{opacity:1;border:0;animation:snap .4s}.slot.filled:after{display:none}.board.complete{animation:celebrate .7s ease 2}.piece-panel{padding:22px;background:#fff7df;border:3px solid #fff;border-radius:30px;box-shadow:0 8px 0 #d5dcb03b}.tray-label{font-size:11px;letter-spacing:1.7px;font-weight:900;color:#997d45}.tray{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-top:18px}.piece{aspect-ratio:1.25;border:3px solid white;box-shadow:0 4px 0 #b2c197;background-color:#f3f5dc;touch-action:none;user-select:none;cursor:grab;transition:transform .15s}.piece:hover{transform:rotate(-3deg) scale(1.03)}.piece.selected{outline:4px solid #eda32c;outline-offset:3px}.piece.placed{visibility:hidden}.piece.dragging{opacity:.25}.drag-ghost{position:fixed;z-index:100;pointer-events:none;opacity:.95;transform:rotate(4deg);border-radius:10px;background-color:#f3f5dc;border:3px solid white;box-shadow:0 12px 24px #25452b50}.feedback{min-height:58px;max-width:760px;margin:20px auto 0;padding:13px 18px;border-radius:18px;background:#ffffffb5;font-size:17px;font-weight:700}.medal{font-size:75px;color:#e5a926;text-shadow:0 5px 0 #ffdf89}.confetto{position:fixed;top:-30px;width:12px;height:17px;z-index:99;animation:fall 2.7s linear forwards;pointer-events:none}#confetti{pointer-events:none}@keyframes fall{to{transform:translateY(110vh) rotate(650deg)}}@keyframes snap{50%{transform:scale(.92)}80%{transform:scale(1.04)}}@keyframes celebrate{50%{transform:translateY(-12px) rotate(2deg)}}@media(min-width:900px) and (min-height:850px){.home{padding-top:50px}.hero-art{height:310px;margin-top:25px}.hero-cow{height:290px;width:340px}}@media(max-width:650px){.topbar{padding:17px}.brand{font-size:11px}.volume{display:none}.screen{padding:18px 16px}.hero-art{height:220px}.hero-cow{width:55%;left:23%;height:220px}.hero-sheep{width:37%;height:150px}.hero-pig{width:37%;height:150px}.barn{transform:scale(.75);transform-origin:bottom left;top:0}.eyebrow{font-size:10px;letter-spacing:2px}h1{letter-spacing:-2px}.workspace{grid-template-columns:1fr;gap:15px;max-width:420px;margin:15px auto 0}.board-wrap{padding:10px}.board{max-width:320px}.piece-panel{padding:12px}.tray{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.piece{border-width:2px}.tray-label{font-size:9px}.game-heading{gap:10px}.progress{gap:4px}.progress span{width:22px;height:22px;line-height:18px;font-size:12px}.game-heading h2{font-size:30px}.feedback{font-size:15px;margin-top:15px;min-height:50px}.friend{width:99px;padding:8px}.friend img{height:75px}.route{gap:8px;margin:24px 0}.card-screen{margin:10px}.small-note{font-size:10px}.primary{min-height:59px;font-size:18px}footer{padding:10px}.game-screen>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.confetto{display:none}}
