/* ============================================================
   CELEBRACIÓN DE MEDALLAS · modal al acuñar (Fase 2 · doc 11)
   Extraído verbatim de soma-medals.js (v1 lo inyectaba como <style>
   id="sl-medal-css"; desde soma-medals.js v2 vive aquí).
   Lo cargan las páginas que cargan soma-medals.js:
   completion.html · medallas.html · estadisticas.html.
   Valores literales (no tokens) a propósito: fidelidad 1:1 con el
   visual aprobado. Para elevarlo, trabajar ESTE archivo en Claude Diseño.
   ============================================================ */

@keyframes smedalIn{0%{opacity:0;transform:translateY(14px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes smedalGlow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}

#smedal-scrim{position:fixed;left:0;top:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,11,20,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease;}
#smedal-scrim.on{opacity:1;}

.smedal-card{position:relative;max-width:330px;width:100%;text-align:center;background:radial-gradient(ellipse 120% 130% at 50% -10%,#16273d,#0B1623 60%,#050B14);border:1px solid rgba(201,169,104,.42);box-shadow:0 30px 70px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(201,169,104,.18);padding:32px 26px 24px;animation:smedalIn .5s cubic-bezier(.2,.7,.2,1);}
.smedal-card::before{content:"";position:absolute;left:7px;top:7px;right:7px;bottom:7px;border:1px solid rgba(201,169,104,.14);pointer-events:none;}

.smedal-chip{position:relative;width:82px;height:82px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#5a4620;background:radial-gradient(circle at 38% 30%,#FBEFD0 0%,#E7CE97 42%,#C9A968 72%,#9A7838 100%);border:1px solid rgba(201,169,104,.85);box-shadow:0 10px 22px -8px rgba(201,169,104,.7),inset 0 2px 3px rgba(255,255,255,.65),inset 0 -5px 10px rgba(120,90,40,.42);}
.smedal-chip::after{content:"";position:absolute;left:4px;top:4px;right:4px;bottom:4px;border-radius:50%;border:1px solid rgba(255,255,255,.34);}
.smedal-halo{position:absolute;left:50%;top:64px;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,104,.28),transparent 66%);animation:smedalGlow 3.4s ease-in-out infinite;pointer-events:none;}

.smedal-eyebrow{font-family:'DM Sans',system-ui,sans-serif;font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:#C9A968;margin:0 0 8px;}
.smedal-name{font-family:'Libre Baskerville',Georgia,serif;font-size:21px;line-height:1.2;color:#F4ECD9;margin:0 0 6px;}
.smedal-desc{font-family:'DM Sans',system-ui,sans-serif;font-size:12.5px;line-height:1.5;color:rgba(244,236,217,.62);margin:0 0 20px;}

.smedal-actions{display:flex;flex-direction:column;gap:9px;}
.smedal-btn{font-family:'DM Sans',system-ui,sans-serif;font-size:13px;letter-spacing:.02em;padding:11px 16px;cursor:pointer;border:1px solid rgba(201,169,104,.55);background:rgba(201,169,104,.12);color:#F4ECD9;transition:background .2s;}
.smedal-btn:hover{background:rgba(201,169,104,.22);}
.smedal-btn.ghost{border-color:rgba(244,236,217,.18);background:transparent;color:rgba(244,236,217,.6);}

/* ── MINI-SENDA en la celebración (10 ago · rediseño "Progreso Vivo") ──
   Ubica el hito recién ganado en el recorrido: pasados llenos, activo con
   halo, futuros con borde + conector punteado. Dentro del marco existente. */
.smedal-mini{ display:flex; align-items:center; justify-content:center; margin:16px 0 2px; }
.sm-dot{ flex:0 0 auto; width:9px; height:9px; border-radius:50%; box-sizing:border-box; }
.sm-dot.past{ background:rgba(201,169,104,.55); }
.sm-dot.act{ width:15px; height:15px; background:#E8CF94; box-shadow:0 0 0 4px rgba(201,169,104,.18); }
.sm-dot.fut{ background:transparent; border:1px solid rgba(201,169,104,.35); }
.sm-conn{ flex:0 0 auto; width:22px; height:0; border-top:1px solid rgba(201,169,104,.4); }
.sm-conn.dash{ border-top:1px dashed rgba(201,169,104,.3); }
