/* ACHIEVEMENTS-30-001 / P0: shared medallion and two existing scene adapters. */
.achievement-medal{
  --ach-light:#fff0c1;--ach-mid:#bb8350;--ach-dark:#5c3429;
  position:relative;display:block;flex:none;width:60px;height:60px;isolation:isolate;
  transform-origin:50% 53%;contain:layout;
}
.achievement-medal--silver{--ach-light:#f9fcff;--ach-mid:#b4c6d6;--ach-dark:#596775}
.achievement-medal--gold,.achievement-medal--batch{--ach-light:#fff6c6;--ach-mid:#e9b94f;--ach-dark:#855228}
.achievement-medal--platinum{--ach-light:#f7f7ff;--ach-mid:#c5d1f6;--ach-dark:#666899}
.achievement-medal--legendary{--ach-light:#fff0ca;--ach-mid:#ed9bd4;--ach-dark:#8b4a83}
.achievement-medal--secret{--ach-light:#defdff;--ach-mid:#76cfcd;--ach-dark:#326d85}
.achievement-medal__svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 3px rgba(0,0,0,.23))}
.achievement-medal__rays{fill:var(--ach-dark);stroke:var(--ach-mid);stroke-width:1.5}
.achievement-medal__rim{fill:var(--ach-light);stroke:var(--ach-dark);stroke-width:2.3}
.achievement-medal__face{fill:var(--ach-mid);stroke:var(--ach-dark);stroke-width:1.7}
.achievement-medal__engraving{fill:none;stroke:var(--ach-light);stroke-width:1.5;stroke-linecap:round;opacity:.78}
.achievement-medal__glyph{font:900 27px/1 system-ui,sans-serif;fill:var(--ach-dark);stroke:var(--ach-light);stroke-width:.25;paint-order:stroke fill;letter-spacing:-1.5px}
.achievement-medal--platinum .achievement-medal__glyph{font-size:24px}
.achievement-medal--legendary .achievement-medal__rays{stroke-width:3}
.achievement-medal--secret .achievement-medal__glyph{font-size:34px}
.achievement-medal__specular{
  position:absolute;inset:9px;border-radius:50%;pointer-events:none;opacity:0;
  background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.67) 49%,transparent 65%);
  transform:translateX(-85%) rotate(-16deg);clip-path:circle(48% at 50% 50%);
}
.achievement-medal__sample{
  position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);
  display:block;padding:2px 4px;border:1px solid rgba(255,255,255,.23);border-radius:3px;
  background:#211c29;color:#fff;font:900 6px/1.1 system-ui;letter-spacing:.14em;
}
.achievement-medal--batch::after{content:'';position:absolute;z-index:-1;inset:6px -4px 1px 9px;border:2px solid var(--ach-light);border-radius:50%;opacity:.4}
@keyframes achMedalSeat{
  0%{opacity:0;transform:translateY(5px) scale(.88) rotate(-4deg)}
  26%{opacity:1;transform:translateY(0) scale(.96) rotate(0deg)}
  60%{transform:scale(1.05)}
  78%{transform:scale(.99)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes achMedalShine{0%,27%{opacity:0;transform:translateX(-85%) rotate(-16deg)}41%{opacity:.58}58%,100%{opacity:0;transform:translateX(85%) rotate(-16deg)}}
@keyframes achSecretReveal{0%,22%{opacity:.3}48%{opacity:1}100%{opacity:1}}
#hud[data-announcement-kind="achievement"] .hud__announcement{
  display:grid;grid-template-columns:minmax(0,1fr) 72px;grid-template-rows:minmax(0,1fr);
  align-items:center;justify-content:stretch;column-gap:8px;
  padding:8px 12px;text-align:left;overflow:hidden;inset:0;
}
#hud[data-announcement-kind="achievement"] .hud__announcement-copy{
  display:grid;grid-column:1;grid-row:1;justify-items:start;align-content:center;
  min-width:0;width:100%;max-width:none;gap:3px;text-align:left;line-height:1.09;
}
#hud[data-announcement-kind="achievement"] .hud__announcement-copy .hud__announcement-kicker{
  display:block!important;font:900 7.5px/1.2 system-ui;letter-spacing:.09em;color:rgba(255,255,255,.7);
  text-wrap:balance;white-space:normal;
}
#hud[data-announcement-kind="achievement"] .hud__announcement-copy strong{
  color:#fff5dd;font-size:clamp(11px,3.3vw,14px);line-height:1.12;letter-spacing:.015em;
  overflow:visible;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;
}
#hud[data-announcement-kind="achievement"] .hud__announcement-copy small{
  color:#d9caa7;font-size:clamp(8px,2.2vw,10px);letter-spacing:.045em;white-space:normal;
}
#hud .achievement-hud-medal[hidden]{display:none!important}
#hud .achievement-hud-medal{
  display:flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;
  flex:none;width:72px;height:62px;
}
#hud .achievement-hud-medal .achievement-medal{width:54px;height:54px}
#hud .achievement-hud-open{display:none}
#hud[data-announcement-kind="achievement"].hud--announcement-visible .achievement-hud-open{
  display:block;position:absolute;inset:0;z-index:5;width:100%;height:100%;
  appearance:none;border:0;padding:0;background:transparent;cursor:pointer;touch-action:manipulation;
}
#hud .achievement-hud-open:focus-visible{outline:2px solid #ffe3a9;outline-offset:-5px;border-radius:14px}
#hud[data-announcement-kind="achievement"].hud--announcement-visible .achievement-medal,
#achievementHubSlot.is-revealed .achievement-medal{animation:achMedalSeat 1.15s cubic-bezier(.22,.74,.3,1) both}
#hud[data-announcement-kind="achievement"].hud--announcement-visible .achievement-medal__specular,
#achievementHubSlot.is-revealed .achievement-medal__specular{animation:achMedalShine 1.15s ease-out both}
#hud[data-announcement-kind="achievement"] .achievement-medal--secret .achievement-medal__glyph,
#achievementHubSlot .achievement-medal--secret .achievement-medal__glyph{animation:achSecretReveal 1.15s ease both}
#achievementHubSlot[hidden]{display:none!important}
#achievementHubSlot{
  flex:none;display:block;box-sizing:border-box;min-height:0;height:0;
  overflow:hidden;margin:0;padding:0;border:0;
  transition:height .34s cubic-bezier(.22,.78,.22,1),margin .34s;
  pointer-events:none;
}
#achievementHubSlot.is-revealed{height:72px;margin:1px 0 7px;pointer-events:auto}
#achievementHubSlot.is-leaving{height:0;margin:0}
#achievementHubSlot .achievement-ribbon{
  display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:8px;
  width:100%;min-height:68px;max-height:70px;padding:6px 10px;
  border:1px solid rgba(235,192,114,.35);border-radius:13px;
  background:linear-gradient(108deg,rgba(30,29,39,.98),rgba(14,22,31,.97));
  box-shadow:inset 0 1px rgba(255,255,255,.08);box-sizing:border-box;
  appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;
}
#achievementHubSlot .achievement-ribbon:focus-visible{outline:2px solid #ffe3a9;outline-offset:2px}
#achievementHubSlot .achievement-ribbon > .achievement-medal{justify-self:center;width:52px;height:52px}
.achievement-ribbon__copy{display:grid;align-content:center;gap:3px;min-width:0}
.achievement-ribbon__kicker{
  color:#d8c29b;font:900 7px/1.2 system-ui;letter-spacing:.09em;
}
.achievement-ribbon__copy strong{
  color:#fff9ec;font:900 12px/1.15 system-ui;letter-spacing:.015em;
  overflow-wrap:anywhere;
}
.achievement-ribbon__copy small{
  color:rgba(255,255,255,.63);font:850 8px/1.1 system-ui;letter-spacing:.07em;
}
@media(max-width:359px){
  #hud[data-announcement-kind="achievement"] .hud__announcement{grid-template-columns:minmax(0,1fr) 62px;column-gap:6px;padding:7px 10px}
  #hud .achievement-hud-medal{width:62px;height:56px}
  #hud .achievement-hud-medal > .achievement-medal{width:49px;height:49px}
  #achievementHubSlot .achievement-ribbon{grid-template-columns:minmax(0,1fr) 62px;gap:6px;padding:5px 8px}
  #achievementHubSlot .achievement-ribbon > .achievement-medal{width:48px;height:48px}
}
@media(prefers-reduced-motion:reduce){
  #achievementHubSlot{transition:none}
  #hud[data-announcement-kind="achievement"] .achievement-medal,
  #achievementHubSlot .achievement-medal,
  #hud[data-announcement-kind="achievement"] .achievement-medal__specular,
  #achievementHubSlot .achievement-medal__specular,
  #hud[data-announcement-kind="achievement"] .achievement-medal--secret .achievement-medal__glyph,
  #achievementHubSlot .achievement-medal--secret .achievement-medal__glyph{animation:none!important;transform:none!important;opacity:1}
  .achievement-medal__specular{opacity:0!important}
}

