/* section download buttons */
.sdl-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;padding:0;
  border-radius:9px;border:1px solid rgba(31,157,85,.5);background:transparent;color:#1f9d55;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,transform .15s;margin-inline-start:auto}
.sdl-btn svg{display:block}
.sdl-btn:hover{background:rgba(31,157,85,.14);border-color:#27c76a;color:#27c76a}
.sdl-btn:active{transform:translateY(1px)}
.sdl-btn:focus-visible{outline:2px solid #27c76a;outline-offset:2px}
[data-theme="dark"] .sdl-btn{color:#34d27b;border-color:rgba(52,210,123,.55)}
[data-theme="dark"] .sdl-btn:hover{background:rgba(52,210,123,.16);border-color:#4fe08f;color:#4fe08f}
.sdl-bar{display:flex;justify-content:flex-end;margin:0 0 8px}
.sdl-bar .sdl-btn{margin:0}
.sdl-cards{position:relative}
.sdl-cards>.sdl-btn{position:absolute;top:-30px;inset-inline-end:0;margin:0;width:24px;height:24px;opacity:.55}
.sdl-cards:hover>.sdl-btn,.sdl-cards>.sdl-btn:focus-visible{opacity:1}
/* the detailed (UIDs + agencies) download, kept visibly separate from the section button */
.drill-dl.sdl-detail{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding:3px 9px;border-radius:99px;margin-inline-start:8px!important}
.drill-dl.sdl-detail:hover{background:var(--accent-soft)}

/* achievement spark */
.spk{position:fixed;z-index:9999;inset-inline-end:22px;bottom:22px;width:min(340px,calc(100vw - 32px));
  background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--border,#ddd);border-radius:16px;
  padding:14px 16px 14px;box-shadow:0 18px 50px -12px rgba(0,0,0,.45);display:flex;gap:12px;align-items:flex-start;
  transform:translateY(24px);opacity:0;animation:spkIn .45s cubic-bezier(.2,.9,.25,1.1) forwards;overflow:hidden}
.spk.out{animation:spkOut .35s ease forwards}
.spk-medal{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;
  background:radial-gradient(circle at 30% 25%,#ffe9a8,#f5b73b 60%,#d98d0b);box-shadow:0 0 0 4px rgba(245,183,59,.22),0 6px 16px -4px rgba(217,141,11,.7)}
.spk.small .spk-medal{background:radial-gradient(circle at 30% 25%,#c9ddff,#6f8cff 62%,#4a63d8);box-shadow:0 0 0 4px rgba(111,140,255,.2)}
.spk b{display:block;font-size:.98rem;letter-spacing:-.01em}
.spk p{margin:3px 0 0;font-size:.84rem;color:var(--text-soft,#666);line-height:1.45}
.spk .spk-tag{display:inline-block;margin-top:7px;font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:99px;
  background:rgba(245,183,59,.18);color:#c98a0a}
[data-theme="dark"] .spk .spk-tag{color:#f5c25a}
.spk .spk-bar{position:absolute;inset-inline:0;bottom:0;height:3px;background:linear-gradient(90deg,#f5b73b,#ff7a59);
  transform-origin:left;animation:spkBar 5.2s linear forwards}
[dir="rtl"] .spk .spk-bar{transform-origin:right}
.spk-x{position:absolute;top:6px;inset-inline-end:8px;background:none;border:0;color:var(--text-soft,#888);cursor:pointer;font-size:1rem;line-height:1}
.spk-p{position:fixed;z-index:9998;pointer-events:none;font-size:14px;will-change:transform,opacity}
@keyframes spkIn{to{transform:none;opacity:1}}
@keyframes spkOut{to{transform:translateY(16px);opacity:0}}
@keyframes spkBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.spk{animation:none;transform:none;opacity:1}.spk .spk-bar{animation:none;display:none}}
