/* VIP 등급 / 운영자 닉네임 뱃지 — 점진적 escalation */
/* 일반 무스타일 / BRONZE 옅음 / GOLD 살짝 빛 / PLATINUM 청록 reflection / DIAMOND 사파이어+펄스 / VIP 무지개 3중 / ADMIN 보라 */

@keyframes rainbow-shift {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}
@keyframes shimmer {
    0%   { background-position: 200% 0%; }
    100% { background-position: -100% 0%; }
}
@keyframes pulse-diamond {
    0%, 100% { box-shadow: 0 0 6px rgba(59, 130, 246, 0.45), inset 0 1px 0 rgba(255,255,255,0.3); }
    50%      { box-shadow: 0 0 16px rgba(59, 130, 246, 0.85), 0 0 0 3px rgba(59, 130, 246, 0.15), inset 0 1px 0 rgba(255,255,255,0.4); }
}
@keyframes pulse-vip {
    0%, 100% { box-shadow: 0 0 12px rgba(217, 70, 239, 0.5); }
    50%      { box-shadow: 0 0 24px rgba(217, 70, 239, 0.9), 0 0 0 4px rgba(217, 70, 239, 0.18); }
}

/* 모든 닉네임 뱃지 공통 — vertical center 정렬 보강 */
.nickname-default, .nickname-bronze, .nickname-gold,
.nickname-platinum, .nickname-diamond, .nickname-vip, .nickname-admin {
    line-height: 1.4;
}
.nickname-default::before, .nickname-bronze::before, .nickname-gold::before,
.nickname-platinum::before, .nickname-diamond::before, .nickname-vip::before, .nickname-admin::before {
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

/* 일반(none) — 테두리 + 옅은 회색 배경 + 미니 점 (C 옵션 진하게) */
.nickname-default {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px 2px 6px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    background: #f3f4f6;
    color: #4b5563;
    font-weight: 500;
}
.nickname-default::before {
    content: "•";
    color: #9ca3af;
    font-size: 0.55em;
}

/* BRONZE — 옅은 베이지, 거의 안 띄게 */
.nickname-bronze {
    display: inline-flex; align-items: center; gap: 4px;
    color: #92400e;
    background: rgba(254, 215, 170, 0.45);
    padding: 4px 9px 2px 6px;
    border-radius: 8px;
    font-weight: 500;
}
.nickname-bronze::before { content: "●"; color: #c2410c; font-size: 0.65em; opacity: 0.75; }

/* GOLD — 황금 그라데이션 + 미세 글로우 + 옅은 reflection */
.nickname-gold {
    display: inline-flex; align-items: center; gap: 4px;
    color: #78350f;
    background:
        linear-gradient(110deg, transparent 45%, rgba(255,255,255,0.3) 50%, transparent 55%),
        linear-gradient(135deg, #fef3c7, #fde68a);
    background-size: 280% 100%, 100% 100%;
    animation: shimmer 24s linear infinite;
    border: 1px solid #f59e0b;
    padding: 4px 9px 2px 6px;
    border-radius: 8px;
    font-weight: 600;
    box-shadow: 0 0 4px rgba(245, 158, 11, 0.3);
    text-shadow: 0 1px 0 rgba(255,255,255,0.4);
}
.nickname-gold::before { content: "★"; color: #b45309; font-size: 0.85em; }

/* PLATINUM — 청록 정적 베이스 + 빛 reflection + 글로우 */
.nickname-platinum {
    display: inline-flex; align-items: center; gap: 4px;
    color: #fff;
    background:
        linear-gradient(110deg, transparent 42%, rgba(255,255,255,0.4) 50%, transparent 58%),
        linear-gradient(135deg, #2dd4bf, #14b8a6, #0d9488);
    background-size: 250% 100%, 100% 100%;
    animation: shimmer 20s linear infinite;
    border: 1px solid #0f766e;
    padding: 4px 10px 2px 6px;
    border-radius: 8px;
    font-weight: 700;
    box-shadow: 0 0 8px rgba(20, 184, 166, 0.5), inset 0 1px 0 rgba(255,255,255,0.35);
    text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
.nickname-platinum::before {
    content: "◆";
    color: #ecfeff;
    font-size: 0.9em;
    text-shadow: 0 0 4px rgba(255,255,255,0.7);
}

/* DIAMOND — 사파이어 정적 베이스 + 빛 reflection + 펄스 */
.nickname-diamond {
    display: inline-flex; align-items: center; gap: 4px;
    color: #fff;
    background:
        linear-gradient(110deg, transparent 42%, rgba(255,255,255,0.45) 50%, transparent 58%),
        linear-gradient(135deg, #60a5fa, #3b82f6, #1d4ed8);
    background-size: 250% 100%, 100% 100%;
    animation: shimmer 14s linear infinite, pulse-diamond 12s ease-in-out infinite;
    border: 1px solid #1e40af;
    padding: 4px 11px 2px 6px;
    border-radius: 8px;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.nickname-diamond::before {
    content: "◇";
    color: #dbeafe;
    font-weight: 900;
    text-shadow: 0 0 6px rgba(255,255,255,0.85);
}

/* VIP — 무지개 + reflection + 펄스 (3중) */
.nickname-vip {
    display: inline-flex; align-items: center; gap: 4px;
    color: #fff;
    background:
        linear-gradient(110deg, transparent 42%, rgba(255,255,255,0.45) 50%, transparent 58%),
        linear-gradient(90deg,
            #ec4899, #f97316, #fbbf24, #facc15,
            #84cc16, #22c55e, #06b6d4, #3b82f6,
            #6366f1, #a855f7, #d946ef, #ec4899);
    background-size: 250% 100%, 200% 100%;
    animation: rainbow-shift 40s linear infinite, shimmer 8.8s linear infinite, pulse-vip 9.6s ease-in-out infinite;
    border: 1px solid rgba(255,255,255,0.5);
    padding: 4px 11px 2px 6px;
    border-radius: 8px;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0,0,0,0.55);
}
.nickname-vip::before {
    content: "♔";
    color: #fff;
    font-size: 0.95em;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* ADMIN — 운영진 (다크 그레이 + 노란 체크 / 등급과 별개 역할) */
.nickname-admin {
    display: inline-flex; align-items: center; gap: 4px;
    color: #fff;
    background: linear-gradient(135deg, #1f2937, #374151);
    border: 1px solid #4b5563;
    padding: 4px 10px 2px 6px;
    border-radius: 8px;
    font-weight: 800;
    box-shadow: 0 1px 2px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.08);
    text-shadow: 0 1px 1px rgba(0,0,0,0.3);
    letter-spacing: 0.01em;
}
.nickname-admin::before { content: "✓"; color: #fbbf24; font-weight: 900; font-size: 0.9em; text-shadow: 0 0 4px rgba(251, 191, 36, 0.35); }

/* 폭 기반 truncate (게시판 목록용) — inline-flex 와 호환 */
.nickname-truncate {
    max-width: 9rem;
    overflow: hidden;
    white-space: nowrap;
}
