/* Package accents are shared by server-rendered cards and live login fragments.
 * The first four badge fills are sampled from the supplied reference images.
 */
.nirvana-vip--yellow {
  --vip-accent: #b5800a; --vip-rgb: 181, 128, 10;
  --vip-badge-start: #ffb502; --vip-badge-end: #ffb502;
  --vip-badge-border: #fff; --vip-badge-ink: #fff;
}
.nirvana-vip--orange,
.nirvana-vip--amber {
  --vip-accent: #d45700; --vip-rgb: 212, 87, 0;
  --vip-badge-start: #ff6600; --vip-badge-end: #ff6600;
  --vip-badge-border: #fff; --vip-badge-ink: #fff;
}
.nirvana-vip--gold,
.nirvana-vip--ruby {
  --vip-accent: #a5813b; --vip-rgb: 165, 129, 59;
  --vip-badge-start: #d63520; --vip-badge-end: #d63520;
  --vip-badge-border: #ffe265; --vip-badge-ink: #ffe265;
  --vip-identity-ink: #ffe265;
}
.nirvana-vip--blue {
  --vip-accent: #187cb6; --vip-rgb: 24, 124, 182;
  --vip-badge-start: #169de9; --vip-badge-end: #169de9;
  --vip-badge-border: #fff; --vip-badge-ink: #fff;
}
.nirvana-vip--purple {
  --vip-accent: #8650bd; --vip-rgb: 134, 80, 189;
  --vip-badge-start: #9b59df; --vip-badge-end: #9b59df;
  --vip-badge-border: #fff; --vip-badge-ink: #fff;
}
.nirvana-vip--pink {
  --vip-accent: #bd4d86; --vip-rgb: 189, 77, 134;
  --vip-badge-start: #ef69a4; --vip-badge-end: #ef69a4;
  --vip-badge-border: #fff; --vip-badge-ink: #fff;
}
.nirvana-vip--cyan {
  --vip-accent: #168e9c; --vip-rgb: 22, 142, 156;
  --vip-badge-start: #18b8c7; --vip-badge-end: #18b8c7;
  --vip-badge-border: #fff; --vip-badge-ink: #fff;
}
.nirvana-vip--silver {
  --vip-accent: #6b7d91; --vip-rgb: 107, 125, 145;
  --vip-badge-start: #a4b3c5; --vip-badge-end: #a4b3c5;
  --vip-badge-border: #fff; --vip-badge-ink: #fff;
}

