:root{--yolk:#FFC93C;--coral:#FF6B6B;--ink:#3b2418;--cream:#FFF6E6;}
body{margin:0;font-family:'Fredoka',sans-serif;color:var(--ink);min-height:100vh;
background:radial-gradient(circle at 20% 10%,#fff3d1 0,transparent 40%),radial-gradient(circle at 85% 30%,#ffd6c4 0,transparent 45%),linear-gradient(160deg,#FFF6E6,#FFE1CC);}
.mono{font-family:'DM Mono',monospace}
.egg{width:200px;height:260px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
background:radial-gradient(circle at 35% 30%,#fff 0,#fff8ea 30%,#f6dfbf 100%);
box-shadow:inset -14px -18px 30px rgba(180,120,70,.25),0 25px 40px -15px rgba(120,60,20,.35);position:relative;transform-origin:50% 90%;transition:background .6s}
.egg.warm{background:radial-gradient(circle at 35% 30%,#fff 0,#ffe08a 35%,#ff9f6b 100%)}
@keyframes wob{0%,100%{transform:rotate(calc(var(--w)*-1deg))}50%{transform:rotate(calc(var(--w)*1deg))}}
.egg{animation:wob var(--sp,2.4s) ease-in-out infinite}
@keyframes pop{0%{transform:scale(.3) translateY(60px);opacity:0}70%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}
.pop{animation:pop .7s cubic-bezier(.3,1.6,.5,1) both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.rise{animation:rise .6s both}
.crack{position:absolute;inset:0;pointer-events:none}
.chip{border:2px solid var(--ink);border-radius:999px;padding:4px 12px;font-weight:500;transition:.15s}
.chip.on{background:var(--ink);color:var(--yolk)}
.btn{border:3px solid var(--ink);border-radius:20px;font-weight:700;box-shadow:4px 4px 0 var(--ink);transition:.1s}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.card{background:#fffdf8;border:3px solid var(--ink);border-radius:28px;box-shadow:6px 6px 0 var(--ink)}
@media(max-width:640px){.egg{width:150px;height:195px}}