/* ApplyDIY checkin.css — T9 打卡按钮 + 打卡子页 */
/* 头部打卡按钮角标 */
.checkin-btn{position:relative}
.checkin-btn .ck-tip{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;font-size:.6rem;border-radius:999px;padding:1px 5px}
.checkin-btn:active{transform:scale(.94)}
.checkin-btn.pulse{animation:ckPulse 1.8s infinite}
@keyframes ckPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.35)}50%{box-shadow:0 0 0 8px rgba(37,99,235,0)}}

/* 统计卡 */
.ci-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin:var(--sp-4) 0}
.ci-stats article{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);text-align:center;box-shadow:var(--shadow-sm)}
.ci-stats span{display:block;color:var(--muted);font-size:.86rem}
.ci-stats b{display:block;font-size:2.4rem;margin:4px 0}
.ci-stats small{color:var(--muted)}
.ci-today.done{color:var(--good)}
.ci-today.todo{color:var(--warn)}

/* 打卡日历 */
.ci-cal{padding:var(--sp-6)}
.ci-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}
.ci-weekdays span{text-align:center;color:var(--muted);font-size:.82rem;font-weight:700}
.ci-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ci-cell{aspect-ratio:1/1;min-height:42px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--card)}
.ci-cell.muted{color:var(--muted);background:color-mix(in srgb,var(--bg) 70%,var(--card))}
.ci-cell.today{border-color:var(--brand);color:var(--brand)}
.ci-cell.checked{background:color-mix(in srgb,var(--good) 22%,transparent);border-color:var(--good);color:var(--good)}

/* 榜单 */
.ci-tabs{display:flex;gap:8px}
.ci-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.ci-leaderboard{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.ci-leaderboard li{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--card) 70%,var(--bg))}
.ci-rank{font-weight:900;font-size:1.1rem;text-align:center;color:var(--muted)}
.ci-rank.top1{color:#f59e0b}.ci-rank.top2{color:#9ca3af}.ci-rank.top3{color:#b45309}
.ci-user{font-weight:700;font-size:.9rem}
.ci-days{font-weight:800;color:var(--brand);white-space:nowrap}

@media(max-width:560px){.ci-stats{grid-template-columns:1fr}.ci-cell{min-height:38px}}