/* The badge is wholly inside the avatar bounds, including small list avatars. */
body .tk-vip-icon.nirvana-vip-badge {
  position: absolute;
  z-index: 2;
  top: auto !important;
  left: auto !important;
  right: 2px !important;
  bottom: 2px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  border: 2px solid var(--vip-badge-border, #fff);
  border-radius: 50%;
  background: linear-gradient(145deg, var(--vip-badge-start), var(--vip-badge-end)) !important;
  box-shadow: 0 2px 5px rgba(31, 45, 61, .22), inset 0 1px 0 rgba(255, 255, 255, .32);
  color: var(--vip-badge-ink, #fff);
  line-height: 1;
  filter: none;
  pointer-events: none;
}
.nirvana-vip-badge__mark {
  display: block;
  transform: translateX(-.3px);
  font: italic 900 14px/1 Arial, sans-serif;
  text-shadow: 0 1px 1px rgba(31, 45, 61, .12);
}
body .tk-vip-icon.nirvana-vip-badge::before { content: none; }
body .tk-vip-icon.nirvana-vip-badge::after {
  position: absolute;
  inset: -30%;
  z-index: 1;
  background: linear-gradient(110deg, transparent 32%, rgba(255,255,255,.78) 48%, transparent 65%);
  content: "";
  animation: nirvana-vip-sheen 7s ease-in-out infinite;
  pointer-events: none;
}
@keyframes nirvana-vip-sheen {
  0%, 76% { transform: translateX(-130%); }
  90%, 100% { transform: translateX(130%); }
}
body .avatar--box-mini .tk-vip-icon.nirvana-vip-badge,
body .avatar--box-content .tk-vip-icon.nirvana-vip-badge,
body .tk-sidebar-lattice-list li .avatar .tk-vip-icon.nirvana-vip-badge {
  right: 0 !important;
  bottom: 0 !important;
  width: 16px !important;
  height: 16px !important;
  border-width: 1.5px;
}
.avatar--box-mini .nirvana-vip-badge__mark,
.avatar--box-content .nirvana-vip-badge__mark,
.tk-sidebar-lattice-list .nirvana-vip-badge__mark { font-size: 11px; }

/* Navigation keeps its existing height, dropdown width and compact avatar. */
.main-nav .login.nirvana-vip-identity .vcard .nirvana-vip-account__avatar {
  position: relative;
  display: inline-flex;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin-right: 9px;
}
.main-nav .login.nirvana-vip-identity .vcard .nirvana-vip-account__avatar .avatar {
  box-sizing: border-box;
  margin: 0;
  border: 1px solid rgba(var(--vip-rgb), .5);
  box-shadow: 0 0 0 2px rgba(var(--vip-rgb), .08), 0 6px 12px rgba(31,45,61,.12);
}
body .nirvana-vip-account__avatar .tk-vip-icon.nirvana-vip-badge {
  right: 0 !important;
  bottom: 0 !important;
  width: 13px !important;
  height: 13px !important;
  border-width: 1.3px;
}
.nirvana-vip-account__avatar .nirvana-vip-badge__mark { font-size: 9px; }
.main-nav .login.nirvana-vip-identity .vcard .name {
  color: #5b6b80;
  border-bottom-color: rgba(var(--vip-rgb), .48);
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
.main-nav .login.nirvana-vip-identity .vcard .name::after { background: transparent; }
.main-nav .login.nirvana-vip-identity .login-main {
  box-shadow: 0 12px 30px rgba(31,45,61,.16), inset 0 1px 0 rgba(var(--vip-rgb), .38);
}
.main-nav .login.nirvana-vip-identity .user-type {
  overflow: hidden;
  color: var(--vip-accent);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* A translucent ornament sits behind the existing gray-blue sidebar content. */
.widget-userinfo .author-card_content.nirvana-vip-identity {
  position: relative;
  isolation: isolate;
}
.widget-userinfo .author-card_content.nirvana-vip-identity::before {
  position: absolute;
  z-index: -1;
  inset: -8px;
  border: 1px solid rgba(var(--vip-rgb), .42);
  border-radius: 14px;
  background: radial-gradient(ellipse at 0 0, rgba(var(--vip-rgb), .08), transparent 65%);
  box-shadow: 0 2px 8px rgba(31,45,61,.04), inset 0 1px 0 rgba(255,255,255,.25);
  content: "";
  pointer-events: none;
}
.widget-userinfo .nirvana-vip-identity .author_avatar {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.widget-userinfo .nirvana-vip-identity .author_avatar > .col,
.widget-userinfo .nirvana-vip-identity .author_avatar > .col-auto {
  width: auto;
  min-width: 0;
  padding-right: 0;
  padding-left: 0;
}
.widget-userinfo .nirvana-vip-identity .avatar--box { position: relative; display: block; width: 60px; height: 60px; }
.widget-userinfo .nirvana-vip-identity .author_avatar .avatar {
  box-sizing: border-box;
  border: 1px solid rgba(var(--vip-rgb), .48);
  box-shadow: 0 0 0 3px rgba(var(--vip-rgb), .07), 0 10px 18px rgba(31,45,61,.14);
}
.widget-userinfo .nirvana-vip-identity .author_avatar a {
  max-width: 100%;
  color: #63748a;
  font-weight: 700;
}
.widget-userinfo .nirvana-vip-plan-label {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  max-width: 100%;
  gap: 4px;
  margin: 4px 0;
  padding: 3px 6px;
  border: 1px solid rgba(var(--vip-rgb), .2);
  border-radius: 5px;
  background: rgba(var(--vip-rgb), .065);
  color: var(--vip-accent);
  font-size: 11px;
  line-height: 1.2;
  vertical-align: middle;
}
.nirvana-vip-plan-label > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nirvana-vip-plan-label > i { flex: none; font-size: 9px; }
.widget-userinfo .nirvana-vip-identity .author_avatar .t-tips { white-space: nowrap; font-size: 11px; }

/* Existing public-card artwork and account-center dimensions remain intact. */
.nirvana-uc-profile.nirvana-vip-identity .nirvana-uc-membership.is-vip {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body .pm-info-card .pm-info-card-avatar .tk-vip-icon.nirvana-vip-badge {
  right: 4px !important;
  bottom: 4px !important;
  width: 19px !important;
  height: 19px !important;
}
.pm-info-card .pm-info-card-avatar .nirvana-vip-badge__mark { font-size: 13px; }
.pm-info-card--vip .pm-info-card-identity {
  max-width: calc(100% - 36px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pm-info-card--vip .pm-info-card-identity > span { overflow: hidden; text-overflow: ellipsis; }
body.night .main-nav .login.nirvana-vip-identity .vcard .name,
body.night .widget-userinfo .nirvana-vip-identity .author_avatar a {
  color: #d3dce8;
  text-shadow: none;
}
body.night .widget-userinfo .author-card_content.nirvana-vip-identity::before {
  border-color: rgba(var(--vip-rgb), .46);
  background: radial-gradient(ellipse at 0 0, rgba(var(--vip-rgb), .13), transparent 65%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
body.night .nirvana-vip-plan-label,
body.night .main-nav .login.nirvana-vip-identity .user-type { color: var(--vip-identity-ink, var(--vip-badge-start)); }
@media (prefers-reduced-motion: reduce) {
  body .tk-vip-icon.nirvana-vip-badge::after { animation: none; opacity: 0; }
}
/* Legacy check-in controls were absolutely positioned over the name column. */
.widget-userinfo .nirvana-vip-identity .author_avatar > .col-auto:last-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.widget-userinfo .nirvana-vip-identity .btn-qiandao,
.widget-userinfo .nirvana-vip-identity .qd-leiji {
  position: static;
  flex: none;
  white-space: nowrap;
}
.widget-userinfo .nirvana-vip-identity .col.n2 small.nirvana-vip-plan-label {
  color: var(--vip-accent) !important;
  line-height: 1.2;
}
body.night .widget-userinfo .nirvana-vip-identity .col.n2 small.nirvana-vip-plan-label {
  color: var(--vip-badge-start) !important;
}
.nirvana-uc-profile.nirvana-vip-identity .nirvana-uc-membership > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nirvana-uc-profile.nirvana-vip-identity .nirvana-uc-membership > i { flex: none; }
