.profile-shell { max-width: 920px; padding-top: 40px; padding-bottom: 80px; }

.profile-shell .lede { color: var(--ink-dim); font-size: 1.05rem; max-width: 60ch; margin: 0 0 20px; }

.profile-panel { margin: 24px 0; }
.profile-panel h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 10px; }

.btn-ghost {
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--ink-dim);
}
.btn-ghost:hover { border-color: var(--ghost-dim); color: var(--ghost); }

.profile-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 20px 0 36px;
  padding: 26px 30px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(135deg, rgba(189,145,79,.05), transparent 45%), rgba(19,23,26,.9);
  box-shadow: var(--shadow-panel);
}
.profile-hero .eyebrow { margin-bottom: 4px; }
.profile-hero h1 { font-size: 1.7rem; margin: 0; }
.profile-avatar {
  width: 64px; height: 64px; border-radius: 50%;
  border: 1px solid var(--line-strong);
  flex-shrink: 0;
}
.profile-signout { margin-left: auto; }

.link-panel {
  padding: 28px 32px;
  border: 1px solid var(--line-strong);
  background: rgba(19,23,26,.9);
  box-shadow: var(--shadow-panel);
}
.link-code-box {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 18px 0;
}
.link-code-box code {
  font: 700 2.1rem/1 var(--font-mono);
  letter-spacing: 0.12em;
  color: var(--ghost);
  background: rgba(23,18,12,.84);
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  padding: 12px 20px;
}
.link-instructions code { color: var(--ghost); background: rgba(23,18,12,.6); padding: 1px 6px; border-radius: 3px; }
.link-expiry { color: var(--ink-faint); font-size: 0.85rem; }

.sovereigns-panel {
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 0 36px;
  padding: 24px 30px;
  border: 1px solid var(--line-strong);
  background: radial-gradient(circle at 85% 15%, rgba(199,182,108,.14), transparent 16rem), rgba(19,23,26,.9);
  box-shadow: var(--shadow-panel);
}
.sov-label {
  font-family: var(--font-ui);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.sov-amount { font: 700 2.4rem/1 var(--font-display); color: var(--ghost); }
.sov-more { margin-left: auto; font-size: 0.85rem; color: var(--ink-dim); text-decoration: none; }
.sov-more:hover { color: var(--ghost); }

.selected-note {
  padding: 10px 16px;
  border: 1px solid var(--line-strong);
  background: rgba(145,170,114,.1);
  color: var(--ink-bone);
  margin-bottom: 16px;
}

.char-card { position: relative; cursor: pointer; padding-bottom: 52px; transition: border-color .15s, box-shadow .15s; }
.char-card.selected {
  border-color: var(--good);
  box-shadow: 0 0 0 1px var(--good), var(--shadow-panel);
}
.char-delete { position: absolute; right: 16px; bottom: 14px; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(168,76,60,.45); border-radius: 3px; background: rgba(48,20,18,.46); color: #b56a58; cursor: pointer; transition: color .15s, border-color .15s, background .15s; }
.char-delete svg { width: 17px; height: 17px; }
.char-delete:hover, .char-delete:focus-visible { border-color: #d27b62; background: rgba(106,38,29,.7); color: #f0a286; outline: none; }
.char-appearance { position: absolute; right: 56px; bottom: 14px; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(189,145,79,.4); border-radius: 3px; background: rgba(30,25,16,.46); color: var(--ghost); cursor: pointer; transition: color .15s, border-color .15s, background .15s; }
.char-appearance svg { width: 17px; height: 17px; }
.char-appearance:hover, .char-appearance:focus-visible { border-color: #d7ae58; background: rgba(93,68,25,.5); color: #f0d29a; outline: none; }
.char-appearance:disabled { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.03); color: #55524a; cursor: not-allowed; }
.char-loot { position: absolute; right: 96px; bottom: 14px; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(122,157,111,.4); border-radius: 3px; background: rgba(20,30,17,.46); color: var(--good); cursor: pointer; transition: color .15s, border-color .15s, background .15s; }
.char-loot svg { width: 17px; height: 17px; }
.char-loot:hover, .char-loot:focus-visible { border-color: #9fc48a; background: rgba(45,74,34,.5); color: #c2e6ae; outline: none; }
.char-loot:disabled { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.03); color: #55524a; cursor: not-allowed; }
.delete-warning { min-height: 1.3em; margin: 0 0 12px; color: #d18b70; font-size: .87rem; }

@media (max-width: 600px) {
  .profile-hero { flex-wrap: wrap; }
  .profile-signout { margin-left: 0; }
  .link-code-box { flex-wrap: wrap; }
}