/* P0 UX revision: the count is a physical stack, not one ambiguous badge. */
.achievement-medal-group{position:relative;display:block;flex:none;width:72px;height:59px;isolation:isolate}
.achievement-medal-group .achievement-medal{position:absolute;top:6px;width:47px;height:47px;contain:layout}
.achievement-medal-group .achievement-medal:nth-child(1){left:2px;z-index:1;transform:rotate(-17deg)}
.achievement-medal-group .achievement-medal:nth-child(2){left:12px;top:2px;z-index:2;transform:rotate(-4deg)}
.achievement-medal-group .achievement-medal:nth-child(3){left:22px;top:6px;z-index:3;transform:rotate(9deg)}
.achievement-medal-group .achievement-medal__sample{display:none}
.achievement-medal-group__count{
  position:absolute;z-index:4;right:0;bottom:-1px;display:grid;place-items:center;
  min-width:29px;height:23px;padding:0 4px;border:1px solid #ffe5a8;border-radius:8px;
  background:#241b2c;color:#fff0c4;font:900 14px/1 system-ui;
  box-shadow:0 2px 5px rgba(0,0,0,.35)
}
#hud .achievement-hud-medal .achievement-medal-group{width:72px;height:59px}
#hud .achievement-hud-medal .achievement-medal-group .achievement-medal{width:47px;height:47px}
#achievementHubSlot .achievement-ribbon > .achievement-medal-group{width:72px;height:59px}
#hud[data-announcement-kind="achievement"].hud--announcement-visible .achievement-medal-group,
#achievementHubSlot.is-revealed .achievement-medal-group{animation:achMedalSeat 1.15s cubic-bezier(.22,.74,.3,1) both}
#hud[data-announcement-kind="achievement"] .achievement-medal-group .achievement-medal,
#achievementHubSlot .achievement-medal-group .achievement-medal{animation:none!important}
@media(max-width:359px){
  #hud .achievement-hud-medal .achievement-medal-group,
  #achievementHubSlot .achievement-ribbon > .achievement-medal-group{width:62px;height:55px}
  .achievement-medal-group .achievement-medal:nth-child(1){left:0}
  .achievement-medal-group .achievement-medal:nth-child(2){left:8px}
  .achievement-medal-group .achievement-medal:nth-child(3){left:16px}
  #hud .achievement-hud-medal .achievement-medal-group .achievement-medal,
  #achievementHubSlot .achievement-medal-group .achievement-medal{width:43px;height:43px}
}
/* Inspection is an ephemeral visual sample inside the existing Mi expediente sheet. */
.achievement-inspection{
  margin:4px 0 15px;padding:13px;border-radius:15px;box-sizing:border-box;
  border:1px solid rgba(235,192,114,.4);background:linear-gradient(120deg,#2b2231,#171c2a);
  color:#fff7e8;box-shadow:inset 0 1px rgba(255,255,255,.07)
}
.achievement-inspection__kicker{display:block;font:900 8px/1.25 system-ui;letter-spacing:.1em;color:#f7c998}
.achievement-inspection h3{margin:4px 0 5px;font:900 15px/1.15 system-ui;letter-spacing:.015em;color:#fff7e8}
.achievement-inspection p{margin:0 0 11px;color:#dfd1ce;font:650 10px/1.35 system-ui}
.achievement-inspection__list{display:grid;gap:6px}
.achievement-inspection__item{
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;
  padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.045)
}
.achievement-inspection__item .achievement-medal{width:48px;height:48px}
.achievement-inspection__item strong{display:block;color:#fff9e9;font:900 11px/1.3 system-ui;overflow-wrap:anywhere}
.achievement-inspection__item small{display:block;margin-top:3px;color:#edc99e;font:850 8px/1.1 system-ui;letter-spacing:.07em}

@media(prefers-reduced-motion:reduce){
  #hud[data-announcement-kind="achievement"].hud--announcement-visible .achievement-medal-group,
  #achievementHubSlot.is-revealed .achievement-medal-group{animation:none!important;transform:none!important}
}

/* UX-003 · identidad vectorial individual dentro del medallón original. */
.achievement-medal__emblem{
  fill:none;stroke:var(--ach-dark);stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;
  pointer-events:none
}
.achievement-medal--platinum .achievement-medal__emblem{stroke-width:2.15}
