@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Patrick+Hand&display=swap";.animated-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;isolation:isolate;background:linear-gradient(180deg,#bddff9,#d7eaf6 42%,#ece9df 72%,#f5efdf)}.sky-glow{position:absolute;inset:-8%;z-index:1;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.24),transparent 20%),radial-gradient(circle at 82% 20%,rgba(255,255,255,.16),transparent 18%),radial-gradient(circle at 50% 84%,rgba(255,241,208,.15),transparent 27%);animation:skyGlow 10s ease-in-out infinite alternate}@keyframes skyGlow{0%{transform:translate3d(-6px,-4px,0);opacity:.58}to{transform:translate3d(8px,7px,0);opacity:.82}}.cloud{position:absolute;z-index:4;width:clamp(48px,11vw,82px);will-change:transform}.cloud-1{left:10%;top:7%;animation:cloud1 7.5s ease-in-out infinite}.cloud-2{right:18%;top:7%;animation:cloud2 8.4s ease-in-out infinite}.cloud-3{right:7%;top:9.5%;transform:scale(.92);animation:cloud3 7.9s ease-in-out infinite}.cloud-4{right:8%;top:55%;transform:scale(.82);animation:cloud4 9.3s ease-in-out infinite}@keyframes cloud1{0%,to{transform:translateZ(0) rotate(-1deg)}50%{transform:translate3d(10px,-6px,0) rotate(1deg)}}@keyframes cloud2{0%,to{transform:translateZ(0)}50%{transform:translate3d(-8px,-5px,0)}}@keyframes cloud3{0%,to{transform:translateZ(0) scale(.92)}50%{transform:translate3d(-6px,4px,0) scale(.95)}}@keyframes cloud4{0%,to{transform:translateZ(0) scale(.82)}50%{transform:translate3d(-10px,-4px,0) scale(.85)}}.shine{position:absolute;z-index:5;width:24px;height:24px;animation:shinePulse 2.8s ease-in-out infinite}.shine:before,.shine:after{content:"";position:absolute;width:4px;height:14px;border-radius:999px;background:#ffffffe6}.shine:before{left:7px;top:0;transform:rotate(-22deg)}.shine:after{right:4px;top:8px;transform:rotate(60deg)}.shine-top{right:4.5%;top:2.7%;animation-delay:.1s}.shine-right{right:6%;bottom:27%;animation-delay:1.1s}.shine-left{left:22%;bottom:11%;animation-delay:.6s}@keyframes shinePulse{0%,to{opacity:.05;transform:scale(.9)}50%{opacity:.28;transform:scale(1.08)}}.blob{position:absolute;z-index:2;bottom:0;transform-origin:center bottom;background:#ffffff5c}.blob-left{left:-8%;width:57%;height:29%;clip-path:ellipse(56% 73% at 38% 100%);animation:blobLeft 10s ease-in-out infinite}.blob-center{left:25%;width:50%;height:17%;background:#ffffff40;clip-path:ellipse(55% 82% at 50% 100%);animation:blobCenter 11s ease-in-out infinite}.blob-right{right:-5%;width:45%;height:26%;clip-path:ellipse(54% 70% at 58% 100%);animation:blobRight 9.2s ease-in-out infinite}@keyframes blobLeft{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.014)}}@keyframes blobCenter{0%,to{transform:translateY(0);opacity:.8}50%{transform:translateY(-3px);opacity:1}}@keyframes blobRight{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.012)}}.hill{position:absolute;z-index:5;left:-6%;right:-5%;bottom:-1.5%;height:9.5%;border-radius:50% 50% 0 0/100% 100% 0 0;background:linear-gradient(180deg,#d8ec90,#c8df73);animation:hillMove 8.5s ease-in-out infinite}@keyframes hillMove{0%,to{transform:translateY(0) scaleX(1)}50%{transform:translateY(-2px) scaleX(1.006)}}.woodstock{position:absolute;z-index:7;left:1.5%;bottom:1.4%;width:clamp(95px,24vw,165px);transform-origin:58% 100%;will-change:transform;animation:woodstockBounce 2.7s ease-in-out infinite,woodstockWiggle 3.7s ease-in-out infinite}@keyframes woodstockBounce{0%,to{transform:translateZ(0) scale(1)}45%{transform:translate3d(0,-9px,0) scale(1.02)}62%{transform:translate3d(0,-5px,0) scale(.995)}}@keyframes woodstockWiggle{0%,to{rotate:-1.8deg}50%{rotate:2.8deg}}.snoopy-house{position:absolute;z-index:7;right:-1%;bottom:.6%;width:clamp(90px,22vw,150px);transform-origin:67% 100%;will-change:transform,filter;animation:snoopyFloat 5.3s ease-in-out infinite,snoopyBreath 6.6s ease-in-out infinite}@keyframes snoopyFloat{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(0,-7px,0) rotate(.5deg)}}@keyframes snoopyBreath{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.025) saturate(1.02)}}.ui-layer{position:relative;z-index:20}@media(min-width:768px){.cloud{width:clamp(52px,7.5vw,84px)}.woodstock{left:3%;width:clamp(110px,14vw,175px)}.snoopy-house{right:1%;width:clamp(110px,14vw,165px)}.hill{height:8.5%}}@media(prefers-reduced-motion:reduce){.sky-glow,.cloud,.shine,.blob,.hill,.woodstock,.snoopy-house{animation:none!important}}:root{font-family:Fredoka,Trebuchet MS,sans-serif;color:#42366b;background:#77ddf2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;padding:max(22px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:grid;place-items:center;background:#dcecf7}main{width:100%;max-width:510px}button{font:inherit;cursor:pointer;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s,background .15s}button:focus-visible,#board:focus-visible{outline:3px solid #7434ba;outline-offset:4px}button:not(:disabled):hover{transform:translateY(-3px)}button:not(:disabled):active{transform:translateY(2px)}.leaderboard-icon-button{position:absolute;top:13px;left:5px;width:50px;height:50px;padding:0;border:3px solid white;border-radius:50%;background:#aa7bea;box-shadow:0 4px #7655ad}.leaderboard-icon-button img{display:block;width:100%;height:100%;object-fit:contain}[hidden]{display:none!important}.game-shell{position:relative;isolation:isolate}.game-shell:before{content:"";position:absolute;z-index:-1;inset:115px -12px 85px;background:#ecfbffb8;border-radius:48% 48% 35% 35%;filter:blur(25px);pointer-events:none}.game-header{position:relative;text-align:center;padding:0 55px 14px}.edition{font-size:10px;letter-spacing:3px;font-weight:600;margin:0 0 3px;color:#3b5b81}h1{font-size:62px;font-weight:700;letter-spacing:-2px;line-height:1.06;margin:0;color:#8657ca;-webkit-text-stroke:5px white;paint-order:stroke fill;filter:drop-shadow(0 4px 0 #7245ae);transform:rotate(-3deg)}h1 span{color:#ff76a5}.sound-button{position:absolute;top:13px;right:5px;width:50px;height:50px;border:3px solid white;border-radius:50%;background:#aa7bea;color:#fff;font-size:28px;box-shadow:0 4px #7655ad}.sound-button[aria-pressed=true]{background:#4cb491;box-shadow:0 4px #348267}.install-icon-button{position:absolute;top:73px;right:5px;width:50px;height:50px;padding:8px;border:3px solid white;border-radius:50%;background:#aa7bea;color:#fff;box-shadow:0 4px #7655ad;z-index:1}.install-icon-button svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.goal{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;margin-top:7px}.goal>span[aria-hidden]{color:#ffca37;font-size:29px;-webkit-text-stroke:1px #d99b24}.goal strong{font-size:27px;font-weight:600}.progress-track{width:150px;height:9px;border:2px solid white;border-radius:20px;background:#b8a8e4;margin:3px auto 0;overflow:hidden;box-shadow:0 2px #8879b540}#progress{width:0;height:100%;background:#ffe06c;border-radius:inherit;transition:width .3s}#play-prompt{width:fit-content;max-width:100%;margin:14px auto 0;padding:8px 17px;border-radius:18px 18px 18px 4px;background:#ffffffed;color:#675086;font-size:14px;text-align:center;box-shadow:0 3px #a98fc333}#play-prompt.celebrate{background:#fff2ae;animation:cheer .35s ease-out}@keyframes cheer{50%{transform:scale(1.09) rotate(-2deg)}}.board-wrap{margin-top:2px}#board{width:100%;aspect-ratio:1;border-radius:20px;overflow:hidden}#board canvas{display:block;max-width:100%;touch-action:none}.round-tools{display:flex;align-items:center;justify-content:space-between;margin:3px 14px 17px;gap:10px}.stats{display:flex;gap:15px;font-size:13px;padding:8px 12px;background:#ffffffbf;border-radius:25px}.stats strong{font-weight:500;font-variant-numeric:tabular-nums}.restart{display:flex;align-items:center;justify-content:center;gap:7px;border:2px solid white;border-radius:24px;background:#9265ce;color:#fff;box-shadow:0 4px #6b49a3;padding:10px 19px;font-size:15px;font-weight:500}.restart>span{font-size:24px;line-height:1}.best{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;margin:13px auto 0;padding:6px 12px;background:#ffffffb8;border-radius:20px;width:fit-content;max-width:100%}.best>span:first-child{font-size:21px;color:#a27423}.best strong{font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{background:#fff8e9;color:#544678;border:5px solid white;border-radius:32px;box-shadow:0 8px #6d65b060;padding:26px;width:380px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);text-align:center}dialog::backdrop{background:#45477870;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.win-icon{color:#ffc743;font-size:45px;-webkit-text-stroke:1px #e4a332}dialog h2{color:#8657ca;font-size:36px;margin:12px 0;line-height:1.1}dialog p{font-size:14px;line-height:1.5}dialog .restart{width:100%;margin-top:14px}#next-level{background:#ec719b;box-shadow:0 4px #be4e7a;font-size:18px}@media(max-width:550px){body{padding:max(15px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}.game-header{padding:0 48px 12px}h1{font-size:48px}.edition{font-size:8px;letter-spacing:2px}.sound-button{width:48px;height:48px;right:0;top:7px}.install-icon-button{width:48px;height:48px;right:0;top:65px}.leaderboard-icon-button{width:48px;height:48px;left:0;top:7px}.round-tools{margin-inline:4px}#play-prompt{font-size:12px}}@media(max-width:350px){h1{font-size:40px}.stats{gap:9px;font-size:11px;padding-inline:10px}.restart{font-size:13px;padding-inline:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}body{height:100dvh;min-height:0;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}main{height:100%;min-height:0;max-width:620px}.game-shell:before{left:0;right:0}.game-shell{height:100%;display:flex;flex-direction:column}.game-header{flex:none;padding-bottom:6px}h1{font-size:44px}.edition{font-size:8px}.game-content{flex:1;min-height:0;display:flex;flex-direction:column}.goal{flex:none;margin-top:0}.goal strong{font-size:23px}.goal>span[aria-hidden]{font-size:24px}.progress-track{flex:none;margin-top:0}#play-prompt{flex:none;margin-top:6px;padding:5px 12px;font-size:12px}.board-wrap{flex:1;min-height:0;position:relative}#board{position:absolute;inset:0;height:100%;aspect-ratio:auto}.round-tools{flex:none;margin:4px 8px 7px;justify-content:center;flex-wrap:wrap;gap:6px}.current-level{font-size:12px;padding:4px 9px;border-radius:12px;background:#ffffffd9;color:#684597!important;-webkit-text-stroke:0!important}.install-button{border:2px solid white;border-radius:22px;background:#9265ce;color:#fff;font-size:12px;padding:7px 12px;box-shadow:0 3px #6b49a3}.best{flex:none;margin-top:5px;padding:2px 10px;font-size:10px}.best>span:first-child{font-size:16px}@media(max-height:700px){h1{font-size:35px}.game-header{padding-bottom:3px}.edition{display:none}.sound-button,.leaderboard-icon-button{top:0}.install-icon-button{top:60px}.goal{font-size:12px}.best{display:none}}@media(max-height:450px)and (min-width:550px){main{max-width:1000px}.game-header{height:35px}.game-header:has(.install-icon-button:not([hidden])){min-height:110px}h1{font-size:26px}.game-content{display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:30px 26px minmax(0,1fr) 50px;gap:3px 12px}.goal{grid-column:2;grid-row:1}.progress-track{display:none}#play-prompt{grid-column:2;grid-row:2;margin:0;padding:2px;font-size:10px;background:transparent;box-shadow:none}.board-wrap{grid-column:1;grid-row:1 / -1;height:100%}.round-tools{grid-column:2;grid-row:3 / 5;margin:0;gap:6px;align-content:end}.stats{flex-direction:column;gap:0;padding:3px 6px;font-size:10px}.restart{padding:7px 10px;font-size:13px}}body:has(dialog.leaderboard-dialog[open])>.ui-layer{visibility:hidden}dialog.leaderboard-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(110px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(95px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border:0;border-radius:0;background:transparent;box-shadow:none;color:#392b20;font-family:Patrick Hand,Comic Sans MS,Fredoka,cursive;scrollbar-width:thin;scrollbar-color:#b9b09d #fff8eb}.leaderboard-dialog::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.leaderboard-dialog .leaderboard-panel{position:relative;width:min(100%,600px);margin:0 auto;padding:44px 22px 22px;border:3px solid #a7b6b3;border-bottom-color:#cfc6b3;border-radius:70px 70px 52px 52px;background:#fffaf0f5;box-shadow:inset 0 0 30px #eedfc52b,0 5px 18px #748a8410}.leaderboard-friends{position:absolute;width:260px;max-width:65%;height:auto;left:50%;top:0;transform:translate(-50%,-82%);pointer-events:none}#win.leaderboard-dialog .win-icon,#win.leaderboard-dialog #win-title,#win.leaderboard-dialog #win-summary,#win.leaderboard-dialog #win-best,#win.leaderboard-dialog #win-unlock{display:none}.leaderboard-dialog h2{position:relative;isolation:isolate;width:fit-content;max-width:100%;margin:0 auto;color:#392b20;font-size:clamp(32px,7.7vw,56px);font-weight:400;line-height:1.2}.leaderboard-dialog h2:after{content:"";position:absolute;z-index:-1;left:-5px;right:-5px;bottom:2px;height:.32em;border-radius:20px;background:#ffedb0}.leaderboard-dialog .leaderboard-tagline{margin:10px 0 3px;color:#998b76;font-size:clamp(17px,4vw,23px)}.leaderboard-dialog .leaderboard-scope{margin:0 0 14px;color:#8a7c68;font-size:15px}.leaderboard-table-wrap{width:100%}#leaderboard-view .leaderboard-table-wrap{max-height:clamp(160px,calc(100dvh - 490px),410px);overflow:auto;scrollbar-width:thin;scrollbar-color:#d9cbb2 transparent}.leaderboard-table{width:100%;table-layout:fixed;border-spacing:0 8px;text-align:left;font-size:23px;color:#392b20}.leaderboard-table th{font-size:14px;font-weight:400;color:#948570;padding:0 5px}.leaderboard-table th:first-child{width:13%;text-align:center}.leaderboard-table th:nth-child(2){width:49%}.leaderboard-table th:nth-child(3){width:17%}.leaderboard-table th:last-child{width:21%}.leaderboard-table td{height:76px;padding:9px 5px;border-top:2px solid #eee5d7;border-bottom:2px solid #eee5d7;background:#fffaf15c;vertical-align:middle}.leaderboard-table td:first-child{text-align:center;border-left:2px solid #eee5d7;border-radius:28px 0 0 28px}.leaderboard-table td:last-child{border-right:2px solid #eee5d7;border-radius:0 28px 28px 0}.leaderboard-table tr:first-child td{background:#fff1c77d;border-color:#ffe8ac}.leaderboard-table td:nth-child(n+3),.leaderboard-table th:nth-child(n+3){text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.rank-badge{display:inline-grid;place-items:center;width:42px;height:46px;font-size:25px}.rank-crown{background:url(/leaderboard-crown.svg) center / contain no-repeat;color:#fff;padding-top:12px;font-size:21px}.leaderboard-table tr:nth-child(2) .rank-crown{filter:grayscale(1)}.leaderboard-table tr:nth-child(3) .rank-crown{filter:saturate(.55) brightness(.8)}.player-info{display:flex;align-items:center;gap:10px;min-width:0}.player-info strong{font-weight:400;overflow-wrap:anywhere;line-height:1.15;min-width:0}.player-avatar{flex:0 0 44px;height:44px;border-radius:50%;background:#bde1ed url(/leaderboard-friends.png) 22% 60% / 260% auto no-repeat}.avatar-1{background-color:#ffe59a;background-image:url(/animated-background/woodstock.png);background-size:125% auto;background-position:center 20%}.avatar-2{background-color:#f5c6c0}.avatar-3{background-color:#d3e3a9}.avatar-4{background-color:#d6c5eb}.leaderboard-dialog .leaderboard-encouragement{width:fit-content;margin:16px auto 0;padding:10px 20px;border:2px solid #ede2d0;border-radius:25px;background:#f5edde;color:#95816a;font-size:21px}.leaderboard-encouragement span{color:#ef8886;margin-right:6px}.leaderboard-dialog .restart{width:fit-content;max-width:100%;min-width:176px;min-height:48px;margin:16px auto 0;padding:10px 24px;border:2px solid #d7c7a8;border-radius:24px;background:#ffedb9;color:#64513b;box-shadow:0 3px #d8c6a4;font-size:20px}.leaderboard-close-button{position:absolute;top:15px;right:15px;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid #d6cab5;border-radius:50%;background:#fff7e6;color:#88765e;font-size:30px;line-height:1;box-shadow:0 2px #e7dac4}.final-score{display:flex;justify-content:center;gap:35px;margin:16px 0;padding:12px;border:2px solid #f2dfae;border-radius:22px;background:#fff1c7}.final-score span{display:flex;flex-direction:column;font-size:16px}.final-score strong{font-size:30px;font-weight:400}#score-form{text-align:left;padding:16px;border:2px solid #e8ddc9;border-radius:24px;background:#fffcf6}#score-form>p:first-child{text-align:center;margin:0 0 12px;font-size:20px}#score-form label{display:block;margin:8px 0 4px;font-size:18px}#score-form input{width:100%;min-height:46px;padding:10px 12px;border:2px solid #dfd3bd;border-radius:13px;font:inherit;font-size:18px;color:#392b20;background:#fff}#score-form input:focus-visible{outline:3px solid #ae9875;outline-offset:2px}#score-form .score-privacy{font-size:14px;color:#8a7c68}#score-status:empty{display:none}#score-status:not(:empty){padding:10px;border-radius:14px;background:#eef3dc;color:#5b6d41;font-size:17px}#leaderboard-empty,#saved-leaderboard-empty{padding:20px 12px;color:#8a7c68;font-size:20px}@media(max-width:450px){.leaderboard-dialog .leaderboard-panel{padding:40px 9px 18px;border-radius:46px 46px 36px 36px}.leaderboard-table{font-size:18px;border-spacing:0 7px}.leaderboard-table th{font-size:12px;padding:0 2px}.leaderboard-table td{height:62px;padding:7px 3px}.rank-badge{width:30px;height:36px;font-size:21px}.rank-crown{font-size:17px;padding-top:9px}.player-info{gap:6px}.player-avatar{flex-basis:30px;height:30px}.leaderboard-close-button{top:8px;right:8px}.leaderboard-dialog .leaderboard-encouragement{padding:9px 12px;font-size:18px}}
