#crack-game,#crack-game *{box-sizing:border-box}#crack-game{min-height:100%;color:inherit;background:0 0;flex-direction:column;align-items:center;font-family:inherit;display:flex}#crack-game main{text-align:left;flex-direction:column;align-items:flex-start;width:100%;max-width:640px;padding:56px 24px 40px;display:flex}#crack-game h1{margin-bottom:14px;font-family:inherit;font-size:clamp(28px,5vw,38px);font-weight:600;line-height:1.15}#crack-game .sub{opacity:.75;max-width:420px;margin-bottom:40px;font-size:15px;line-height:1.6}#crack-game .coconut-wrap,#crack-game .pct,#crack-game .reveal{align-self:center}#crack-game .coconut-wrap{width:240px;height:240px;box-shadow:none;cursor:pointer;background:0 0;border:0;outline:none;margin-bottom:24px;position:relative;overflow:visible}#crack-game .progress-ring{z-index:0;pointer-events:none;box-shadow:none;border:none;outline:none;position:absolute;inset:0;transform:rotate(-90deg)}#crack-game .progress-ring circle{fill:none;stroke-linecap:round;stroke-width:10px}#crack-game .ring-bg{stroke:#e4d8be}#crack-game .ring-fg{stroke:#2f6e5c;transition:stroke-dashoffset 80ms linear}#crack-game .coconut-btn{z-index:1;--tw-ring-shadow:0 0 #0000;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;--shake-x:5px;--shake-rot:2deg;--shake-duration:.42s;background:radial-gradient(circle at 40% 30%,#fffcf4 0%,#f3ebd8 100%);border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset:28px;overflow:visible;box-shadow:0 10px 28px #3b2a1e24}#crack-game .coconut-btn.shake{animation:cartoonShake var(--shake-duration,.42s) cubic-bezier(.36, .07, .19, .97)}#crack-game .coconut-btn.hit .coconut-art{animation:.22s cubic-bezier(.34,1.65,.64,1) cartoonBonk}#crack-game .coconut-btn:disabled{cursor:default}#crack-game .coconut-btn:disabled .coconut-stage[data-stage="5"].active{animation:2.6s ease-in-out infinite victoryWiggle}#crack-game .coconut-wrap.stage-up{animation:.62s cubic-bezier(.34,1.75,.64,1) stagePop}#crack-game .coconut-wrap[data-tension="3"] .coconut-stage.active .coco-body,#crack-game .coconut-wrap[data-tension="4"] .coconut-stage.active .coco-body{animation:.32s ease-in-out infinite crackStress,2.2s ease-in-out infinite idleBounce}#crack-game .coconut-wrap[data-tension="4"] .coconut-stage.active .coco-body{animation-duration:.22s,2.2s}#crack-game .impact-ring{opacity:0;pointer-events:none;border:3px solid #e8b23d;border-radius:50%;position:absolute;inset:0;transform:scale(.7)}#crack-game .impact-ring.pop{animation:.28s ease-out forwards comicRing}#crack-game .impact-ring.milestone-pop{border-color:#2f6e5c;animation:.68s cubic-bezier(.22,1,.36,1) forwards milestoneRing}#crack-game .coconut-art{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:22px;overflow:visible}#crack-game .coconut-art.whack .coconut-stage.active .coco-body{animation:.22s cubic-bezier(.34,1.6,.64,1) bodyBonk}#crack-game .coconut-art.whack .coconut-stage.active .coco-face{animation:.22s faceSquish}#crack-game .coconut-art.rattle .coconut-stage.active .coco-photo{animation:coconutRattle var(--shake-duration,.42s) cubic-bezier(.36, .07, .19, .97)}#crack-game .crack-overlay{pointer-events:none;opacity:0;z-index:2;width:auto;height:auto;transition:opacity .35s;position:absolute;inset:8%}#crack-game .crack-stroke{fill:none;stroke:#2a1810;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48px;opacity:.85}#crack-game .coconut-wrap[data-tension="2"] .crack-overlay{opacity:.35}#crack-game .coconut-wrap[data-tension="2"] .crack-stroke.crack-a{stroke-dashoffset:28px}#crack-game .coconut-wrap[data-tension="3"] .crack-overlay{opacity:.55}#crack-game .coconut-wrap[data-tension="3"] .crack-stroke{animation:.55s forwards crackZap}#crack-game .coconut-wrap[data-tension="4"] .crack-overlay{opacity:.72}#crack-game .coconut-wrap[data-tension="4"] .crack-stroke{stroke-dashoffset:0}#crack-game .coconut-wrap[data-tension="5"] .crack-overlay{opacity:0}#crack-game .coconut-stage{opacity:0;transform-origin:50%;pointer-events:none;justify-content:center;align-items:center;transition:opacity .22s,transform .42s cubic-bezier(.34,1.55,.64,1);display:flex;position:absolute;inset:0;transform:scale(.82)rotate(-6deg)}#crack-game .coconut-stage.active{opacity:1;transform:scale(1)rotate(0)}#crack-game .coco-photo{object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:118px;height:auto;max-height:118px;display:block}#crack-game .coconut-stage[data-stage="3"] .coco-photo,#crack-game .coconut-stage[data-stage="4"] .coco-photo{max-width:112px;max-height:112px}#crack-game .coconut-stage[data-stage="5"] .coco-photo{max-width:122px;max-height:100px}#crack-game .coco-face,#crack-game .star-burst{pointer-events:none;position:absolute;inset:0}#crack-game .star-burst svg{width:100%;height:100%}#crack-game .coconut-stage.active .coco-body{transform-origin:50%;animation:2.2s ease-in-out infinite idleBounce}#crack-game .coconut-stage[data-stage="5"].active .coco-body{animation:none}#crack-game .coconut-stage.stage-enter .coco-body{animation:.62s cubic-bezier(.34,1.7,.64,1) stageBounceIn}#crack-game .coconut-stage[data-stage="5"].stage-enter .star-burst g{animation:.7s cubic-bezier(.34,1.5,.64,1) forwards starPop}#crack-game .coco-shell{fill:url(#shellGrad);stroke:#2a1810;stroke-width:3px}#crack-game .coco-outline{fill:none;stroke:#2a1810;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}#crack-game .coco-hair{fill:#7a5438;stroke:#2a1810;stroke-width:2.5px;stroke-linejoin:round}#crack-game .coco-leaf{fill:#6faf5c;stroke:#2a1810;stroke-width:2.5px;stroke-linejoin:round}#crack-game .coco-eye-white{fill:#fffdf7;stroke:#2a1810;stroke-width:2.5px}#crack-game .coco-pupil{fill:#2a1810}#crack-game .coco-blush{fill:#e8927c;opacity:.55}#crack-game .coco-mouth{fill:none;stroke:#2a1810;stroke-width:2.8px;stroke-linecap:round}#crack-game .cartoon-crack{fill:none;stroke:#2a1810;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}#crack-game .coco-sweat{fill:#7ec8e3;stroke:#2a1810;stroke-width:2px;animation:1.1s ease-in-out infinite sweatDrop}#crack-game .cartoon-drop{fill:#5bc4ea;stroke:#2a1810;stroke-width:2px;transform-box:fill-box;transform-origin:top;animation:.8s ease-in infinite cartoonDrip}#crack-game .cartoon-drop.d2{animation-delay:.25s}#crack-game .cartoon-drop.d3{animation-delay:.5s}#crack-game .cartoon-squirt{fill:#5bc4ea;stroke:#2a1810;stroke-width:2.5px;stroke-linejoin:round;animation:.9s ease-in-out infinite squirtPulse}#crack-game .cartoon-puddle{fill:#5bc4ea73;stroke:#2a1810;stroke-width:2px}#crack-game .coco-meat{fill:url(#meatGrad);stroke:#2a1810;stroke-width:3px;stroke-linejoin:round}#crack-game .coco-meat-inner{fill:#fff9ef}#crack-game .star-burst line{stroke:#e8b23d;stroke-width:3.5px;stroke-linecap:round}.chip,.comic-star,.comic-puff{pointer-events:none;z-index:6;position:fixed}.chip{background:#8b5e3c;border:2px solid #2a1810;border-radius:50% 50% 50% 0;width:8px;height:8px;animation:.6s ease-out forwards chipPop}.comic-star{color:#e8b23d;text-shadow:1px 1px #2a1810;font-size:18px;line-height:1;animation:.55s ease-out forwards starFly}.comic-puff{background:#fffdf7f2;border:2px solid #2a1810;border-radius:50%;width:22px;height:22px;animation:.45s ease-out forwards puffFade;transform:translate(-50%,-50%)}@keyframes cartoonBonk{0%{transform:scale(1)rotate(0)}20%{transform:scale(.86) rotate(var(--hit-rot,-4deg))}55%{transform:scale(1.08) rotate(calc(var(--hit-rot,-4deg) * -.3))}to{transform:scale(1)rotate(0)}}@keyframes cartoonShake{0%,to{transform:translate(0)rotate(0)}12%{transform:translate(calc(var(--shake-x) * -1), 2px) rotate(calc(var(--shake-rot) * -1))}24%{transform:translate(var(--shake-x), -2px) rotate(var(--shake-rot))}36%{transform:translate(calc(var(--shake-x) * -.75), 1px) rotate(calc(var(--shake-rot) * -.75))}48%{transform:translate(calc(var(--shake-x) * .75), -1px) rotate(calc(var(--shake-rot) * .75))}60%{transform:translate(calc(var(--shake-x) * -.5), 0) rotate(calc(var(--shake-rot) * -.5))}72%{transform:translate(calc(var(--shake-x) * .5), 0) rotate(calc(var(--shake-rot) * .5))}84%{transform:translate(calc(var(--shake-x) * -.25), 0) rotate(calc(var(--shake-rot) * -.25))}}@keyframes coconutRattle{0%,to{transform:scale(1)rotate(0)}20%{transform:scale(.96, 1.04) rotate(calc(var(--shake-rot) * -1.2))}45%{transform:scale(1.03, .97) rotate(var(--shake-rot))}70%{transform:scale(.98, 1.02) rotate(calc(var(--shake-rot) * -.6))}}@keyframes crackStress{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-1.8deg)scale(1.015)}75%{transform:rotate(1.8deg)scale(.985)}}@keyframes milestoneRing{0%{opacity:.85;border-width:5px;transform:scale(.55)}40%{opacity:.65;transform:scale(1.05)}to{opacity:0;border-width:1px;transform:scale(1.45)}}@keyframes stagePop{0%{transform:scale(1)}35%{transform:scale(1.1)rotate(2deg)}65%{transform:scale(.97)rotate(-1deg)}to{transform:scale(1)}}@keyframes comicRing{0%{opacity:.95;border-width:4px;transform:scale(.65)}to{opacity:0;border-width:1px;transform:scale(1.35)}}@keyframes bodyBonk{0%{transform:scale(1)}30%{transform:scale(1.08,.88)}60%{transform:scale(.94,1.06)}to{transform:scale(1)}}@keyframes faceSquish{0%,to{transform:scale(1)}40%{transform:scale(1.15,.75)}}@keyframes idleBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.02)}}@keyframes stageBounceIn{0%{transform:scale(.7)translateY(8px)}55%{transform:scale(1.12)translateY(-5px)}to{transform:scale(1)translateY(0)}}@keyframes crackZap{to{stroke-dashoffset:0}}@keyframes sweatDrop{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.7;transform:translateY(3px)}}@keyframes cartoonDrip{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(22px)scale(.7)}}@keyframes squirtPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes halfFlyLeft{0%{opacity:0;transform:translate(10px,-4px)rotate(8deg)scale(.8)}to{opacity:1;transform:translate(-8px,4px)rotate(-8deg)scale(1)}}@keyframes halfFlyRight{0%{opacity:0;transform:translate(-10px,-4px)rotate(-8deg)scale(.8)}to{opacity:1;transform:translate(8px,4px)rotate(8deg)scale(1)}}@keyframes starPop{0%{opacity:0;transform:scale(0)rotate(-30deg)}50%{opacity:1;transform:scale(1.3)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes victoryWiggle{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-2deg)scale(1.03)}75%{transform:rotate(2deg)scale(1.03)}}@keyframes chipPop{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) rotate(var(--spin)) scale(.3)}}@keyframes starFly{0%{opacity:1;transform:translate(0)scale(.4)rotate(0)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.1) rotate(var(--spin))}}@keyframes puffFade{0%{opacity:.9;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)}}#crack-game .pct{opacity:.5;margin-bottom:32px;font-family:ui-monospace,monospace;font-size:12px}#crack-game .email-gate{z-index:40;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}#crack-game .email-gate.show{display:flex}#crack-game .email-gate-backdrop{background:#2c231e73;position:absolute;inset:0}#crack-game .email-gate-panel{z-index:1;background:#eeebe4;border:1px solid #2c231e;flex-direction:column;gap:10px;width:100%;max-width:380px;padding:28px 24px 24px;display:flex;position:relative;box-shadow:0 18px 40px #2c231e38}#crack-game .email-gate-eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0;font-size:11px;font-weight:600}#crack-game .email-gate-panel h2{margin:0;font-size:22px;font-weight:600;line-height:1.25}#crack-game .email-gate-copy{opacity:.8;margin:0 0 6px;font-size:14px;line-height:1.55}#crack-game .email-gate-panel input{background:#fffdf7;border:1.5px solid #d9cbae;border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px}#crack-game .email-gate-panel input:focus{border-color:#2f6e5c}#crack-game .email-gate-panel button{color:#fffdf7;cursor:pointer;background:#2f6e5c;border:none;border-radius:10px;padding:13px 16px;font-family:inherit;font-size:14px;font-weight:600}#crack-game .email-gate-panel button:disabled{opacity:.5;cursor:default}#crack-game .email-gate-panel .fine{opacity:.55;font-size:11px}#crack-game .reveal{color:#fffdf7;opacity:0;background:#2f6e5c;border-radius:14px;max-width:360px;padding:18px 22px;font-size:14px;transition:opacity .4s,transform .4s;display:none;transform:translateY(8px)}#crack-game .reveal.show{opacity:1;display:block;transform:translateY(0)}#crack-game .reveal code{letter-spacing:.04em;color:#e8b23d;margin-top:8px;font-family:ui-monospace,monospace;font-size:18px;font-weight:700;display:block}#crack-game .error-msg{color:#b4432e;max-width:320px;font-size:13px;display:none}#crack-game .error-msg.show{display:block}.floater{color:#2f6e5c;pointer-events:none;z-index:5;text-shadow:1px 1px #fffdf7;font-family:inherit;font-size:15px;font-weight:700;animation:.75s ease-out forwards floatUp;position:fixed}@keyframes floatUp{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-60px)}}#crack-game .blurb{opacity:.7;text-align:left;max-width:460px;margin-top:20px;font-size:14px;line-height:1.7}#crack-game .blurb h2{opacity:1;margin-bottom:10px;font-family:inherit;font-size:18px;font-weight:600}#crack-game .dev-banner{z-index:10;color:#3b2a1e;letter-spacing:.04em;text-align:center;background:#e8b23d;padding:8px 16px;font-family:ui-monospace,monospace;font-size:11px;display:none;position:fixed;top:0;left:0;right:0}#crack-game.dev-mode .dev-banner{display:block}#crack-game.dev-mode main{padding-top:88px}@media (prefers-reduced-motion:reduce){#crack-game .coconut-btn.shake,#crack-game .coconut-wrap.stage-up,#crack-game .coconut-btn.hit .coconut-art,#crack-game .coconut-art.whack .coconut-stage.active .coco-body,#crack-game .coconut-art.whack .coconut-stage.active .coco-face,#crack-game .coconut-art.rattle .coconut-stage.active .coco-photo,#crack-game .impact-ring.pop,#crack-game .impact-ring.milestone-pop,#crack-game .coconut-wrap[data-tension="3"] .coconut-stage.active .coco-body,#crack-game .coconut-wrap[data-tension="4"] .coconut-stage.active .coco-body,#crack-game .coconut-stage.active .coco-body,#crack-game .coconut-stage[data-stage="5"].active,#crack-game .coconut-wrap[data-tension="3"] .crack-stroke,.chip,.comic-star,.comic-puff,.floater{animation:none!important}#crack-game .ring-fg{transition:none}#crack-game .coconut-stage{transition:opacity .15s}}
