.profile-title-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0;
}
.profile-earned-titles {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.profile-earned-titles:empty {
  display: none;
}
.equipped-title {
  display: inline-block;
  padding: 8px 10px;
  font-weight: 650;
  line-height: 1.3;
  max-width: 100%;
  overflow-wrap: anywhere;
  border-radius: 6px;
  border: 1px solid #69718566;
  background: #202530;
  font-size: 12px;
  color: #e2e8f0;
}
.role-title.title-ag {
  border-color: transparent;
  background:
    linear-gradient(#171820, #171820) padding-box,
    linear-gradient(
        110deg,
        #ff9bbd,
        #ffd783,
        #a7f6c8,
        #94ccff,
        #d2a3ff,
        #ff9bbd
      )
      border-box;
  color: #f4e5ff;
  box-shadow: 0 0 8px #d2a3ff40;
  background-size:
    auto,
    250% 250%;
  animation: rainbow-flow 6s ease infinite;
}
/* Approved title badges: names only, card rarity colours, signature quiz aqua. */
.equipped-title.card-earned-title {
  --title-colour: var(--tier-color, #a1a1ac);
  border-color: color-mix(in srgb, var(--title-colour) 70%, transparent);
  background: color-mix(in srgb, var(--title-colour) 7%, #151820);
  color: var(--title-colour);
  box-shadow: 0 0 9px color-mix(in srgb, var(--title-colour) 12%, transparent);
}
.equipped-title.card-earned-title.tier-d,
.equipped-title.card-earned-title.tier-pending {
  --title-colour: #a1a1ac;
}
.equipped-title.card-earned-title.tier-c {
  --title-colour: #b59972;
}
.equipped-title.card-earned-title.tier-b {
  --title-colour: #83cdb4;
}
.equipped-title.card-earned-title.tier-a {
  --title-colour: #78b9ed;
}
.equipped-title.card-earned-title.tier-ubers {
  --title-colour: #c397ff;
}
.equipped-title.card-earned-title.tier-ag {
  border-color: transparent;
  background:
    linear-gradient(#1c1c28, #1c1c28) padding-box,
    linear-gradient(
        110deg,
        #ff8fae,
        #ffd774,
        #90f2bd,
        #80caff,
        #cb9dff,
        #ff8fae
      )
      border-box;
  background-size:
    auto,
    220% 220%;
  color: #f1deff;
  animation: rainbow-flow 6s ease infinite;
  box-shadow:
    -3px 0 12px #ff91b12a,
    3px 0 12px #80caff2a;
}
.equipped-title.quiz-earned-title {
  color: #a2fff5;
  border-color: transparent;
  background:
    linear-gradient(110deg, #123338, #28223b) padding-box,
    linear-gradient(110deg, #6af5e6, #80daff, #f3a3e3) border-box;
  box-shadow:
    0 0 15px #6af5e630,
    inset 0 0 12px #8ceff309;
}

.profile-avatar.large { width:88px;height:88px;flex-basis:88px; }
.profile-avatar .avatar-crop { position:absolute;inset:0; }
.profile-avatar .avatar-crop img { object-position:var(--avatar-x,50%) var(--avatar-y,20%);transform:scale(var(--avatar-zoom,1)); }
.profile-avatar.account-avatar { width:36px;height:36px;flex-basis:36px; }
.profile-avatar.account-avatar .avatar-crop { font-size:12px; }
.profile-avatar.account-avatar b { font-size:8px;padding:1px 4px;bottom:-7px; }
.profile-title-stack:empty { display:none; }
.equipped-title.tier-s { --tier-color:#f5a35d; }
.equipped-title.tier-ss { --tier-color:#eef3fc; }
.equipped-title.tier-sss { --tier-color:#edc763; }
.role-title { display:inline-flex;align-items:center;padding:7px 10px;border:1px solid;border-radius:6px;font-size:12px;font-weight:700; }
#account-access.signed-in { padding:0;border:0;background:none;border-radius:50%; }
#account-access.signed-in:hover { background:none; }
.account-balance,.gacha-link { font-size:12px;white-space:nowrap; }
.account-balance { color:var(--mint); }
.gacha-link { color:var(--muted); }
.elo-tooltip em { display:block;font-size:.75rem;font-style:normal;color:var(--muted); }
.elo-tooltip .elo-gain { color:#83cdb4; }
.elo-tooltip .elo-loss { color:#f1788c; }
@keyframes rainbow-flow {0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
@media(max-width:600px){.profile-avatar.large{width:68px;height:68px;flex-basis:68px;}.top-actions{gap:12px;}.gacha-link{display:none;}.account-balance{font-size:11px;}.crumb{min-width:0;}}
@media(prefers-reduced-motion:reduce){.role-title,.equipped-title,.frame-aura::before{animation:none!important;}}

/* Shared account chrome follows the Gacha wallet and account dialog. */
.account-balance { display:inline-flex;align-items:center;gap:7px;background:#1d1f27;border:1px solid #31333f;border-radius:25px;padding:9px 15px;color:var(--text);text-decoration:none; }
.account-balance .coin { color:var(--yellow);font-size:16px; }
.account-balance strong { font-size:12px; }
.account-balance > span:last-child { color:var(--muted);font-size:10px; }
.account-balance[hidden] { display:none; }
.modal-overlay #modal-content.account-modal { position:relative;width:440px;max-width:calc(100vw - 32px);max-height:90dvh;padding:32px;background:#1d1f27;border-color:#454753;border-radius:16px;overflow:hidden; }
.account-modal .modal-head { position:absolute;top:16px;right:15px;padding:0;border:0;z-index:1; }
.account-modal .modal-head > h2 { display:none; }
.account-modal .modal-body { padding:0;overflow:hidden; }
.account-popup { display:flex;flex-direction:column;min-height:0;max-height:calc(90dvh - 64px); }
.account-summary,.account-popup > h3,.account-dialog-actions { flex-shrink:0; }
.account-summary h2 { display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 22px 12px 0;font-size:23px;overflow-wrap:anywhere; }
.account-summary h2 .role-title { font-size:9px;padding:3px 6px; }
.account-summary > p { color:var(--muted);font-size:12px;margin:0 0 16px; }
.account-stats { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.account-stats > div { padding:18px 14px;background:var(--panel);border:1px solid var(--border);border-radius:11px; }
.account-stats span { display:block;font-size:10px;color:var(--muted);text-transform:uppercase;margin-bottom:14px; }
.account-stats strong { display:block;font-size:24px;font-variant-numeric:tabular-nums; }
.account-popup > h3 { font-size:15px;margin:20px 0 10px; }
.account-activity { min-height:0;max-height:280px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;border:1px solid var(--border);border-radius:10px; }
.account-activity ul { list-style:none;margin:0;padding:0 14px; }
.account-activity li { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 6px;border-bottom:1px solid var(--border);font-size:12px; }
.account-activity li:last-child { border-bottom:0; }
.account-activity li > div { min-width:0;overflow-wrap:anywhere; }
.account-activity li > span { flex-shrink:0;font-variant-numeric:tabular-nums; }
.account-activity small { display:block;color:var(--muted);font-size:10px;margin-top:5px; }
.account-activity > p { margin:0;padding:16px;font-size:12px; }
.ledger-positive { color:#9ad7b6; }.ledger-negative { color:#f1788c; }
.account-dialog-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border); }
.account-dialog-actions button,.account-dialog-actions .button { padding:10px 8px;font-size:11px;text-align:center;min-width:0;justify-content:center; }
.account-dialog-actions .primary { background:var(--pink);color:#17131a;border:1px solid var(--pink); }
@media(max-width:480px){.modal-overlay #modal-content.account-modal{padding:24px;}.account-popup{max-height:calc(90dvh - 48px);}.account-stats{gap:12px;}.account-balance{padding:9px 12px;}}
