:root{--bar:linear-gradient(90deg,#ff9f1c,#ff4d6d,#b388ff);--accent:#ff6fb5;--ink:#3a2a2a;--title:#ff4d6d}
body{background:#fff6e0;background-image:radial-gradient(circle at 10% 10%,#ffe0f0 0,transparent 40%),radial-gradient(circle at 90% 30%,#d9f6ff 0,transparent 40%),radial-gradient(circle at 40% 90%,#e3ffd9 0,transparent 45%);background-attachment:fixed}
.tile{min-height:190px}.tile-emoji{font-size:96px}.tile-title{font-size:18px;opacity:.9}
.icon-btn.home-btn{width:72px;height:64px;font-size:38px;background:#fff}
.g-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;padding:10px;flex:0 0 auto}
.v-modes .seg-btn{font-size:40px;min-width:90px;min-height:72px}
.g-fit{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px}
.g-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:10px;min-height:0}
.full-cv{position:absolute;inset:0;touch-action:none}
.bub-cv{background:linear-gradient(#a8e6ff,#e8f9ff)}
.star-meter{position:absolute;top:10px;left:0;right:0;text-align:center;font-size:30px;pointer-events:none}.star-meter .dim{opacity:.25}
.animal-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;padding:14px;align-content:start;touch-action:pan-y}
.animal{font-size:90px;background:#fff;border-radius:30px;aspect-ratio:1;box-shadow:0 6px 0 rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center}
.boing{animation:boing .6s}
@keyframes boing{30%{transform:scale(1.25) rotate(-8deg)}60%{transform:scale(.9) rotate(5deg)}}
.cs-opts{display:flex;gap:4vw;flex-wrap:wrap;justify-content:center}
.cs-opt{width:min(28vw,28vh,240px);height:min(28vw,28vh,240px);background:#fff;border-radius:36px;box-shadow:0 8px 0 rgba(0,0,0,.1);padding:14px}
.cs-opt.yes{animation:boing .6s;background:#fff8c4;outline:6px solid #ffd60a}
.shape-svg{width:100%;height:100%;filter:drop-shadow(0 4px 3px rgba(0,0,0,.15))}
.paint-cv{bottom:96px;height:auto}
.paint-bar{position:absolute;left:0;right:0;bottom:0;height:96px;display:flex;gap:8px;align-items:center;justify-content:center;background:#fff;padding:8px;overflow-x:auto;touch-action:pan-x}
.pdot{width:62px;height:62px;border-radius:50%;flex:0 0 auto;border:4px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25);font-size:28px}
.pdot.on{transform:scale(1.2);border-color:#333}.pdot.size{background:#eee;color:#333}.pdot.trash{background:#fff}
.v-grid{display:grid;gap:18px}
.vcard{width:var(--cs);height:var(--cs);perspective:700px;padding:0}
.mc-in{position:relative;display:block;width:100%;height:100%;transition:transform .45s;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}
.vcard.up .mc-in{transform:rotateY(180deg)}
.mc-front,.mc-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-size:calc(var(--cs)*.55);box-shadow:0 6px 0 rgba(0,0,0,.12)}
.mc-front{background:linear-gradient(135deg,#ffb703,#ff6fb5);font-size:calc(var(--cs)*.4)}
.mc-back{background:#fff;transform:rotateY(180deg)}
.vcard.done .mc-back{background:#e3ffd9;animation:boing .6s}
.nl-stage{flex:1;min-height:0;padding:10px;touch-action:pan-y}
.nl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
.nl-grid.nums{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.nl-tile{font-size:64px;font-weight:900;color:#fff;border-radius:26px;aspect-ratio:1;box-shadow:0 6px 0 rgba(0,0,0,.15);text-shadow:0 3px 0 rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;gap:4px}
.nl-tile small{font-size:36px;opacity:.85}
.nl-pop{position:absolute;inset:12% 12%;background:#fff;border-radius:40px;box-shadow:0 20px 60px rgba(0,0,0,.25);display:none;flex-direction:column;align-items:center;justify-content:center;z-index:5}
.nl-pop.show{display:flex;animation:pop-in .35s}
.pop-big{font-size:min(28vw,26vh);font-weight:900;color:var(--title);line-height:1}.pop-emo{font-size:min(20vw,18vh)}.pop-emo.dots{font-size:min(7vw,7vh);max-width:80%;text-align:center}
.count-box{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;min-height:60%;padding:20px}
.cnt{font-size:90px;width:130px;height:130px;border-radius:30px;background:#fff;box-shadow:0 6px 0 rgba(0,0,0,.1)}
.cnt.got{background:#fff3b0;animation:boing .5s;outline:5px solid #ffd60a}
.count-num{text-align:center;font-size:110px;font-weight:900;color:var(--title);min-height:120px}
.score-card{min-width:120px}.sc-icon{font-size:52px}.sc-num{font-size:52px}
@media (max-width:600px){.animal{font-size:64px}.animal-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.cnt{font-size:60px;width:96px;height:96px}}
@media (orientation:portrait) and (min-width:601px){.tiles{grid-template-columns:repeat(2,1fr)}.tile{min-height:250px}.tile-emoji{font-size:120px}}
