@font-face{font-family:Fredoka;src:url(/fonts/fredoka.ttf)format("truetype");font-style:normal;font-weight:300 700;font-display:swap}:root{--ink:#242720;--muted:#74796e;--line:#e1e5da;--lime:#d5ef79;--green:#536837;color:var(--ink);font-synthesis:none;background:#fff;font-family:Fredoka,sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .15s}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:4px}button:not(:disabled):active{transform:translateY(1px)}.shell{z-index:1;max-width:780px;margin:0 auto;padding:64px 28px 24px;position:relative}.brand{text-align:center}.brand h1{letter-spacing:-.9px;margin:0 0 12px;font-size:48px;font-weight:500;line-height:1.1}.brand time{color:var(--muted);font-size:13px}.instruction{text-align:center;max-width:440px;margin:35px auto 38px;font-size:14px;line-height:1.65}.board{--tile-height:64px;--tile-gap:9px;max-width:calc(var(--count)*60px + (var(--count) - 1)*var(--tile-gap));margin:0 auto;position:relative}.game-topline{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:19px;font-size:13px;display:flex}.round-progress{font-variant-numeric:tabular-nums}.round-progress:focus,.final-score:focus{outline:none}.score{align-items:baseline;gap:5px;display:flex}.score strong{color:var(--ink);font-weight:600}.tiles{grid-template-columns:repeat(var(--count), minmax(0, 1fr));gap:var(--tile-gap);display:grid}.tile{min-width:0;height:var(--tile-height);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:9px;justify-content:center;align-items:center;padding:0;font-size:28px;font-weight:450;display:flex}.slot{border:1.5px solid var(--line);background:#fff}.slot:hover,.next-slot{border-color:#a7b494}.rack{min-height:var(--tile-height);margin-top:22px;position:relative}.letter,.slot.filled{background:linear-gradient(#e3f69f, var(--lime));border:1px solid #c5db80;border-bottom-color:#a6c25b;box-shadow:inset 0 2px #f3ffd0,0 4px #a8c463,0 5px 3px #4a602514}.letter:not(:disabled):hover{background:#cce76a;transform:translateY(-2px)}.drag-source{opacity:.2}.board-tools{justify-content:space-between;align-items:center;margin-top:13px;display:flex}.icon-button{color:#68735c;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.icon-button:not(:disabled):hover{background:#f3f5ee}.icon-button:disabled{opacity:.3}.icon-button svg{width:20px;height:20px}.submit-area{text-align:center;margin:25px 0 0}.primary{color:#fff;background:var(--ink);border:0;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-width:185px;min-height:49px;padding:13px 24px;font-size:14px;font-weight:500;display:inline-flex}.primary:not(:disabled):hover{background:#414a36}.primary:disabled{color:#969e8b;background:#edf0e7}.message{color:var(--green);text-align:center;min-height:24px;margin:15px 0 0;font-size:12px;line-height:1.6}.message.error{color:#a14635}.typing-input{opacity:0;border:0;width:1px;height:1px;padding:0;font-size:16px;position:absolute;top:95px;left:0}.drag-ghost{z-index:100;pointer-events:none;width:60px;height:64px;position:fixed;transform:translate(-50%,-65%)rotate(-4deg);box-shadow:0 8px 20px #24272020}.results{text-align:center;padding-top:43px}.final-score{letter-spacing:-3px;font-size:70px;font-weight:600;line-height:1}.final-score>span{color:var(--muted);letter-spacing:0;margin-top:10px;font-size:13px;font-weight:400;display:block}.share-button{margin-top:35px}.score-tier{color:#526439;background:#ffffffb0;border-radius:30px;margin:0 0 20px;padding:7px 16px;font-size:17px;font-weight:450;display:inline-block}.tier-boss{color:#354025;background:linear-gradient(120deg,#ddf293,#f1dfff)}.tier-guide{color:#606a53;max-width:280px;margin:20px auto 0;font-size:12px}.tier-guide summary{cursor:pointer;text-underline-offset:3px;padding:8px 12px;text-decoration:underline;display:inline-block}.tier-guide p{margin:10px 0}.tier-guide ul{background:#ffffffa8;border-radius:12px;margin:8px 0 0;padding:7px;list-style:none}.tier-guide li{border-radius:8px;justify-content:space-between;padding:8px 12px;display:flex}.tier-guide .current-tier{color:#354025;background:#e6f2bc}.result-actions{justify-content:center;gap:10px;margin-top:22px;display:flex}.result-actions .primary{min-width:135px;margin-top:0}.secondary{background:#ffffff80;border:1px solid #aebf8c;border-radius:9px;min-height:49px;padding:12px 26px;font-size:14px}.secondary:hover:not(:disabled){background:#ffffffc0}.secondary:disabled{opacity:.6}.next-game{color:#626d54;margin:29px auto 0;font-size:13px}.next-game [role=timer]{letter-spacing:1px;font-variant-numeric:tabular-nums;color:#354025;margin-top:9px;font-size:23px;font-weight:450;display:block}.replay-note{color:#626d54;margin:16px 0 0;font-size:12px}.replay-label{color:#667357}.test-reveal{text-align:center;color:var(--muted);margin:30px auto 0;font-size:12px}.test-reveal button{color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:10px 12px;text-decoration:underline}.revealed-answers{text-align:left;max-width:390px;margin:12px auto 0}.solution-list{margin:0;padding:0;list-style:none}.solution-list li{border-bottom:1px solid #e9edde;align-items:center;gap:12px;min-height:36px;padding:6px 0;display:flex}.solution-list strong{color:var(--ink);letter-spacing:.5px;flex:1;font-size:14px;font-weight:450}.solution-bonus{color:var(--green);background:#edf5d9;border-radius:5px;padding:3px 5px;font-size:11px}.solution-points{text-align:right;min-width:35px}.revealed-answers details{margin-top:14px}.revealed-answers summary{cursor:pointer;padding:8px 0}.revealed-answers details .solution-list{max-height:280px;overflow:auto}.celebration-background{z-index:0;pointer-events:none;background:#fcfff5;animation:.8s ease-out both celebration-in;position:fixed;inset:0;overflow:hidden}.celebration-background>div{filter:blur(35px);opacity:.72;will-change:transform;border-radius:50%;width:90vmax;height:90vmax;position:absolute}.celebration-background>div:first-child{background:radial-gradient(#d3ee83 0%,#d3ee8300 68%);animation:15s ease-in-out infinite alternate gradient-drift;top:-45vmax;left:-30vmax}.celebration-background>div:nth-child(2){background:radial-gradient(#bca5ee 0%,#bca5ee00 68%);animation:19s ease-in-out -7s infinite alternate-reverse gradient-drift;bottom:-45vmax;right:-40vmax}.celebration-background>div:nth-child(3){background:radial-gradient(#ffd69d 0%,#ffd69d00 68%);animation:17s ease-in-out -4s infinite alternate gradient-drift;bottom:-60vmax;left:-10vmax}.bonus-glow{opacity:.8}.game-won+.shell .results{animation:.7s cubic-bezier(.2,.8,.2,1) both winning-score-in}.game-won+.shell .final-score{text-shadow:0 4px 32px #ffffffb0;font-size:94px}@keyframes celebration-in{0%{opacity:0}to{opacity:1}}@keyframes bonus-land{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bonus-shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes gradient-drift{0%{transform:translate(-4%,-6%)scale(.9)rotate(-12deg)}to{transform:translate(18%,15%)scale(1.2)rotate(20deg)}}@keyframes winning-score-in{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:none}}@keyframes sparkle-burst{0%{opacity:0;transform:rotate(var(--rotation)) translateY(-20px) scale(.5)}12%{opacity:1}75%{opacity:.8}to{opacity:0;transform:rotate(var(--rotation)) translateY(calc(-1 * var(--travel))) rotate(100deg) scale(.6)}}.share-fallback{border:1px solid var(--line);border-radius:8px;width:100%;max-width:400px;min-height:140px;margin:20px auto;padding:12px;font-size:12px;display:block}.about{max-width:620px;margin:0 auto;font-size:14px;line-height:1.8}.about h1{font-size:32px;line-height:1.3}.about h2{margin-top:30px;font-size:20px}.about a{color:var(--green)}.about p{color:#626b58}.about code{font-size:12px}.brand{position:relative}.brand>.sound-control{position:absolute;top:0;right:0}.sound-control{color:#49454f;background:#ffffffa8;border:1px solid #e5e2e9;border-radius:50%}.sound-control[aria-pressed=false]{color:#94909a}.slot.filled{animation:.22s cubic-bezier(.2,.8,.3,1.4) tile-pop}@keyframes tile-pop{0%{transform:translateY(4px)scale(.91)}to{transform:none}}.score-celebration{--party-ink:#292331;width:100%;max-width:none;height:100%;max-height:none;color:var(--party-ink);isolation:isolate;background:#f8f6ff;border:0;border-radius:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden auto}.score-celebration[open]{place-items:center;animation:.36s cubic-bezier(.16,1,.3,1) both takeover-in;display:grid}.score-celebration::backdrop{background:#f8f6ff}.score-celebration>.sound-control{top:max(20px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));z-index:5;position:fixed}.celebration-wash{z-index:-2;pointer-events:none;background:radial-gradient(at 18% 85%,#d5ff9280,#0000 50%),radial-gradient(at 87% 12%,#cbb5ff90,#0000 53%),#fcfaff;position:fixed;inset:0}.with-bonus .celebration-wash{background:radial-gradient(at 12% 82%,#ceff8590,#0000 50%),radial-gradient(at 88% 18%,#ff9fc475,#0000 55%),#f6f0ff}.celebration-orbit{pointer-events:none;z-index:-1;border:1.5px solid #9682c12b;border-radius:50%;width:110vmax;height:50vmax;position:fixed;top:50%;left:50%}.orbit-one{transform:translate(-50%,-50%)rotate(-28deg)}.orbit-two{border-color:#9bae7424;transform:translate(-50%,-50%)rotate(28deg)}.award-stage{text-align:center;width:min(540px,100%);padding:88px 30px 48px;position:relative}.award-word-wrap{z-index:2;width:100%;position:relative}.award-word{justify-content:center;gap:clamp(3px,1vw,7px);margin:0;display:flex}.award-word>span{min-width:0;height:54px;transform:rotate(var(--tilt));animation:letter-launch .6s calc(var(--i) * 35ms) cubic-bezier(.2,.9,.2,1.25) backwards;background:#fff;border:1.5px solid #292331;border-radius:10px;flex:0 46px;place-items:center;font-size:clamp(19px,5vw,29px);font-weight:500;display:grid;box-shadow:0 4px #292331}.full-word .award-word>span{background:#d4ff75}.with-bonus .award-word>span:nth-child(3n){background:#c6aaff}.score-splash{place-items:center;width:min(380px,100%);min-height:240px;margin:38px auto 20px;display:grid;position:relative}.score-halo{background:#e9ddff;border-radius:50%;width:225px;height:225px;animation:.8s cubic-bezier(.18,1,.3,1) .12s both halo-grow;position:absolute;transform:rotate(-15deg)}.score-halo:after{content:"";border-radius:inherit;border:1px dashed #b79bdf;position:absolute;inset:-12px}.full-word .score-halo{background:#c8f86d}.full-word .score-halo:after{border-color:#93bc48}.with-bonus .score-halo{background:#cfb4ff;animation:.8s cubic-bezier(.18,1,.3,1) .12s both halo-grow,.7s ease-out .95s bonus-halo}.award-score{z-index:1;margin:0;position:relative}.award-score strong{letter-spacing:-7px;font-variant-numeric:tabular-nums;text-shadow:0 5px #ffffffa0;font-size:clamp(100px,20vw,138px);font-weight:650;line-height:.94;animation:.72s cubic-bezier(.2,.85,.3,1.3) .2s both score-slam;display:block}.award-score>span{color:#51495e;margin-top:15px;font-size:14px;display:block}.award-sticker{z-index:3;background:#fff;border:1.5px solid #292331;border-radius:7px;padding:9px 14px;font-size:18px;font-weight:550;animation:.55s cubic-bezier(.2,.9,.25,1.3) .55s backwards sticker-slap;position:absolute;top:8px;right:-4px;transform:rotate(9deg);box-shadow:3px 4px #292331}.with-bonus .award-sticker{background:#ff9fc4;animation-delay:.95s}.celebration-star{z-index:2;pointer-events:none;position:absolute}.star-happy{color:#c7a3ff;width:93px;animation:.8s cubic-bezier(.2,.8,.2,1.3) .3s backwards star-arrive,4s ease-in-out 1.1s infinite sticker-float;top:-10px;left:-8px;transform:rotate(-16deg)}.with-bonus .star-happy{color:#ccfb65}.star-small{color:#ff9ebc;width:48px;animation:.7s cubic-bezier(.2,.8,.2,1.3) .45s backwards star-arrive;bottom:12px;right:8px;transform:rotate(15deg)}.celebration-doodle{color:#8865bf;font-size:50px;animation:.7s ease-out .5s backwards sticker-slap;position:absolute;bottom:7px;left:17px;transform:rotate(-12deg)}.award-breakdown{z-index:2;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex;position:relative}.award-breakdown>div{background:#fff9;border:1px solid #ddd3e8;border-radius:30px;align-items:center;gap:9px;padding:10px 16px;display:flex}.award-breakdown strong{font-weight:600}.award-breakdown .award-bonus{background:#d4ff75;border-color:#292331;animation:.5s cubic-bezier(.2,.9,.25,1.4) .95s both sticker-slap;box-shadow:2px 3px #292331}.award-bonus>span{font-size:19px}.award-story{z-index:2;color:#624783;text-underline-offset:3px;overflow-wrap:anywhere;width:fit-content;max-width:390px;margin:18px auto 0;padding:5px 8px;font-size:14px;line-height:1.45;text-decoration:underline;display:block;position:relative}.award-story:hover{color:#30213f}.award-story:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid #624783}.award-story+.award-continue{margin-top:20px}.award-continue{z-index:2;background:#292331;border-radius:18px;min-width:220px;min-height:56px;margin-top:33px;font-size:16px;position:relative;box-shadow:0 5px #afa0c6}.award-continue span{margin-left:15px;font-size:24px;line-height:1}.award-continue:not(:disabled):hover{background:#49355f;transform:translateY(-2px)}.award-continue:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px #afa0c6}.confetti{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:visible}.confetti i{background:var(--color);opacity:0;width:8px;height:13px;animation:confetti-flight 1.65s var(--delay) cubic-bezier(.15,.65,.4,1) both;border-radius:2px;position:absolute;top:45%;left:50%}.confetti i:nth-child(3n){border-radius:50%;width:10px;height:10px}.confetti i:nth-child(4n){width:5px;height:17px}.with-bonus .confetti i{animation-delay:calc(var(--delay) + .8s)}.finish-score-wrap{isolation:isolate;width:min(360px,100%);margin:8px auto 25px;padding:20px 0;position:relative}.finish-halo{z-index:-1;background:#c9f773;border-radius:50%;width:200px;height:200px;animation:.9s cubic-bezier(.2,.8,.2,1.2) both finish-halo-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 13px #ffffff60,0 0 0 14px #a3bd6b50}.finish-star{color:#b497f9;width:88px;animation:.7s .15s backwards star-arrive,5s ease-in-out 1s infinite sticker-float;position:absolute;top:-24px;left:-4px;transform:rotate(-16deg)}.finish-spark{color:#ff99bd;width:45px;animation:.7s .3s backwards star-arrive;position:absolute;bottom:-9px;right:9px;transform:rotate(12deg)}.game-won+.shell .final-score{color:#292331;font-size:clamp(94px,20vw,118px);font-weight:650}.game-won+.shell .score-tier{color:#292331;background:#fff;border:1.5px solid #292331;margin-bottom:24px;transform:rotate(-5deg);box-shadow:3px 3px #292331}.game-won+.shell .tier-boss{background:#d1ff78}.game-won+.shell .result-actions .primary{background:#34263f;border-radius:14px;box-shadow:0 4px #b7a0ce}.game-won+.shell .secondary{border-color:#b5a1c3;border-radius:14px}.results{overflow-clip-margin:70px;padding-bottom:24px;overflow:clip}.score-comparison{color:#5f516b;max-width:300px;min-height:45px;margin:22px auto 4px;font-size:12px}.score-comparison>strong{color:#443151;margin-bottom:5px;font-size:18px;font-weight:500;display:block}.score-comparison small{font-size:12px;font-weight:400}.score-comparison summary{cursor:pointer;padding:3px;list-style-position:inside}.score-comparison p{margin:8px 0 0;line-height:1.55}.score-comparison button{color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:8px;font-size:12px;text-decoration:underline}.pixel-reward{z-index:2;pointer-events:none;filter:drop-shadow(3px 5px #29233126);animation:.85s cubic-bezier(.2,.85,.25,1.3) both pixel-spin-in;display:block;position:absolute}.pixel-reward svg{width:100%;image-rendering:pixelated;animation:3.5s ease-in-out 1s infinite pixel-bounce;display:block}.finish-reward{--rest-rotation:-14deg;width:96px;top:-29px;left:-7px}.finish-coin{--rest-rotation:12deg;width:48px;animation-delay:.15s;top:-2px;right:0}.finish-coin svg{animation:4s ease-in-out 1.2s infinite coin-wobble}.finish-gem{--rest-rotation:-8deg;width:55px;animation-delay:.3s;bottom:-22px;right:7px}.finish-gem svg{animation-delay:1.7s}.reward-vibing{--pixel-main:#c9f773;--pixel-light:#f7ffe5}.reward-cooking{--pixel-main:#ff9b56;--pixel-light:#fff3aa}.reward-ate{--pixel-main:#b797f4;--pixel-light:#efe4ff}.reward-different{--pixel-main:#d0ff72;--pixel-light:#f7ffdf}@keyframes pixel-spin-in{0%{opacity:0;transform:translateY(-75px)rotate(-300deg)scale(.1)}65%{opacity:1;transform:translateY(9px)rotate(12deg)scale(1.12)}to{opacity:1;transform:translateY(0) rotate(var(--rest-rotation))}}@keyframes pixel-bounce{0%,to{transform:translateY(0)rotate(-2deg)}45%{transform:translateY(-10px)rotate(5deg)}70%{transform:translateY(2px)rotate(-3deg)}}@keyframes coin-wobble{0%,to{transform:translateY(0)rotateY(0)}50%{transform:translateY(-9px)rotateY(38deg)}}@keyframes takeover-in{0%{opacity:0;transform:translateY(6%)}to{opacity:1;transform:none}}@keyframes letter-launch{0%{opacity:0;transform:translateY(50px) rotate(calc(var(--tilt) * 3)) scale(.5)}to{opacity:1;transform:rotate(var(--tilt))}}@keyframes halo-grow{0%{opacity:0;scale:.2}to{opacity:1;scale:1}}@keyframes bonus-halo{50%{scale:1.12}}@keyframes score-slam{0%{opacity:0;transform:translateY(-30px)scale(1.4)}60%{opacity:1;transform:translateY(5px)scale(.93)}to{opacity:1;transform:none}}@keyframes sticker-slap{0%{opacity:0;translate:0 -20px;scale:1.8}to{opacity:1;translate:0;scale:1}}@keyframes star-arrive{0%{opacity:0;rotate:-80deg;scale:0}to{opacity:1;rotate:0deg;scale:1}}@keyframes sticker-float{0%,to{translate:0}50%{translate:0 -9px}}@keyframes confetti-flight{0%{opacity:0;transform:translate(0)scale(.1)}10%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 110px)) rotate(var(--spin)) scale(.6)}}@keyframes finish-halo-in{0%{opacity:0;scale:.2}to{opacity:1;scale:1}}@media (max-width:480px){.award-stage{padding:78px 25px 38px}.award-word>span{border-radius:8px;height:46px}.score-splash{margin-top:34px}.star-happy{width:76px;left:-7px}.award-sticker{font-size:16px;right:-2px}.score-halo{width:210px;height:210px}.finish-star{width:73px;left:8px}.finish-spark{right:18px}.finish-reward{width:78px;left:0}.finish-coin{width:41px;right:11px}.finish-gem{width:46px;right:14px}}@media (max-height:650px){.award-stage{padding-top:62px;padding-bottom:28px}.score-splash{min-height:190px;margin:24px auto 12px}.score-halo{width:175px;height:175px}.award-score strong{font-size:94px}.award-continue{margin-top:22px}.award-stage:has(.award-story){padding-top:50px;padding-bottom:20px}.award-stage:has(.award-story) .score-splash{min-height:135px;margin:18px auto 8px}.award-stage:has(.award-story) .score-halo{width:150px;height:150px}.award-stage:has(.award-story) .award-score strong{font-size:80px}.award-story{margin-top:10px;font-size:12px}}@media (max-width:650px){.shell{padding:40px 22px 22px}.brand h1{padding-inline:44px;font-size:clamp(32px,10vw,43px)}.brand time{font-size:12px}.instruction{max-width:340px;margin:29px auto 31px;font-size:13px}.board{--tile-height:56px;--tile-gap:6px;max-width:100%}.tile{font-size:clamp(19px, calc(220px / var(--count)), 27px);border-radius:7px}.game-topline{margin-bottom:16px;font-size:12px}.submit-area{margin-top:19px}}@media (max-width:480px){.shell{padding-left:16px;padding-right:16px}.board{--tile-height:53px;--tile-gap:5px}:is(.board:has(.count-8),.board:has(.count-10)){--tile-height:46px;--tile-gap:4px}.board:has(.count-10) .tile{border-radius:6px;font-size:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.score-celebration::backdrop{animation:none!important}.celebration-background>div{will-change:auto}.confetti{display:none}}.site-policies{z-index:1;flex-wrap:wrap;justify-content:center;gap:4px 20px;padding:20px 24px 28px;font:14px/1.8 system-ui,sans-serif;display:flex;position:relative}.site-policies a{color:var(--green);padding:8px 0}
