/* Desafios — interface inspirada nos princípios Apple: hierarquia silenciosa,
   superfícies úteis, controles previsíveis e toque confortável. */
.challenges-intro{max-width:720px;padding:4px 2px 20px;border:0}
.challenges-intro h2{max-width:18ch;margin:7px 0 9px;letter-spacing:-.045em;line-height:1.08}
.challenges-intro p{max-width:62ch;color:#56657a;font-size:14px;line-height:1.58}
.challenges-intro .eyebrow,.challenge-hero .eyebrow,.challenge-next .eyebrow,.retention-panel .eyebrow,.achievement-section .eyebrow,.challenge-rules .eyebrow{font-size:11px;letter-spacing:.1em}

.challenge-hero,.challenge-next,.retention-panel,.achievement-section,.challenge-rules,.challenge-goal-form,.return-mission{
  border:1px solid rgba(60,84,115,.14);
  border-radius:20px;
  box-shadow:0 1px 2px rgba(15,23,42,.03),0 10px 28px rgba(24,54,91,.045);
}
.challenge-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin:14px 0;
  padding:17px 20px;
  background:#f8fafc;
  box-shadow:none;
}
.challenge-hero h3{margin:4px 0 4px;font-size:18px;letter-spacing:-.025em}
.challenge-hero p,.challenge-next p{color:#52657e}
.challenge-hero p{margin:0;color:#64758a;font-size:12px}
.challenge-ranking-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:5px;padding:0;border:0;background:transparent;color:#0a67d4;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.challenge-ranking-link span{font-size:16px;line-height:1}
.challenge-ranking-link:focus-visible{border-radius:8px;outline:3px solid rgba(10,103,212,.18);outline-offset:2px}

.challenge-score{
  display:grid;
  justify-items:end;
  gap:2px;
  min-width:126px;
  padding:10px 12px;
  border:1px solid #c8ddf7;
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.challenge-score-kicker{color:#708098;font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.challenge-score strong{color:#0a67d4;font-size:25px;letter-spacing:-.055em;line-height:1}
.challenge-score strong small{font-size:11px;letter-spacing:0}.challenge-score-rank{color:#425b77;font-size:11px;font-weight:750}

.challenge-next{margin:0 0 14px;padding:21px 22px;border-color:#cbdff7;background:linear-gradient(145deg,#f6faff 0%,#fff 72%);box-shadow:0 7px 22px rgba(27,86,153,.08)}
.challenge-next-copy{min-width:0}
.challenge-next h3{margin:5px 0 6px;font-size:20px;letter-spacing:-.025em}
.challenge-next-actions{gap:9px;margin-top:15px}
.challenge-next-actions .btn,.challenge-goal-form .btn{min-height:44px;border-radius:12px;font-weight:700}
.challenge-next-actions .btn.blue,.challenge-goal-form .btn.blue{background:#0a67d4;box-shadow:0 4px 12px rgba(10,103,212,.19)}
.challenge-next-actions .btn.ghost{border-color:#d3dce8;background:#fff;color:#31567f}
.challenge-next-meta{display:inline-flex;align-items:center;min-height:44px;color:#64758a;font-size:11px;font-weight:650}
.challenge-next.is-empty>div{max-width:640px}.challenge-next.is-empty>.btn{min-height:48px;padding-inline:18px;white-space:nowrap}
.challenge-level{flex-basis:198px;padding:15px;border-color:#dce5f0;border-radius:15px;background:#f8fbff}
.challenge-level strong{font-size:21px;letter-spacing:-.03em}.challenge-level progress{height:7px}

.retention-panel{margin:14px 0;padding:19px 20px;background:#fbfcfe;box-shadow:none}
.retention-panel-head h3{font-size:19px;letter-spacing:-.02em}
.retention-horizon{padding:7px 10px;background:#edf5ff;color:#285b9b;font-weight:750}
.retention-progress{margin-top:16px;padding-top:14px;border-top-color:#e7edf5}
.retention-progress strong{font-size:23px;letter-spacing:-.04em}
.retention-progress progress,.challenge-card progress,.achievement-card progress,.challenge-level progress{appearance:none;border:0;overflow:hidden;border-radius:999px;background:#e8edf4}
.retention-progress progress::-webkit-progress-bar,.challenge-card progress::-webkit-progress-bar,.achievement-card progress::-webkit-progress-bar,.challenge-level progress::-webkit-progress-bar{background:#e8edf4;border-radius:999px}
.retention-progress progress::-webkit-progress-value,.challenge-card progress::-webkit-progress-value,.achievement-card progress::-webkit-progress-value,.challenge-level progress::-webkit-progress-value{background:#0a67d4;border-radius:999px}
.retention-progress progress::-moz-progress-bar,.challenge-card progress::-moz-progress-bar,.achievement-card progress::-moz-progress-bar,.challenge-level progress::-moz-progress-bar{background:#0a67d4;border-radius:999px}
.monthly-progress{gap:8px;margin-top:16px}
.monthly-progress>div{min-height:68px;padding:11px 12px;border-color:#e4ebf3;border-radius:13px;background:#f7f9fc}
.monthly-progress strong{font-size:17px;letter-spacing:-.025em}

.challenge-grid{gap:12px}
.challenge-card{min-height:154px;padding:17px;border-color:#e0e6ed;border-radius:17px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.025);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.challenge-card:hover{transform:translateY(-1px);border-color:#bed0e4;box-shadow:0 7px 20px rgba(32,59,92,.08)}
.challenge-card.is-complete{border-color:#bde4ce;background:#f5fbf7}.challenge-card.is-complete progress::-webkit-progress-value{background:#168257}.challenge-card.is-complete progress::-moz-progress-bar{background:#168257}
.challenge-card-head{grid-template-columns:36px minmax(0,1fr) auto;gap:11px}.challenge-icon{width:34px;height:34px;border-radius:11px}
.challenge-card h3{font-size:14px;letter-spacing:-.01em}.challenge-card p{font-size:11px;line-height:1.42}.challenge-card-head>strong{font-size:14px;font-variant-numeric:tabular-nums}
.challenge-card progress{height:7px;margin:16px 0 9px}.challenge-card-foot{align-items:center;gap:7px;font-size:11px}.challenge-card-foot span:first-child{font-weight:750}.challenge-status{margin-left:auto;font-size:10px;font-weight:750;letter-spacing:.01em}

.achievement-section{margin:14px 0;padding:20px 22px;background:#fff;box-shadow:none}.achievement-head h3{font-size:19px;letter-spacing:-.02em}.achievement-head>span{padding:5px 8px;border-radius:999px;background:#f1f4f8;color:#647388;font-weight:700}
.achievement-note{max-width:72ch;margin:8px 0 15px;font-size:11px;line-height:1.5}.achievement-grid{gap:10px}.achievement-card{min-height:86px;padding:12px;border-color:#e3e8ef;border-radius:14px;background:#fbfcfe}.achievement-card:hover{border-color:#cbd9e8;background:#fff}.achievement-icon{width:32px;height:32px;border-radius:10px}.achievement-card strong{font-size:12px;letter-spacing:-.01em}.achievement-card p{line-height:1.38}.achievement-card progress{height:5px}

.challenge-rules{grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);gap:22px;margin:14px 0;padding:20px 22px;background:#f7f8fa;box-shadow:none}.challenge-rules h3{font-size:19px;letter-spacing:-.02em}.challenge-rules ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-size:11px;line-height:1.45}.challenge-rules li{padding-left:13px}.challenge-rules li::before{color:#0a67d4}

.challenge-goal-form{gap:12px;margin-top:14px;padding:17px 18px;background:#fff}.challenge-goal-form label{font-size:13px;letter-spacing:-.01em}.challenge-goal-form input{min-height:44px;border-color:#ccd6e2;border-radius:12px;background:#fbfcfe}
.challenge-goal-form input:focus-visible,.challenge-next:focus-within,.challenge-card:focus-within{border-color:#81afea;outline:3px solid rgba(10,103,212,.14);outline-offset:1px}

@media(hover:hover){.challenge-next-actions .btn:hover,.challenge-goal-form .btn:hover{transform:translateY(-1px)}}
@media(max-width:850px){.challenge-rules{grid-template-columns:1fr}.challenge-rules ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.challenge-hero,.challenge-next,.retention-panel,.achievement-section,.challenge-rules,.challenge-goal-form,.return-mission{border-radius:17px}.challenge-hero{padding:18px 16px}.challenge-next,.retention-panel,.achievement-section,.challenge-rules{padding:18px 16px}.challenge-level{width:100%;flex-basis:auto}.challenge-rules ul{grid-template-columns:1fr}}
@media(max-width:560px){.challenges-intro{padding:2px 0 18px}.challenges-intro h2{font-size:28px}.challenges-intro p{font-size:13px}.challenges-intro .eyebrow,.challenge-hero .eyebrow,.challenge-next .eyebrow,.retention-panel .eyebrow,.achievement-section .eyebrow,.challenge-rules .eyebrow{font-size:11px}.challenge-hero{grid-template-columns:1fr;align-items:stretch;gap:10px;margin:12px 0;padding:16px}.challenge-hero h3{font-size:18px}.challenge-score{justify-items:start;grid-template-columns:auto auto 1fr;align-items:baseline;gap:6px;width:max-content;min-width:0;padding:8px 10px}.challenge-score-kicker{grid-column:1/-1}.challenge-score strong{font-size:22px}.challenge-score-rank{font-size:11px}.challenge-next{align-items:flex-start;gap:15px}.challenge-next h3{font-size:18px}.challenge-next-actions{display:grid;grid-template-columns:1fr;width:100%}.challenge-next-actions .btn{width:100%}.challenge-next-meta{min-height:0}.challenge-next.is-empty>.btn{width:100%}.retention-panel-head{gap:9px}.retention-panel-head h3,.achievement-head h3,.challenge-rules h3{font-size:17px}.monthly-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.monthly-progress>div{min-height:62px;padding:10px}.challenge-grid{gap:9px}.challenge-card{min-height:0;padding:15px;border-radius:15px}.challenge-card-foot{flex-wrap:wrap;row-gap:4px}.challenge-status{margin-left:0;width:100%}.achievement-section{padding:17px 16px}.achievement-head{align-items:flex-start;flex-direction:column;gap:7px}.achievement-grid{grid-template-columns:1fr}.achievement-card{min-height:80px}.challenge-rules{margin-top:12px}.challenge-goal-form{grid-template-columns:1fr;padding:15px}}
@media(prefers-reduced-motion:reduce){.challenge-card,.challenge-next-actions .btn,.challenge-goal-form .btn{transition:none!important}.challenge-card:hover,.challenge-next-actions .btn:hover,.challenge-goal-form .btn:hover{transform:none}}

/* First session: one decisive action, then reveal the complete challenge system. */
.challenge-onboarding .challenge-hero,
.challenge-onboarding .retention-panel,
.challenge-onboarding .challenge-grid,
.challenge-onboarding .achievement-section,
.challenge-onboarding .challenge-rules,
.challenge-onboarding .challenge-goal-form{display:none}
.challenge-onboarding .challenges-intro{padding-bottom:14px}
.challenge-onboarding .challenges-intro h2{max-width:24ch}
.challenge-first-reward{display:grid;gap:2px;margin-top:12px;padding:10px 12px;border:1px solid #cbe0fa;border-radius:12px;background:linear-gradient(130deg,#edf6ff,#fff)}
.challenge-first-reward b{color:#2464ae;font-size:9px;letter-spacing:.1em}
.challenge-first-reward strong{color:#123e85;font-size:13px}
.challenge-first-reward small{color:#5a6f8c;font-size:11px;line-height:1.4}
@media(max-width:560px){.challenge-first-reward{margin-top:10px;padding:10px}.challenge-first-reward strong{font-size:12px}}
