.badge { width: var(--badge-size, 326px); height: var(--badge-size, 326px); }
.badge-asset { object-fit: contain; border-radius: 6px; background: var(--paper); box-shadow: var(--card-shadow); }
.badge-wrap { filter: drop-shadow(0 5px 12px rgba(163,61,46,.1)); }
.badge-ticks line { stroke: #A33D2E; stroke-width: 2; opacity: .5; }
.badge-ring-outer { fill: none; stroke: #A33D2E; stroke-width: 4; }
.badge-ring-inner { fill: none; stroke: #A33D2E; stroke-width: 1.5; }
.badge-core { fill: #F1DFBC; }
.badge-dots circle { fill: #A33D2E; }
.badge-flower { fill: #A33D2E; }
.badge-center { fill: #FFF1D0; font-family: var(--font-display); font-size: 40px; font-weight: 700; }
.badge-caption { fill: #9A382B; font-family: var(--font-display); font-size: 12px; letter-spacing: 2px; }
.badge-glow .glow-halo { fill: none; stroke: #B1894F; }
.badge-glow .halo-outer { stroke-width: 1; opacity: .35; stroke-dasharray: 2 10; }
.badge-glow .halo-mid { stroke-width: 1.5; opacity: .55; }
.badge-glow .halo-inner { stroke-width: 2; opacity: .8; }
.badge-glow .glow-rays line { stroke: #B98D43; stroke-width: 2.5; stroke-linecap: round; opacity: .7; }
.badge-glow .glow-star { fill: #FFF3D2; opacity: .92; }
