:root{--sand:oklch(92% .05 85);--sand2:oklch(85% .07 75);--camel:oklch(70% .11 65);--shadow:oklch(78% .07 70);--ink:oklch(25% .04 50);--coral:oklch(68% .2 30)}
*{box-sizing:border-box;margin:0}
html,body{height:100%;background:var(--sand);color:var(--ink);font-family:"DM Sans",sans-serif;overflow:hidden}
#stage{position:relative;height:100dvh;touch-action:none;user-select:none;-webkit-user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4vh;padding:24px}
.dunes{position:absolute;inset:auto 0 0 0;width:100%;height:45%;fill:none;stroke:var(--sand2);stroke-width:3;z-index:0}
header{text-align:center;z-index:1;width:100%;max-width:900px}
h1{font-family:"Bowlby One",sans-serif;font-weight:400;font-size:clamp(2.4rem,9vw,5rem);line-height:.95;letter-spacing:-.01em}
h1 .w{display:inline-block}
.sub{margin-top:.6em;font-size:1.05rem;font-weight:600;max-width:none}
#count{color:var(--coral);font-family:"Bowlby One";font-weight:400}
#camelWrap{position:relative;width:min(92vw,620px);z-index:1}
#camel{width:100%;display:block;overflow:visible}
#skin{transform-origin:50% 90%}
#fleas{position:absolute;inset:0;pointer-events:none}
.flea{position:absolute;width:14px;height:10px;margin:-5px 0 0 -7px;background:var(--ink);border-radius:50% 50% 45% 45%}
.flea::before,.flea::after{content:"";position:absolute;top:7px;width:6px;height:2px;background:var(--ink);border-radius:2px}
.flea::before{left:-3px;transform:rotate(30deg)}.flea::after{right:-3px;transform:rotate(-30deg)}
.p{position:absolute;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--coral);pointer-events:none}
#done{position:absolute;bottom:10vh;z-index:2;text-align:center}
.big{font-family:"Bowlby One";font-size:2.2rem}
#again{margin-top:12px;font:600 1.1rem "DM Sans";background:var(--coral);color:var(--sand);border:3px solid var(--ink);border-radius:999px;padding:14px 40px;min-height:48px;box-shadow:0 5px 0 var(--ink);cursor:pointer}
#again:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
