*,:before,:after{box-sizing:border-box}html,body{background:#a8d093;height:100%;margin:0;padding:0;font-family:Fredoka,sans-serif}button{font:inherit}button:focus-visible,canvas:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #fff}.game-root{min-height:100vh;position:relative}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}canvas{aspect-ratio:1;background:#aad750;border:30px solid #4f7e33;border-radius:20px;max-width:88vw;max-height:72vh;display:block;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}canvas.is-hidden{display:none}@media (width<=669px){canvas{border-width:18px;top:38%}}#controls{z-index:2;gap:10px;display:flex;position:absolute;top:10px;right:10px}#controls button{color:#436b2d;cursor:pointer;background:#ffffff59;border:0;border-radius:8px;min-width:44px;min-height:44px;font-size:24px}#controls button:disabled{cursor:not-allowed;opacity:.45}#touch-controls{z-index:2;flex-direction:column;align-items:center;gap:6px;display:none;position:fixed;bottom:78px;left:50%;transform:translate(-50%)}#touch-controls button{cursor:pointer;background:#4f7e33;border:0;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;padding:10px;display:flex}#touch-controls button:disabled{cursor:not-allowed;opacity:.45}#touch-controls button svg{color:#fff;width:24px;height:24px;display:block}#touch-controls div{gap:6px;display:flex}@media (width<=669px){#touch-controls{display:flex}}#overlay{z-index:4;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}#overlay.visible{display:flex}#overlay .modal{color:#4f4f4f;text-align:center;background:#fff;border-radius:10px;width:min(100%,420px);max-width:420px;max-height:min(90vh,620px);padding:20px;font-family:Fredoka,sans-serif;overflow:auto}#overlay h1{margin:0 0 10px;font-weight:700}#overlay p{margin:.75rem 0}#overlay .choices{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:10px;display:flex}#overlay .fruit-choice{background-color:#0000;background-image:url(/assets/fruit_types-wNOjp5Xi.png);background-repeat:no-repeat;background-size:calc(1932px * 35px / 138px) 35px;cursor:pointer;border:2px solid #0000;width:35px;height:35px;padding:0;display:inline-block}#overlay .fruit-choice[data-index="0"]{background-position:0 0}#overlay .fruit-choice[data-index="1"]{background-position:-35px 0}#overlay .fruit-choice[data-index="2"]{background-position:-70px 0}#overlay .fruit-choice[data-index="3"]{background-position:-105px 0}#overlay .fruit-choice[data-index="4"]{background-position:-140px 0}#overlay .fruit-choice[data-index="5"]{background-position:-175px 0}#overlay .fruit-choice[data-index="6"]{background-position:-210px 0}#overlay .fruit-choice[data-index="7"]{background-position:-245px 0}#overlay .fruit-choice[data-index="8"]{background-position:-280px 0}#overlay .fruit-choice[data-index="9"]{background-position:-315px 0}#overlay .fruit-choice[data-index="10"]{background-position:-350px 0}#overlay .fruit-choice[data-index="11"]{background-position:-385px 0}#overlay .fruit-choice[data-index="12"]{background-position:-420px 0}#overlay .fruit-choice[data-index="13"]{background-position:-455px 0}#overlay .color-choice{cursor:pointer;border:2px solid #ccc;border-radius:6px;width:28px;height:28px;padding:0;display:inline-block}#overlay .color-choice--blue{background:#4f76f9}#overlay .color-choice--cyan{background:#1bd9e6}#overlay .color-choice--green{background:#3cc746}#overlay .color-choice--purple{background:#b84df2}#overlay .color-choice--white{background:#f6f6f6}#overlay .color-choice--yellow{background:#ecd718}#overlay .fruit-choice.selected,#overlay .color-choice.selected{border-color:#4f7e33;box-shadow:0 0 5px #4f7e33}#overlay #start-btn{color:#fff;cursor:pointer;background:#3cc746;border:0;border-radius:6px;margin-top:.75rem;padding:10px 20px;font-size:18px}.footer{color:#436b2d;text-align:center;z-index:100;width:100%;font-size:.9rem;position:fixed;bottom:10px}.footer a{color:#436b2d;text-decoration:none}.footer a:hover{text-decoration:underline}
