/* Gamificação: presença semanal (lista de chamada) e adesivos da contracapa. */
.metas{display:inline-flex;gap:4px;vertical-align:middle}
.meta{width:34px;height:34px;border:2px solid transparent;border-radius:52% 46% 55% 44%/48% 55% 45% 52%;background:none;font-family:var(--f-hand);font-size:24px;font-weight:700;color:var(--pencil);padding:0}
.meta.on{border-color:var(--pen-blue);color:var(--pen-blue)}
.weekwrap{position:relative}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:6px 0 10px}
.day{display:flex;flex-direction:column;align-items:center}
.day .dn{font-family:var(--f-hand);font-size:19px;color:var(--pencil);line-height:22px}
.day .bx{width:100%;height:44px;border:1.5px solid var(--pencil);border-radius:3px 5px 4px 3px;display:grid;place-items:center;font-family:var(--f-hand);font-size:34px;font-weight:700;color:var(--pen-blue);line-height:1}
.day.today .bx{border:2px solid var(--pen-blue);background:color-mix(in srgb,var(--marker) 45%,transparent)}
.day.future .bx{opacity:.35}
.week.mini{max-width:280px}.week.mini .bx{height:34px;font-size:28px}
.goldstar{position:absolute;right:-10px;top:-38px;width:70px;height:70px;transform:rotate(12deg);filter:drop-shadow(0 3px 3px rgba(0,0,0,.3));animation:stickIn .6s ease-out}
.goldstar svg{width:100%;height:100%}
.minist{color:#E0A21B;font-size:20px;letter-spacing:1px}
.sample{display:flex;flex-direction:column;gap:4px;margin:4px 0 10px}
.srow{display:grid;grid-template-columns:52px repeat(7,1fr) 28px;gap:4px;align-items:center}
.sbx{height:28px;border:1.2px solid var(--pencil);border-radius:2px;display:grid;place-items:center;font-family:var(--f-hand);font-size:22px;font-weight:700;color:var(--pen-blue);line-height:1}
.sst{font-size:22px;color:#E0A21B;text-align:center}
.stk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 6px;margin:12px 0}
.stk{background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.stk svg{width:78px;height:78px;max-width:100%;transform:rotate(var(--r,0deg));filter:drop-shadow(0 3px 3px rgba(0,0,0,.28))}
.stk.locked svg{filter:none;transform:none}
.stk .lb{font-family:var(--f-hand);font-size:18px;line-height:19px;text-align:center;font-weight:600}
.stk.locked .lb{color:var(--pencil);font-weight:400}
.stk.new svg{animation:stickIn .7s ease-out}
@keyframes stickIn{0%{transform:scale(1.6) rotate(-20deg);opacity:0}60%{transform:scale(.92) rotate(var(--r,0deg));opacity:1}100%{transform:scale(1) rotate(var(--r,0deg))}}

/* ---------- comemoração de figurinha nova ---------- */
.stk.awaiting svg{visibility:hidden}
.stk.stuck svg{animation:stickPress .5s ease-out}
@keyframes stickPress{0%{transform:scale(1.15) rotate(var(--r,0deg))}40%{transform:scale(.9) rotate(var(--r,0deg))}100%{transform:scale(1) rotate(var(--r,0deg))}}

.celebrate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:rgba(24,20,12,.62);animation:celFade .25s ease-out;cursor:pointer;padding:16px}
.celebrate.flying{background:transparent;transition:background .3s;pointer-events:none}
.celebrate.flying .cel-title,.celebrate.flying .cel-name,.celebrate.flying .cel-hint,.celebrate.flying .cel-rays,.celebrate.flying .confetti{opacity:0;transition:opacity .25s}
.cel-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.cel-stage{position:relative;width:240px;height:240px;display:grid;place-items:center;max-width:70vw;max-height:70vw}
.cel-rays{position:absolute;inset:-30px;border-radius:50%;background:repeating-conic-gradient(rgba(255,226,122,.55) 0 9deg,transparent 9deg 18deg);-webkit-mask:radial-gradient(circle,#000 25%,transparent 68%);mask:radial-gradient(circle,#000 25%,transparent 68%);animation:celSpin 9s linear infinite}
.cel-sticker{position:relative;width:170px;height:170px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.4));animation:celPop .6s cubic-bezier(.2,1.6,.4,1)}
.cel-sticker svg{width:100%;height:100%}
.cel-title{margin:8px 0 0;font-family:var(--f-hand);font-size:28px;line-height:30px;color:#FFFFFF}
.cel-name{margin:0;font-family:var(--f-hand);font-size:42px;line-height:44px;font-weight:700;color:#FFE27A;text-wrap:balance}
.cel-hint{margin:6px 0 0;font-size:14px;color:rgba(255,255,255,.75)}
.confetti{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;animation:celFall linear forwards}
@keyframes celFade{from{opacity:0}to{opacity:1}}
@keyframes celSpin{to{transform:rotate(360deg)}}
@keyframes celPop{0%{transform:scale(.2) rotate(-25deg);opacity:0}100%{transform:scale(1) rotate(0)}}
@keyframes celFall{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(var(--drift),110vh) rotate(var(--rot))}}

.cel-panel{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) rotate(-1deg);z-index:51;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--postit);padding:14px 18px 10px;box-shadow:0 10px 16px -8px rgba(0,0,0,.5);max-width:calc(100vw - 32px)}
.cel-panel .linkbtn{font-size:19px;color:#3B362D}
@media (prefers-reduced-motion:reduce){.cel-rays,.cel-sticker,.confetti{animation:none}}

/* adesivos especiais do Reforço */
.stk.holo:not(.locked) svg{animation:holo 6s linear infinite}
@keyframes holo{to{filter:hue-rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.stk.holo:not(.locked) svg{animation:none}}
