/* Daily / Weekly Duplicate Challenges (chal.js) */
.chal-box { margin-top: 10px; display: grid; gap: 6px; }
.chal-title { margin: 0; font-size: .95rem; line-height: 1.25; }
.chal-title small { font-weight: 400; font-size: .72rem; }
.chal-row { display: grid; gap: 4px; padding: 8px 10px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
.chal-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.chal-h small { font-size: .72rem; }
.chal-h .chal-lb { margin-left: auto; font-size: .78rem; background: none; border: 0; color: #5AB4FF; cursor: pointer; padding: 4px 0; min-height: 32px; }
.chal-go { width: 100%; min-height: 40px; font-weight: 700; }
.chal-done { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; font-size: .9rem; }
.chal-wait { display: flex; align-items: center; gap: 8px; font-size: .9rem; }
.chal-inv { display: flex; gap: 6px; }
.chal-inv input { flex: 1; min-width: 0; min-height: 40px; }
.chal-invite { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 10px; border: 1px solid rgba(255,181,71,.5); font-size: .85rem; }
.chal-invite.out { border-color: rgba(255,255,255,.15); }
.chal-lbt td:last-child, .chal-lbt th:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.chal-sheet { max-width: 460px; max-height: min(86vh, 720px); overflow: auto; }
#chalOverlay { z-index: 30; }
