/* ============================================================
   STILL KICKING — MEMBER ACHIEVEMENTS
   ============================================================ */
.member-achievements{
  --achievement-navy:var(--sk-navy,#1e2a44);
  --achievement-ink-soft:var(--ink-soft,#59647a);
  --achievement-line:var(--line,#dcd4ca);
  margin-top:24px;
  min-width:0;
  color:var(--achievement-navy);
}
.achievement-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.achievement-heading h2{
  margin:3px 0 2px;
  font-family:var(--font-display,'Outfit',system-ui,sans-serif);
  font-size:clamp(25px,4vw,32px);
  line-height:1.08;
}
.achievement-heading p{
  max-width:590px;
  margin:0;
  color:var(--achievement-ink-soft);
  font-size:15px;
  line-height:1.45;
}
.achievement-count{
  display:grid;
  flex:0 0 auto;
  min-width:76px;
  min-height:72px;
  place-content:center;
  border:2px solid var(--achievement-navy);
  border-radius:24px 24px 18px 24px;
  background:var(--sk-yellow,#ffdb4d);
  box-shadow:4px 5px 0 var(--achievement-navy);
  font-family:var(--font-round,'Nunito',system-ui,sans-serif);
  font-size:27px;
  font-weight:1000;
  line-height:.9;
  text-align:center;
  transform:rotate(1.5deg);
}
.achievement-count small{
  display:block;
  margin-top:6px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.achievement-notice{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #c9b98c;
  border-radius:13px;
  background:#fff4c8;
  color:#5f4a0d;
  font-size:14px;
  line-height:1.4;
}
.achievement-inline-retry{
  flex:0 0 auto;
  min-width:44px;
  min-height:44px;
  margin:-7px -6px -7px auto;
  border:0;
  border-radius:10px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.achievement-empty,
.achievement-all-earned{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:12px;
  padding:14px 16px;
  border:2px dashed #70b89e;
  border-radius:17px;
  background:rgba(221,248,238,.72);
}
.achievement-empty strong,
.achievement-all-earned strong{
  display:block;
  font-family:var(--font-round,'Nunito',system-ui,sans-serif);
  font-size:16px;
  font-weight:900;
}
.achievement-empty p,
.achievement-all-earned p{
  margin:3px 0 0;
  color:var(--achievement-ink-soft);
  font-size:14px;
  line-height:1.42;
}
.achievement-empty-spark,
.achievement-all-earned>span{
  display:grid;
  flex:0 0 42px;
  width:42px;
  height:42px;
  place-items:center;
  border:2px solid var(--achievement-navy);
  border-radius:50%;
  background:var(--sk-yellow,#ffdb4d);
  font-size:23px;
}
.achievement-empty--plain{grid-column:1/-1;margin:0}
.achievement-next{
  position:relative;
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:17px;
  align-items:center;
  min-width:0;
  margin-bottom:14px;
  padding:18px 20px;
  overflow:hidden;
  border:2px solid var(--achievement-navy);
  border-radius:22px;
  background:linear-gradient(118deg,#fff 0 66%,var(--achievement-accent-soft,#ddf8ee) 66% 100%);
  box-shadow:5px 6px 0 rgba(30,42,68,.15);
}
.achievement-next::after{
  content:'';
  position:absolute;
  right:19px;
  top:17px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--achievement-accent,var(--sk-mint,#79e3b3));
  box-shadow:17px 10px 0 var(--sk-yellow,#ffdb4d),-5px 22px 0 var(--sk-coral,#ff8a7a);
}
.achievement-next-icon,
.achievement-icon,
.achievement-celebration-icon{
  display:grid;
  place-items:center;
  border:2px solid var(--achievement-navy);
  background:var(--achievement-accent-soft,#ddf8ee);
  color:var(--achievement-navy);
}
.achievement-next-icon{
  width:76px;
  height:76px;
  border-radius:23px 23px 18px 23px;
  box-shadow:3px 4px 0 var(--achievement-navy);
  transform:rotate(-2deg);
}
.achievement-next-icon svg{width:51px;height:51px}
.achievement-next-copy{min-width:0;padding-right:55px}
.achievement-next h3,
.achievement-card h3{
  margin:2px 0 3px;
  color:var(--achievement-navy);
  font-family:var(--font-display,'Outfit',system-ui,sans-serif);
  font-size:19px;
  font-weight:850;
  line-height:1.15;
}
.achievement-next p,
.achievement-card p{
  margin:0;
  color:var(--achievement-ink-soft);
  font-size:14px;
  line-height:1.4;
}
.achievement-state{
  color:#8b3460;
  font-family:var(--font-round,'Nunito',system-ui,sans-serif);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.achievement-progress-copy{
  margin-top:10px;
  color:var(--achievement-navy);
  font-family:var(--font-round,'Nunito',system-ui,sans-serif);
  font-size:13px;
  font-weight:900;
}
.achievement-progress{
  height:9px;
  margin-top:6px;
  overflow:hidden;
  border:1px solid var(--achievement-navy);
  border-radius:999px;
  background:#fff;
}
.achievement-progress span{
  display:block;
  width:var(--achievement-progress,0%);
  height:100%;
  border-radius:inherit;
  background:var(--achievement-accent,var(--sk-mint,#79e3b3));
  transition:width .4s cubic-bezier(.22,1,.36,1);
}
.achievement-progress--large{height:11px;max-width:440px}
.achievement-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  min-width:0;
}
.achievement-card{
  --achievement-accent:#79e3b3;
  --achievement-accent-soft:#ddf8ee;
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:13px;
  min-width:0;
  min-height:158px;
  padding:16px;
  overflow:hidden;
  border:2px solid var(--achievement-navy);
  border-radius:19px;
  background:#fff;
  box-shadow:3px 4px 0 rgba(30,42,68,.14);
}
.achievement-card.is-earned{
  background:linear-gradient(145deg,#fff 0 70%,var(--achievement-accent-soft) 70% 100%);
}
.achievement-card.is-earned::after{
  content:'✓';
  position:absolute;
  right:10px;
  top:9px;
  display:grid;
  width:25px;
  height:25px;
  place-items:center;
  border:2px solid var(--achievement-navy);
  border-radius:50%;
  background:var(--achievement-accent);
  font-family:var(--font-round,'Nunito',system-ui,sans-serif);
  font-size:14px;
  font-weight:1000;
}
.achievement-card.is-in-progress .achievement-icon{
  filter:saturate(.58);
  opacity:.82;
}
.achievement-icon{
  width:56px;
  height:56px;
  border-radius:17px;
}
.achievement-icon svg{width:39px;height:39px}
.achievement-card-copy{min-width:0;padding-right:4px}
.achievement-card.is-earned .achievement-card-copy{padding-right:20px}
.achievement-earned-date{
  display:inline-block;
  margin-top:11px;
  color:#365e51;
  font-family:var(--font-round,'Nunito',system-ui,sans-serif);
  font-size:13px;
  font-weight:900;
}
.achievement-next-icon svg,
.achievement-icon svg,
.achievement-celebration-icon svg{
  fill:none;
  stroke:currentColor;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.achievement-tone-mint{--achievement-accent:var(--sk-mint,#79e3b3);--achievement-accent-soft:#ddf8ee}
.achievement-tone-sky{--achievement-accent:var(--sk-sky,#8ed8ff);--achievement-accent-soft:#e3f6ff}
.achievement-tone-yellow{--achievement-accent:var(--sk-yellow,#ffdb4d);--achievement-accent-soft:#fff2ad}
.achievement-tone-lilac{--achievement-accent:var(--sk-lilac,#c7a8ff);--achievement-accent-soft:#eee5ff}
.achievement-tone-coral{--achievement-accent:var(--sk-coral,#ff8a7a);--achievement-accent-soft:#ffe3df}
.achievement-expand{
  display:none;
  width:100%;
  min-height:48px;
  margin-top:12px;
}
.achievement-loading,
.achievement-error{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:94px;
  padding:17px 18px;
  border:2px solid var(--achievement-line);
  border-radius:18px;
  background:#fff;
}
.achievement-loading{justify-content:center;color:var(--achievement-ink-soft);font-weight:800}
.achievement-error{display:grid;grid-template-columns:48px minmax(0,1fr) auto}
.achievement-error-icon{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:50%;
  background:#fff2ad;
  color:var(--achievement-navy);
  font-size:25px;
  font-weight:900;
}
.achievement-error strong{font-family:var(--font-round,'Nunito',system-ui,sans-serif);font-size:16px;font-weight:900}
.achievement-error p{margin:3px 0 0;color:var(--achievement-ink-soft);font-size:14px;line-height:1.4}
.achievement-error .btn{min-width:102px;min-height:44px}

/* Non-modal: it celebrates without interrupting the current movement. */
.member-achievement-celebration{
  --achievement-accent:var(--sk-mint,#79e3b3);
  --achievement-accent-soft:#ddf8ee;
  position:fixed;
  z-index:1400;
  right:max(18px,env(safe-area-inset-right));
  bottom:calc(92px + env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  width:min(560px,calc(100vw - 36px));
  min-width:0;
  padding:17px 18px;
  overflow:hidden;
  border:2px solid var(--achievement-navy,var(--sk-navy,#1e2a44));
  border-radius:22px;
  background:linear-gradient(118deg,#fff 0 70%,var(--achievement-accent-soft) 70% 100%);
  box-shadow:7px 9px 0 rgba(30,42,68,.25),0 18px 45px rgba(30,42,68,.2);
  color:var(--achievement-navy,var(--sk-navy,#1e2a44));
  opacity:0;
  transform:translateY(24px) scale(.97);
  transition:opacity .18s ease,transform .32s cubic-bezier(.2,1.4,.4,1);
}
.member-achievement-celebration.is-visible{opacity:1;transform:translateY(0) scale(1)}
.member-achievement-celebration.is-leaving{pointer-events:none;opacity:0;transform:translateY(10px) scale(.99)}
.achievement-celebration-icon{
  width:60px;
  height:60px;
  border-radius:19px;
  box-shadow:3px 4px 0 var(--achievement-navy,var(--sk-navy,#1e2a44));
}
.achievement-celebration-icon svg{width:43px;height:43px}
.achievement-celebration-copy{min-width:0}
.achievement-celebration-copy h2{
  margin:1px 0 2px;
  font-family:var(--font-display,'Outfit',system-ui,sans-serif);
  font-size:21px;
  line-height:1.1;
}
.achievement-celebration-copy p{margin:0;color:var(--ink-soft,#59647a);font-size:14px;line-height:1.35}
.achievement-celebration-action{min-width:118px;min-height:46px;white-space:nowrap}
.achievement-celebration-close{
  position:absolute;
  right:7px;
  top:5px;
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--achievement-navy,var(--sk-navy,#1e2a44));
  font:700 27px/1 system-ui,sans-serif;
  cursor:pointer;
}
.achievement-celebration-close:hover{background:rgba(255,255,255,.7)}
.achievement-confetti{
  position:absolute;
  z-index:-1;
  display:block;
  width:11px;
  height:11px;
  border:3px solid var(--achievement-accent);
  border-left:0;
  border-bottom:0;
  opacity:.8;
  animation:achievement-confetti-pop .7s .12s both;
}
.achievement-confetti-a{right:74px;top:18px;transform:rotate(24deg)}
.achievement-confetti-b{right:45px;bottom:15px;border-color:var(--sk-coral,#ff8a7a);transform:rotate(100deg);animation-delay:.2s}
.achievement-confetti-c{left:84px;top:8px;border-color:var(--sk-yellow,#ffdb4d);transform:rotate(160deg);animation-delay:.28s}
@keyframes achievement-confetti-pop{
  0%{opacity:0;scale:.2}
  65%{opacity:1;scale:1.25}
  100%{opacity:.8;scale:1}
}

body.bigtext .achievement-grid{grid-template-columns:1fr}
body.bigtext .achievement-heading p,
body.bigtext .achievement-next p,
body.bigtext .achievement-card p,
body.bigtext .achievement-progress-copy,
body.bigtext .achievement-earned-date,
body.bigtext .achievement-empty p,
body.bigtext .achievement-error p{font-size:16px}
body.bigtext .achievement-next h3,
body.bigtext .achievement-card h3{font-size:22px}
body.bigtext .achievement-card{min-height:174px}

@media(max-width:700px){
  .achievement-next{grid-template-columns:70px minmax(0,1fr);padding:16px}
  .achievement-next-icon{width:64px;height:64px;border-radius:19px}
  .achievement-next-icon svg{width:43px;height:43px}
  .achievement-next-copy{padding-right:24px}
  .member-achievement-celebration{
    grid-template-columns:54px minmax(0,1fr);
    bottom:calc(88px + env(safe-area-inset-bottom));
    padding:15px 16px;
  }
  .achievement-celebration-icon{width:52px;height:52px;border-radius:16px}
  .achievement-celebration-icon svg{width:37px;height:37px}
  .achievement-celebration-copy{padding-right:28px}
  .achievement-celebration-action{grid-column:1/-1;width:100%}
}
@media(max-width:560px){
  .achievement-heading{align-items:center}
  .achievement-heading p{font-size:14px}
  .achievement-count{min-width:66px;min-height:64px;border-radius:20px;font-size:24px}
  .achievement-next{grid-template-columns:1fr;gap:12px}
  .achievement-next-icon{width:58px;height:58px}
  .achievement-next-copy{padding-right:0}
  .achievement-next::after{right:16px;top:16px}
  .achievement-grid{grid-template-columns:1fr}
  .member-achievements:not(.is-expanded) .achievement-card--extra{display:none}
  .achievement-expand{display:flex;align-items:center;justify-content:center}
  .achievement-card{min-height:0}
  .achievement-error{grid-template-columns:44px minmax(0,1fr)}
  .achievement-error .btn{grid-column:1/-1;width:100%}
  .achievement-notice{align-items:flex-start;flex-wrap:wrap}
  .achievement-inline-retry{margin:-7px -6px -7px 0}
}
@media(max-width:360px){
  .achievement-heading{align-items:flex-start}
  .achievement-count{min-width:60px;min-height:60px}
  .achievement-card{grid-template-columns:50px minmax(0,1fr);padding:14px;gap:11px}
  .achievement-icon{width:48px;height:48px;border-radius:15px}
  .achievement-icon svg{width:34px;height:34px}
}
@media(prefers-reduced-motion:reduce){
  .achievement-progress span,
  .member-achievement-celebration,
  .achievement-confetti{
    animation:none!important;
    transition:none!important;
  }
  .member-achievement-celebration{transform:none!important}
  .achievement-confetti{display:none!important}
}
@media(forced-colors:active){
  .achievement-count,
  .achievement-next,
  .achievement-card,
  .achievement-icon,
  .achievement-next-icon,
  .achievement-progress,
  .member-achievement-celebration{
    border-color:CanvasText;
    box-shadow:none;
  }
  .achievement-progress span{background:Highlight}
}
