@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

:root {
  --bg: #0c0b0a;
  --surface: #141210;
  --surface-2: #1b1815;
  --border: #3b342c;
  --text: #e9e1d4;
  --muted: #a99f91;
  --accent: #c6a15b;
  --accent-light: #e3c783;
  --danger: #b86c6c;
  --success: #769d78;
  --max: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top, #201b15 0, var(--bg) 42rem);
  color: var(--text);
  font-family: Inter, sans-serif;
  line-height: 1.6;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid var(--border);
  background: rgba(12, 11, 10, .94);
  backdrop-filter: blur(10px);
}

.nav {
  max-width: var(--max);
  margin: auto;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 24px;
}

.logo {
  font: 700 20px Cinzel, serif;
  letter-spacing: .08em;
  margin-right: auto;
}

.nav-links {
  display: flex;
  gap: 18px;
  align-items: center;
}

.nav-links a {
  color: var(--muted);
}

.nav-links a:hover {
  color: var(--accent-light);
}

.container {
  width: min(var(--max), calc(100% - 40px));
  margin: auto;
}

main {
  min-height: calc(100vh - 150px);
}

.hero {
  padding: 110px 0 90px;
  text-align: center;
}

.eyebrow {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 12px;
  font-weight: 600;
}

h1,
h2,
h3 {
  font-family: Cinzel, serif;
  line-height: 1.2;
}

h1 {
  font-size: clamp(38px, 6vw, 72px);
  margin: 12px 0;
}

h2 {
  font-size: 30px;
}

.hero p {
  max-width: 680px;
  margin: 20px auto 30px;
  color: var(--muted);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #17120c;
  font-weight: 700;
  border-radius: 3px;
}

.button:hover {
  background: var(--accent-light);
}

.button-small {
  min-height: 36px;
  padding: 0 14px;
}

.section {
  padding: 70px 0;
}

.section-heading {
  margin-bottom: 28px;
}

.section-heading h2 {
  margin: 8px 0 0;
}

.grid {
  display: grid;
  gap: 18px;
}

.player-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.badge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.player-card,
.clan-card,
.badge-card {
  border: 1px solid var(--border);
  background: linear-gradient(145deg, var(--surface-2), var(--surface));
  padding: 20px;
  transition: transform .2s, border-color .2s;
}

.player-card {
  display: flex;
  align-items: center;
  gap: 16px;
}

.player-card:hover,
.clan-card:hover,
.badge-card:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
}

.player-card h3,
.clan-card h3,
.badge-card h3 {
  margin: 0 0 5px;
}

.player-card p,
.clan-card p,
.badge-card p {
  margin: 0;
  color: var(--muted);
}

.avatar {
  position: relative;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--accent);
  background: #211c16;
  color: var(--accent-light);
  font: 700 18px Cinzel, serif;
}

.avatar-large {
  width: 150px;
  height: 150px;
  flex-basis: 150px;
  font-size: 40px;
}

.avatar .avatar-fallback {
  position: relative;
  z-index: 0;
}

.avatar img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-hero {
  display: flex;
  gap: 30px;
  align-items: center;
  padding: 80px 0;
  border-bottom: 1px solid var(--border);
}

.profile-hero h1 {
  margin: 8px 0 12px;
}

.profile-hero p {
  max-width: 700px;
  color: var(--muted);
}

.meta {
  display: flex;
  gap: 18px;
  color: var(--accent-light);
  font-size: 13px;
}

.badge-card {
  display: flex;
  gap: 18px;
}

.badge-icon,
.clan-emblem {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: grid;
  place-items: center;
  border: 1px solid var(--accent);
  color: var(--accent-light);
  font-size: 26px;
}

.badge-icon img,
.clan-emblem img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.form-card {
  width: min(520px, 100%);
  margin: 70px auto;
  padding: 32px;
  border: 1px solid var(--border);
  background: var(--surface);
}

.form-card h1 {
  font-size: 34px;
}

.field {
  margin-bottom: 18px;
}

.field label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 14px;
}

.field input,
.field textarea,
.field select {
  width: 100%;
  padding: 12px 13px;
  color: var(--text);
  background: #0d0c0b;
  border: 1px solid var(--border);
  outline: none;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: var(--accent);
}

.status {
  margin: 15px 0;
  color: var(--muted);
}

.status.error {
  color: var(--danger);
}

.status.success {
  color: var(--success);
}

.search {
  margin-bottom: 25px;
}

.search input {
  width: 100%;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface);
}

th,
td {
  text-align: left;
  padding: 15px;
  border-bottom: 1px solid var(--border);
}

th {
  color: var(--accent);
  font: 600 13px Cinzel, serif;
  text-transform: uppercase;
}

td a {
  color: var(--accent-light);
}

.site-footer {
  border-top: 1px solid var(--border);
  margin-top: 60px;
  padding: 30px 0;
  color: var(--muted);
  font-size: 13px;
}

.user-chip {
  color: var(--accent-light);
  font-size: 13px;
}

.link-button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--muted);
}

.link-button:hover {
  color: var(--accent-light);
}

@media (max-width: 800px) {
  .nav {
    flex-wrap: wrap;
    padding: 15px 20px;
  }

  .nav-links {
    order: 3;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 5px;
  }

  .profile-hero {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* =========================================
   TALES OF VANITY — ADMINISTRAÇÃO DE PERSONAGENS
   Estética: grimório medieval / fantasia
   ========================================= */

#character-admin {
  --admin-gold: #d8b56d;
  --admin-gold-light: #f1d9a0;
  --admin-panel: #171820;
  --admin-panel-light: #20212b;
  --admin-border: rgba(216, 181, 109, 0.22);
  --admin-text: #eee9df;
  --admin-muted: #a7a3ad;
  --admin-radius: 12px;

  color: var(--admin-text);
  padding-top: 20px;
}

/* Cabeçalho da área */

#character-admin > .form-card {
  position: relative;
  max-width: 900px;
  margin: 0 auto 48px;
  padding: clamp(22px, 4vw, 42px);
  overflow: hidden;

  background:
    radial-gradient(
      ellipse at top right,
      rgba(151, 111, 48, 0.12),
      transparent 55%
    ),
    var(--admin-panel);

  border: 1px solid var(--admin-border);
  border-radius: 16px;

  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

#character-admin > .form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--admin-gold),
    #f4e2b3,
    var(--admin-gold),
    transparent
  );
}

#character-admin #form-title {
  margin: 0 0 30px;
  padding-bottom: 20px;

  color: var(--admin-gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.02em;

  border-bottom: 1px solid var(--admin-border);
}

/* Campos do formulário */

#character-admin .form-card label {
  display: block;
  margin: 21px 0 9px;

  color: #d9d1c2;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.035em;
}

#character-admin .form-card input:not([type="hidden"]),
#character-admin .form-card select,
#character-admin .form-card textarea {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;

  padding: 13px 15px;

  color: var(--admin-text);
  font: inherit;
  font-size: 0.94rem;
  line-height: 1.5;

  background: #101116;
  border: 1px solid #383743;
  border-radius: 8px;

  outline: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

#character-admin .form-card textarea {
  min-height: 125px;
  resize: vertical;
  line-height: 1.7;
}

#character-admin .form-card input::placeholder,
#character-admin .form-card textarea::placeholder {
  color: #777580;
}

#character-admin .form-card input:focus,
#character-admin .form-card select:focus,
#character-admin .form-card textarea:focus {
  background: #15151c;
  border-color: var(--admin-gold);

  box-shadow: 0 0 0 3px rgba(216, 181, 109, 0.11);
}

#character-admin .form-card select {
  cursor: pointer;
}

#character-admin .form-card select option {
  color: var(--admin-text);
  background: var(--admin-panel);
}

/* Campo de ficha do Facebook */

#character-admin #character-ficha {
  border-color: rgba(105, 153, 222, 0.45);
}

#character-admin #character-ficha:focus {
  border-color: #80a9e5;
  box-shadow: 0 0 0 3px rgba(105, 153, 222, 0.12);
}

/* Ações do formulário */

#character-admin .form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;

  margin-top: 30px;
  padding-top: 24px;

  border-top: 1px solid var(--admin-border);
}

#character-admin .form-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 44px;
  padding: 11px 20px;

  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.015em;

  border-radius: 8px;
  cursor: pointer;

  transition:
    transform 160ms ease,
    filter 160ms ease,
    border-color 160ms ease;
}

#character-admin #save-character {
  color: #211a10;
  background: linear-gradient(
    135deg,
    #f0d69c,
    #c7a052
  );

  border: 1px solid #e2c17c;
  box-shadow: 0 5px 18px rgba(180, 137, 59, 0.13);
}

#character-admin #save-character:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

#character-admin #cancel-edit {
  color: #ded9e2;
  background: #292832;
  border: 1px solid #45424e;
}

#character-admin #cancel-edit:hover {
  border-color: #77717f;
  transform: translateY(-1px);
}

#character-admin .form-actions .button:focus-visible {
  outline: 2px solid var(--admin-gold-light);
  outline-offset: 3px;
}

#character-admin .form-actions button[hidden] {
  display: none;
}

/* Mensagens de sucesso e erro */

#character-admin #character-status-message {
  margin: 18px 0 0;
  padding: 0;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

/* Acervo de personagens */

#character-admin > .section {
  max-width: 1200px;
  margin: 0 auto;
}

#character-admin > .section > .section-heading {
  margin-bottom: 25px;
}

#character-admin > .section .eyebrow {
  color: var(--admin-gold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

#character-admin > .section h2 {
  font-family: Georgia, "Times New Roman", serif;
}

#character-admin #character-list {
  gap: 22px;
}

#character-admin #character-list > .player-card {
  min-width: 0;
  overflow: hidden;

  background: var(--admin-panel);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);

  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);

  transition:
    transform 180ms ease,
    border-color 180ms ease;
}

#character-admin #character-list > .player-card:hover {
  transform: translateY(-3px);
  border-color: rgba(216, 181, 109, 0.48);
}

#character-admin #character-list > .player-card > div {
  padding: 20px;
}

#character-admin #character-list h3 {
  margin-top: 0;
  color: var(--admin-gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.3rem;
}

#character-admin #character-list p {
  color: var(--admin-muted);
  line-height: 1.65;
  overflow-wrap: anywhere;
}

#character-admin #character-list strong {
  color: #e0d7c8;
}

#character-admin #character-list a {
  color: #a9c9fa;
  text-decoration: none;
  overflow-wrap: anywhere;
}

#character-admin #character-list a:hover {
  text-decoration: underline;
}

#character-admin #character-list .form-actions {
  margin-top: 18px;
  padding-top: 16px;
}

#character-admin #character-list .form-actions .button {
  color: var(--admin-text);
  background: #292832;
  border: 1px solid #45424e;
}

#character-admin #character-list .form-actions .button:hover {
  border-color: var(--admin-gold);
}

/* Responsividade */

@media (max-width: 600px) {
  #character-admin {
    padding-top: 10px;
  }

  #character-admin > .form-card {
    padding: 22px 17px;
    border-radius: 12px;
  }

  #character-admin .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #character-admin .form-actions .button {
    width: 100%;
  }

  #character-admin #character-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  #character-admin *,
  #character-admin *::before,
  #character-admin *::after {
    transition-duration: 0.01ms !important;
  }
}


/* Blocos organizados do formulário de personagens */

#character-admin .character-form-section {
  min-width: 0;
  margin: 0 0 22px;
  padding: 20px 22px 24px;

  background: rgba(255, 255, 255, 0.015);
  border: 1px solid rgba(216, 181, 109, 0.19);
  border-radius: 11px;
}

#character-admin .character-form-section legend {
  padding: 0 10px;

  color: #e4c783;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.035em;
}

#character-admin .character-form-section label:first-of-type {
  margin-top: 10px;
}

#character-admin .character-form-section label {
  color: #d9d1c2;
}

#character-admin .character-form-section:focus-within {
  border-color: rgba(216, 181, 109, 0.42);
}

#character-admin .character-form-section input,
#character-admin .character-form-section select,
#character-admin .character-form-section textarea {
  width: 100%;
}

@media (max-width: 600px) {
  #character-admin .character-form-section {
    padding: 16px 13px 19px;
  }
}

/* Etapa 2 — acervo, partys e administração */
.character-mini-card { align-items: center; min-height: 96px; }
.character-mini-card .avatar { width: 68px; height: 68px; flex-basis: 68px; border-radius: 4px; }
.character-mini-info { min-width: 0; }
.character-mini-info h3 { margin-bottom: 4px; }
.character-mini-info p { font-size: 13px; margin-top: 2px; }
.character-card-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.admin-badge-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.admin-badge-layout .form-card { width: 100%; margin: 30px 0 0; }
.party-ranking-card { position: relative; display: flex; gap: 16px; align-items: flex-start; }
.party-rank { min-width: 36px; font: 700 18px Cinzel,serif; color: var(--accent-light); }
.party-members { margin-top: 9px !important; font-size: 12px; }
@media (max-width: 760px) { .admin-badge-layout { grid-template-columns: 1fr; } }

/* Etapa 2.1 — registro administrativo de Partys */
#party-admin > .form-card { max-width: 820px; margin: 0 auto; }
#party-admin .character-form-section { min-width: 0; margin: 0 0 22px; padding: 20px 22px 24px; background: rgba(255,255,255,.015); border: 1px solid rgba(216,181,109,.19); border-radius: 11px; }
#party-admin .character-form-section legend { padding: 0 10px; color: #e4c783; font-family: Georgia,"Times New Roman",serif; font-weight: 600; }
#party-admin .character-form-section input, #party-admin .character-form-section select, #party-admin .character-form-section textarea { width: 100%; }
#party-admin-list small { color: var(--muted); font-size: .75em; }

/* Etapa 2.2 — edição do próprio perfil */
.profile-edit-section { max-width: 900px; margin-inline: auto; }
.profile-edit-preview { margin: 24px 0; }
.profile-preview-card { max-width: 620px; cursor: default; }
.profile-preview-avatar { width: 82px; height: 82px; flex-basis: 82px; }
.profile-preview-bio { margin-top: 8px !important; white-space: pre-wrap; }
.profile-edit-form { max-width: 720px; margin: 24px 0 0; }
.profile-edit-form small { display: block; margin-top: 7px; color: var(--muted); }

/* Etapa 2.3 — rankings e gerenciamento */
.ranking-tabs { display:flex; gap:10px; flex-wrap:wrap; margin: 18px 0 24px; }
.ranking-tab.active { box-shadow: inset 0 0 0 1px currentColor; }
.ranking-panel[hidden] { display:none !important; }
.manage-player-card { cursor:default; align-items:center; }
.manage-player-info { flex:1; min-width:0; }
.manage-player-info h3 { margin-bottom:6px; }
.manage-player-info p { margin:4px 0; }
.manage-player-card .form-actions { margin-top:12px; }

.profile-type-section .choice-row{display:flex;align-items:center;gap:9px;margin:9px 0;cursor:pointer}.profile-type-section .choice-row input{width:auto!important;margin:0}.form-help{opacity:.72;margin:0 0 10px}

/* =========================
   MENU DE ADMINISTRAÇÃO
   ========================= */
.admin-menu { position: relative; display: inline-flex; align-items: center; }
.admin-menu-toggle { display:flex; align-items:center; gap:7px; padding:8px 0; border:0; background:transparent; color:#d8b56d; font:inherit; cursor:pointer; transition:color .2s ease, opacity .2s ease; }
.admin-menu-toggle:hover { color:#f0d89a; }
.admin-menu-arrow { font-size:.7em; transition:transform .2s ease; }
.admin-menu.open .admin-menu-arrow { transform:rotate(180deg); }
.admin-menu-dropdown { position:absolute; z-index:1000; top:calc(100% + 10px); right:0; display:none; min-width:220px; padding:7px; border:1px solid rgba(216,181,109,.22); border-radius:4px; background:#12110f; box-shadow:0 14px 35px rgba(0,0,0,.45); }
.admin-menu.open .admin-menu-dropdown { display:block; }
.admin-menu-dropdown a { display:block; padding:10px 12px; color:#bdb3a5; text-decoration:none; white-space:nowrap; border-radius:2px; transition:color .15s ease, background .15s ease; }
.admin-menu-dropdown a:hover { color:#e5c77c; background:rgba(216,181,109,.08); }

/* Tags de função dos jogadores */
.player-status-tags { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.status-tag { display:inline-flex; align-items:center; padding:4px 9px; border:1px solid rgba(216,181,109,.35); border-radius:999px; font-size:.72rem; font-weight:600; letter-spacing:.04em; color:#d8b56d; background:rgba(216,181,109,.06); }
.admin-tag { border-color:rgba(190,70,70,.55); color:#e58b8b; background:rgba(150,35,35,.12); text-transform:uppercase; }

/* Etapa 2.5 — participação visível e ações destrutivas */
.participation-field select { width:100%; min-height:52px; padding:0 14px; border:1px solid var(--line); background:#0d0c0a; color:var(--text); font:inherit; }
.participation-field select:focus { outline:none; border-color:rgba(216,181,109,.65); box-shadow:0 0 0 2px rgba(216,181,109,.08); }
.button-danger { border-color:rgba(190,70,70,.55)!important; color:#e58b8b!important; background:rgba(150,35,35,.10)!important; }
.button-danger:hover { background:rgba(150,35,35,.22)!important; color:#ffaaaa!important; }

/* Etapa 2.6 — Brasões progressivos, raridades e MVP */
.badge-frame{--rarity-main:#777;--rarity-dark:#222;--rarity-glow:transparent;position:relative;flex:0 0 auto;width:84px;height:84px;display:grid;place-items:center;border:3px solid var(--rarity-main);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.10),rgba(0,0,0,.46) 68%);box-shadow:inset 0 0 0 2px var(--rarity-dark),0 0 14px var(--rarity-glow);isolation:isolate}
.badge-frame::before,.badge-frame::after{content:"";position:absolute;pointer-events:none}.badge-frame::before{inset:5px;border:1px solid color-mix(in srgb,var(--rarity-main) 62%,transparent);border-radius:inherit}.badge-frame img{width:55%;height:55%;object-fit:contain;filter:invert(1);opacity:.92;position:relative;z-index:2}.badge-frame-small{width:68px;height:68px}.rarity-leather{--rarity-main:#795548;--rarity-dark:#34231d}.rarity-copper{--rarity-main:#b87333;--rarity-dark:#5e321d}.rarity-iron{--rarity-main:#777b7e;--rarity-dark:#303235}.rarity-bronze{--rarity-main:#cd7f32;--rarity-dark:#684018}.rarity-silver{--rarity-main:#c9c9c9;--rarity-dark:#5f6265}.rarity-gold{--rarity-main:#d6ad42;--rarity-dark:#705514;--rarity-glow:rgba(214,173,66,.2)}.rarity-platinum{--rarity-main:#e5e4e2;--rarity-dark:#858c91;--rarity-glow:rgba(229,228,226,.24)}.rarity-emerald{--rarity-main:#50c878;--rarity-dark:#11542f;--rarity-glow:rgba(80,200,120,.32)}.rarity-diamond{--rarity-main:#b9f2ff;--rarity-dark:#477c8b;--rarity-glow:rgba(185,242,255,.44)}.rarity-obsidian{--rarity-main:#574366;--rarity-dark:#08060b;--rarity-glow:rgba(137,72,174,.5)}
.rarity-bronze::after,.rarity-silver::after,.rarity-gold::after,.rarity-platinum::after,.rarity-emerald::after,.rarity-diamond::after,.rarity-obsidian::after{inset:-7px;border:1px solid color-mix(in srgb,var(--rarity-main) 58%,transparent);border-radius:50%;clip-path:polygon(42% 0,58% 0,62% 7%,93% 38%,100% 42%,100% 58%,93% 62%,62% 93%,58% 100%,42% 100%,38% 93%,7% 62%,0 58%,0 42%,7% 38%,38% 7%)}
.rarity-emerald::before,.rarity-diamond::before,.rarity-obsidian::before{box-shadow:0 -7px 0 -4px var(--rarity-main),7px 0 0 -4px var(--rarity-main),0 7px 0 -4px var(--rarity-main),-7px 0 0 -4px var(--rarity-main)}
.badge-mvp{--rarity-main:#d7ae4b;--rarity-dark:#5f1e17;--rarity-glow:rgba(218,68,45,.42);border-radius:42% 42% 50% 50%;background:radial-gradient(circle at 50% 35%,rgba(215,174,75,.22),rgba(91,18,18,.28) 45%,#090807 80%);animation:mvpPulse 3.4s ease-in-out infinite}.badge-mvp::after{inset:-8px;border:1px solid rgba(215,174,75,.55);clip-path:polygon(50% 0,61% 12%,79% 6%,82% 25%,100% 34%,89% 50%,100% 66%,82% 75%,79% 94%,61% 88%,50% 100%,39% 88%,21% 94%,18% 75%,0 66%,11% 50%,0 34%,18% 25%,21% 6%,39% 12%)}
.badge-card-tier{align-items:center}.badge-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:.82rem}.badge-meta strong{color:var(--accent-light)}.mvp-tag{border-color:rgba(215,174,75,.6);color:#f1d27d;background:rgba(122,30,22,.22)}.ranking-player-name,.profile-name-with-mvp{display:flex;align-items:center;gap:8px}.mvp-name-icon{display:inline-grid;place-items:center;width:25px;height:25px;filter:drop-shadow(0 0 6px rgba(215,174,75,.35));color:#e2bd5e}.mvp-name-icon img{max-width:100%;max-height:100%;object-fit:contain;filter:invert(78%) sepia(51%) saturate(558%) hue-rotate(358deg) brightness(92%)}.mvp-name-icon-large{width:34px;height:34px}.ranking-panel tbody tr:has(.mvp-name-icon){box-shadow:inset 3px 0 0 rgba(215,174,75,.72);background:linear-gradient(90deg,rgba(215,174,75,.06),transparent 38%)}
#badge-form select,#award-form select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);background:#0d0c0a;color:var(--text);font:inherit}
@keyframes mvpPulse{50%{box-shadow:inset 0 0 0 2px var(--rarity-dark),0 0 22px var(--rarity-glow)}}
@media(prefers-reduced-motion:reduce){.badge-mvp{animation:none}}

/* Etapa 2.7 — tela pessoal de Conquistas */
.achievements-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.achievements-heading>div:first-child{max-width:720px}.achievement-summary{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.achievement-summary>div{min-width:135px;padding:12px 16px;border:1px solid rgba(216,181,109,.18);background:rgba(255,255,255,.018);text-align:center}.achievement-summary strong{display:block;color:var(--accent-light);font:700 1.35rem Cinzel,Georgia,serif}.achievement-summary span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.achievement-card{display:flex;gap:20px;min-height:190px;padding:22px;border:1px solid rgba(216,181,109,.18);background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.008));transition:border-color .2s ease,transform .2s ease}.achievement-card.is-unlocked:hover{border-color:rgba(216,181,109,.36);transform:translateY(-2px)}.achievement-icon-wrap{display:flex;align-items:flex-start;justify-content:center;min-width:96px;padding-top:5px}.achievement-content{flex:1;min-width:0}.achievement-title-row{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.achievement-title-row h2{margin:0;font-size:1.08rem}.achievement-category{margin:5px 0 10px;color:var(--accent-light);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.achievement-description{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.achievement-state{display:inline-flex;padding:4px 8px;border:1px solid rgba(216,181,109,.3);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em}.achievement-state.unlocked{color:#d8b56d;background:rgba(216,181,109,.06)}.achievement-state.locked{color:#777;border-color:#444;background:rgba(255,255,255,.02)}.achievement-state.special{color:#f1d27d;border-color:rgba(215,174,75,.55);background:rgba(122,30,22,.2)}.badge-frame-locked{--rarity-main:#484848;--rarity-dark:#1c1c1c;--rarity-glow:transparent;filter:grayscale(1);opacity:.42}.badge-frame-locked img{filter:invert(1) grayscale(1);opacity:.62}.achievement-card.is-locked{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.01)}.achievement-card.is-locked .achievement-description{opacity:.6}.achievement-next{margin:14px 0 0;color:#777;font-size:.78rem}.achievement-next strong{color:#aaa}.achievement-progress{margin-top:16px}.achievement-progress-label{display:flex;justify-content:space-between;gap:14px;margin-bottom:7px;color:var(--muted);font-size:.74rem}.achievement-progress-label strong{color:var(--accent-light)}.achievement-progress-track{height:6px;overflow:hidden;border:1px solid rgba(216,181,109,.15);background:#0a0908}.achievement-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#705514,#d6ad42);box-shadow:0 0 8px rgba(214,173,66,.2)}.achievement-progress.maxed .achievement-progress-track span{background:linear-gradient(90deg,#33283d,#76508d)}.achievement-card.is-mvp.is-unlocked{border-color:rgba(215,174,75,.42);background:linear-gradient(135deg,rgba(122,30,22,.12),rgba(215,174,75,.035))}
@media(max-width:900px){.achievements-grid{grid-template-columns:1fr}.achievements-heading{align-items:flex-start;flex-direction:column}.achievement-summary{justify-content:flex-start}}
@media(max-width:560px){.achievement-card{flex-direction:column}.achievement-icon-wrap{justify-content:flex-start;min-width:0}.achievement-summary{width:100%}.achievement-summary>div{flex:1}.achievement-title-row{align-items:flex-start}}

/* Etapa 2.9 — Acervo de Partys */
.party-archive-heading p{max-width:720px;color:var(--muted)}
.party-archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:22px;margin-top:24px}
.party-archive-card{display:flex;gap:24px;min-height:280px;padding:26px;border:1px solid rgba(216,181,109,.22);background:linear-gradient(145deg,var(--surface-2),var(--surface));transition:transform .2s ease,border-color .2s ease}
.party-archive-card:hover{transform:translateY(-2px);border-color:rgba(216,181,109,.52)}
.party-archive-emblem{width:112px;height:112px;flex:0 0 112px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(216,181,109,.58);background:#17130f;color:var(--accent-light);font:700 34px Cinzel,serif;box-shadow:inset 0 0 0 4px rgba(0,0,0,.2)}
.party-archive-emblem img{width:100%;height:100%;object-fit:contain}
.party-archive-content{flex:1;min-width:0;display:flex;flex-direction:column}
.party-archive-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.party-archive-title-row h2{margin:6px 0 0;font-size:1.35rem;line-height:1.15}
.party-archive-kicker{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.party-acronym,.party-status{display:inline-flex;padding:3px 8px;border:1px solid rgba(216,181,109,.35);color:var(--accent-light);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.party-status{color:#a9c89d;border-color:rgba(125,174,107,.32);background:rgba(82,130,66,.08)}
.party-status.is-inactive{color:#aaa;border-color:#555;background:rgba(255,255,255,.02)}
.party-rank-box{min-width:112px;padding:9px 11px;border-left:1px solid rgba(216,181,109,.2);text-align:right}
.party-rank-box span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}
.party-rank-box strong{display:block;margin-top:3px;color:var(--accent-light);font:700 1.3rem Cinzel,serif}
.party-archive-description{margin:14px 0 0!important;color:var(--muted);line-height:1.5;font-size:.86rem}
.party-archive-stats{display:flex;gap:24px;margin-top:17px;padding:13px 0;border-top:1px solid rgba(216,181,109,.12);border-bottom:1px solid rgba(216,181,109,.12)}
.party-archive-stats div{display:flex;align-items:baseline;gap:7px}.party-archive-stats span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.party-archive-stats strong{color:var(--accent-light)}
.party-member-list{margin-top:14px}.party-member-label{display:block;margin-bottom:7px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.party-member-chips{display:flex;gap:6px;flex-wrap:wrap}.party-member-chips>span{padding:4px 7px;border:1px solid rgba(216,181,109,.16);background:rgba(255,255,255,.02);color:#c9c0b4;font-size:.74rem}.party-member-chips .party-no-members{opacity:.6;font-style:italic}
.party-archive-footer{margin-top:auto;padding-top:18px}.party-official-link{display:inline-flex;align-items:center;gap:7px;color:var(--accent-light);font-weight:700;text-decoration:none;letter-spacing:.03em}.party-official-link:hover{text-decoration:underline}.party-official-link.is-disabled{color:#666;font-weight:400;cursor:default}
@media(max-width:650px){.party-archive-card{flex-direction:column}.party-archive-emblem{width:96px;height:96px;flex-basis:96px}.party-archive-title-row{align-items:flex-start}.party-rank-box{min-width:auto}.party-archive-grid{grid-template-columns:1fr}}

/* Etapa 3.0 — moderação e sinais técnicos de contas */
.moderation-row{margin-top:12px}.moderation-row label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem}.moderation-row select{min-height:38px;padding:0 10px;border:1px solid var(--line);background:#0d0c0a;color:var(--text)}
.security-details{margin-top:14px;padding:11px 13px;border:1px solid rgba(216,181,109,.15);background:rgba(255,255,255,.012)}.security-details summary{cursor:pointer;color:var(--accent-light);font-weight:700;font-size:.82rem}.security-details summary span{color:var(--muted);font-weight:400}.security-match-list{display:grid;gap:7px;margin-top:12px}.security-match{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-left:2px solid #806d45;background:rgba(216,181,109,.035);font-size:.76rem}.security-match span{color:var(--muted);text-align:right}.security-match.is-banned{border-left-color:#b64b4b;background:rgba(150,35,35,.10)}.security-match.is-banned span{color:#e58b8b}.security-clear{margin-top:12px;color:#8fa786;font-size:.78rem}.security-note{margin:10px 0 0!important;color:#777!important;font-size:.7rem!important;line-height:1.45}

/* Etapa 3.1 — perfil social: personagens, publicações e mural */
.profile-hero-social{align-items:flex-start}.profile-hero-main{min-width:0;flex:1}.profile-username{display:inline-block;margin:-4px 0 10px;color:var(--accent-light);text-decoration:none;font-weight:700}.profile-username:hover{text-decoration:underline}.profile-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px}.profile-character-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(216,181,109,.17);background:rgba(255,255,255,.014)}.profile-character-avatar{width:58px;height:58px;flex:0 0 58px}.profile-character-info{min-width:0;flex:1}.profile-character-info h3{margin:0 0 3px;font-size:1rem}.profile-character-info p{margin:0 0 4px;color:var(--muted);font-size:.8rem}.profile-character-info span,.profile-no-sheet{color:var(--muted);font-size:.72rem}.button-small{padding:8px 10px;font-size:.72rem;white-space:nowrap}.profile-feed-tabs{display:flex;gap:8px;margin:20px 0;border-bottom:1px solid rgba(216,181,109,.18)}.profile-feed-tab{padding:11px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.profile-feed-tab span{margin-left:5px;color:#777;font-size:.72rem}.profile-feed-tab.active{color:var(--accent-light);border-bottom-color:var(--accent)}.profile-composer{margin-bottom:20px;padding:18px;border:1px solid rgba(216,181,109,.22);background:rgba(255,255,255,.015)}.profile-composer textarea{width:100%;resize:vertical;min-height:112px;padding:13px;border:1px solid var(--line);background:#0d0c0a;color:var(--text);font:inherit;line-height:1.55}.profile-composer textarea:focus{outline:none;border-color:rgba(216,181,109,.62)}.profile-composer-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.profile-composer-row>span{flex:1;color:var(--muted);font-size:.72rem}.image-picker{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid rgba(216,181,109,.28);color:var(--accent-light);font-size:.75rem;cursor:pointer}.image-picker input{display:none}.profile-post-list{display:grid;gap:16px}.profile-post{padding:18px;border:1px solid rgba(216,181,109,.16);background:linear-gradient(135deg,rgba(255,255,255,.02),rgba(255,255,255,.008))}.profile-post-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.profile-post-author{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.profile-post-avatar{width:42px;height:42px;flex:0 0 42px}.profile-post-author strong,.profile-post-author small{display:block}.profile-post-author small{margin-top:2px;color:var(--accent-light);font-size:.72rem}.profile-post-actions{display:flex;align-items:center;gap:10px}.profile-post-actions time{color:var(--muted);font-size:.7rem}.post-delete{border:0;background:transparent;color:#c87979;font:inherit;font-size:.7rem;cursor:pointer}.post-delete:hover{text-decoration:underline}.profile-post-content{margin-top:16px;color:#d5cec3;line-height:1.72;overflow-wrap:anywhere}.mention-link{color:var(--accent-light);font-weight:700;text-decoration:none}.mention-link:hover{text-decoration:underline}.profile-post-gallery{display:grid;gap:6px;margin-top:16px;overflow:hidden}.profile-post-gallery.gallery-1{grid-template-columns:1fr}.profile-post-gallery.gallery-2,.profile-post-gallery.gallery-4{grid-template-columns:repeat(2,1fr)}.profile-post-gallery.gallery-3{grid-template-columns:repeat(2,1fr)}.profile-post-gallery.gallery-3 a:first-child{grid-row:span 2}.profile-post-gallery a{display:block;min-height:180px;background:#090807}.profile-post-gallery img{display:block;width:100%;height:100%;max-height:480px;object-fit:cover}.profile-feed-empty,.profile-feed-note{padding:22px;border:1px dashed rgba(216,181,109,.16);color:var(--muted);text-align:center}.profile-feed-note{margin-bottom:16px}.profile-social-section{padding-bottom:70px}@media(max-width:650px){.profile-character-card{align-items:flex-start;flex-wrap:wrap}.profile-character-card .button-small{width:100%;text-align:center}.profile-post-head{align-items:flex-start}.profile-post-actions{align-items:flex-end;flex-direction:column}.profile-post-gallery.gallery-2,.profile-post-gallery.gallery-3,.profile-post-gallery.gallery-4{grid-template-columns:1fr}.profile-post-gallery.gallery-3 a:first-child{grid-row:auto}.profile-composer-row .button{width:100%}}

/* Etapa 3.2 — publicações estruturadas, galeria orgânica e menções */
.mentions-nav-link{display:inline-flex!important;align-items:center;gap:5px}.mentions-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent);color:#111;font-size:.64rem;font-weight:900}.composer-mode{display:flex;gap:7px;margin-bottom:14px}.composer-mode-btn{padding:8px 11px;border:1px solid rgba(216,181,109,.2);background:transparent;color:var(--muted);font:inherit;font-size:.76rem;cursor:pointer}.composer-mode-btn.active{border-color:rgba(216,181,109,.55);background:rgba(216,181,109,.08);color:var(--accent-light)}.structured-editor{display:grid;gap:14px}.structured-editor .field{margin:0}.structured-editor input,.structured-section-editor input,.structured-subsection-editor input{width:100%;padding:11px 12px;border:1px solid var(--line);background:#0d0c0a;color:var(--text);font:inherit}.structured-sections{display:grid;gap:12px}.structured-section-editor{padding:14px;border:1px solid rgba(216,181,109,.22);background:rgba(0,0,0,.16)}.structured-subsection-editor{margin:12px 0 0 18px;padding:12px;border-left:2px solid rgba(216,181,109,.32);background:rgba(255,255,255,.012)}.structured-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;color:var(--accent-light);font-size:.78rem}.subtopic-add{margin-top:10px;border:0;background:transparent;color:var(--accent-light);font:inherit;font-size:.75rem;cursor:pointer}.button-secondary{background:transparent!important}.profile-post-title{margin:16px 0 0;font-family:Georgia,serif;font-size:1.25rem}.post-preview-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.structured-post-meta{margin-top:13px;color:var(--muted);font-size:.74rem}.structured-open{display:inline-flex;margin-top:12px;text-decoration:none}.organic-gallery{display:block!important;columns:2 220px;column-gap:8px;overflow:visible!important}.organic-gallery a{display:block!important;min-height:0!important;margin:0 0 8px;break-inside:avoid;background:transparent!important}.organic-gallery img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;border:1px solid rgba(216,181,109,.1)}.selected-image-preview{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:10px}.selected-image-preview img{width:auto;max-width:160px;height:auto;max-height:180px;object-fit:contain;border:1px solid rgba(216,181,109,.18);background:#090807}.mention-field-wrap{position:relative}.mention-suggestions{position:absolute;z-index:20;left:0;right:0;top:100%;max-height:240px;overflow:auto;border:1px solid rgba(216,181,109,.3);background:#11100e;box-shadow:0 12px 30px rgba(0,0,0,.35)}.mention-suggestions button{display:flex;width:100%;justify-content:space-between;gap:15px;padding:10px 12px;border:0;border-bottom:1px solid rgba(216,181,109,.1);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.mention-suggestions button:hover{background:rgba(216,181,109,.08)}.mention-suggestions strong{color:var(--accent-light)}.mention-suggestions span{color:var(--muted);font-size:.75rem}.mention-validation{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.mention-token{padding:3px 7px;border-radius:99px;font-size:.68rem}.mention-token.valid{background:rgba(83,133,87,.15);color:#a9cbaa;border:1px solid rgba(100,160,105,.25)}.mention-token.invalid{background:rgba(150,70,70,.12);color:#c98c8c;border:1px solid rgba(180,90,90,.22)}.mention-valid{padding:0 2px;background:rgba(216,181,109,.07);border-bottom:1px solid rgba(216,181,109,.35)}.mention-invalid{color:#8a7f72;text-decoration:underline dotted}.publication-document{max-width:900px;margin:38px auto 80px}.publication-header{padding:24px;border:1px solid rgba(216,181,109,.18);background:rgba(255,255,255,.012)}.publication-header time{display:block;margin:14px 0;color:var(--muted);font-size:.72rem}.publication-header h1{margin:8px 0 14px;font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,3.2rem)}.publication-intro{color:#d5cec3;line-height:1.8}.publication-index{display:grid;gap:7px;margin:18px 0;padding:18px;border-left:2px solid var(--accent);background:rgba(216,181,109,.035)}.publication-index strong{margin-bottom:4px;color:var(--accent-light);text-transform:uppercase;letter-spacing:.09em;font-size:.7rem}.publication-index a{color:#cfc6b9;text-decoration:none}.publication-index a:hover{color:var(--accent-light)}.publication-sections{display:grid;gap:12px}.publication-section{border:1px solid rgba(216,181,109,.16);background:rgba(255,255,255,.01)}.publication-section summary{padding:16px 18px;color:var(--accent-light);font-family:Georgia,serif;font-size:1.25rem;font-weight:700;cursor:pointer}.publication-section-content{padding:0 18px 18px;line-height:1.8;color:#d5cec3}.publication-subsection{margin:0 18px 18px;padding:14px 16px;border-left:2px solid rgba(216,181,109,.3);background:rgba(0,0,0,.14)}.publication-subsection h3{margin:0 0 9px;color:#ddd2c1}.publication-subsection div{line-height:1.75;color:#cfc7bc}.mention-notification-list{display:grid;gap:9px;max-width:850px}.mention-notification{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(216,181,109,.14);background:rgba(255,255,255,.01);color:var(--text);text-decoration:none}.mention-notification.is-unread{border-color:rgba(216,181,109,.35);background:rgba(216,181,109,.045)}.mention-notification-avatar{width:44px;height:44px;flex:0 0 44px}.mention-notification-body{min-width:0;flex:1}.mention-notification-body small{display:block;margin-top:4px;color:var(--muted)}.mention-notification i{width:8px;height:8px;border-radius:50%;background:var(--accent)}
@media(max-width:650px){.organic-gallery{columns:1}.structured-subsection-editor{margin-left:8px}.selected-image-preview img{max-width:120px}.composer-mode{flex-direction:column}.publication-header{padding:18px}}

/* Etapa 3.3 — perfil enxuto + páginas de personagem */
.user-menu{position:relative;display:inline-flex}.user-menu-toggle,.admin-menu-toggle{border:0;background:transparent;color:var(--accent-light);font:inherit;cursor:pointer;padding:6px 4px}.user-menu-dropdown,.admin-menu-dropdown{position:absolute;z-index:100;top:calc(100% + 9px);right:0;display:none;min-width:190px;padding:7px;border:1px solid rgba(216,181,109,.25);background:#11100e;box-shadow:0 14px 34px rgba(0,0,0,.45)}.user-menu.open .user-menu-dropdown,.admin-menu.open .admin-menu-dropdown{display:grid}.user-menu-dropdown a,.admin-menu-dropdown a,.dropdown-logout{display:block;width:100%;padding:10px 11px;border:0;background:transparent;color:#d8d0c5;text-align:left;text-decoration:none;font:inherit;font-size:.8rem;cursor:pointer}.user-menu-dropdown a:hover,.admin-menu-dropdown a:hover,.dropdown-logout:hover{background:rgba(216,181,109,.08);color:var(--accent-light)}.menu-separator{height:1px;margin:5px 7px;background:rgba(216,181,109,.14)}
.composer-intro{display:grid;gap:4px;margin-bottom:12px}.composer-intro strong{color:var(--accent-light)}.composer-intro span{color:var(--muted);font-size:.78rem}.post-edit{border:0;background:transparent;color:var(--accent-light);font:inherit;font-size:.7rem;cursor:pointer}.post-edit:hover{text-decoration:underline}.profile-character-link{text-decoration:none;color:inherit}.profile-character-link:hover{border-color:rgba(216,181,109,.42);background:rgba(216,181,109,.035)}.character-open-arrow{color:var(--accent-light);font-size:.74rem;white-space:nowrap}.character-card-main{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;flex:1}.character-mini-card{display:flex;align-items:center;gap:12px}.character-card-actions{margin-left:auto}
.character-profile-hero{display:grid;grid-template-columns:210px 1fr;gap:30px;align-items:center;margin:40px 0;padding:28px;border:1px solid rgba(216,181,109,.2);background:linear-gradient(135deg,rgba(216,181,109,.04),rgba(255,255,255,.008))}.character-profile-portrait{width:210px;height:270px;border-radius:0}.character-profile-portrait img{object-fit:cover}.character-profile-hero h1{margin:6px 0;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.5rem)}.character-nickname{color:var(--accent-light);font-style:italic}.character-profile-hero .button{display:inline-flex;margin-top:16px;text-decoration:none}.character-overview{margin:25px 0 35px}.character-description{padding:20px;border-left:2px solid var(--accent);background:rgba(216,181,109,.025);line-height:1.8;color:#d5cec3}.character-tabs{display:flex;gap:5px;border-bottom:1px solid rgba(216,181,109,.18);margin-bottom:18px}.character-tab{padding:12px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.character-tab.active{color:var(--accent-light);border-bottom-color:var(--accent)}.character-entry-form{display:grid;gap:10px;margin-bottom:20px;padding:16px;border:1px solid rgba(216,181,109,.18);background:rgba(255,255,255,.012)}.character-entry-form input,.character-entry-form textarea{width:100%;padding:12px;border:1px solid var(--line);background:#0d0c0a;color:var(--text);font:inherit}.character-entry-form textarea{resize:vertical;line-height:1.6}.character-entry-form .button{justify-self:start}.character-entry-list{display:grid;gap:12px}.character-entry{padding:18px;border:1px solid rgba(216,181,109,.16);background:rgba(255,255,255,.012)}.character-entry-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.character-entry-head h3{margin:0;color:var(--accent-light);font-family:Georgia,serif;font-size:1.25rem}.character-entry-content{margin-top:12px;line-height:1.8;color:#d5cec3;overflow-wrap:anywhere}
@media(max-width:700px){.character-profile-hero{grid-template-columns:1fr}.character-profile-portrait{width:100%;height:auto;aspect-ratio:4/5}.character-tabs{overflow-x:auto}.character-tab{white-space:nowrap}.character-open-arrow{width:100%}}


/* Hotfix 3.3.1 — menu do usuário na topbar */
[data-auth-area]{display:inline-flex;align-items:center;gap:10px;margin-left:8px}
.user-menu{position:relative;display:inline-flex;align-items:center}
.user-menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 11px;border:1px solid rgba(216,181,109,.24);border-radius:3px;background:rgba(216,181,109,.045);color:#e4c783;font:inherit;font-size:.82rem;font-weight:600;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.user-menu-toggle:hover,.user-menu.open .user-menu-toggle{background:rgba(216,181,109,.10);border-color:rgba(216,181,109,.48);color:#f0d89a}
.user-menu .admin-menu-arrow{font-size:.68em}
.user-menu.open .admin-menu-arrow{transform:rotate(180deg)}
.user-menu-dropdown{z-index:1100;min-width:205px}
.mentions-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d8b56d;color:#111;font-size:.64rem;font-weight:800}
@media(max-width:900px){[data-auth-area]{margin-left:0;gap:6px}.user-menu-toggle{padding:7px 8px}}
\n/* Etapa 4 — moderação de personagens */
.character-request-form{max-width:820px;margin:0 0 32px}.request-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.request-list{display:grid;gap:16px;max-width:1050px}.request-card{padding:20px;border:1px solid rgba(216,181,109,.2);background:rgba(255,255,255,.012)}.request-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.request-card-head h2{margin:8px 0 4px;font-family:Georgia,serif}.request-card-head p{margin:0;color:var(--muted);font-size:.78rem}.request-state{padding:5px 9px;border:1px solid rgba(216,181,109,.2);text-transform:uppercase;font-size:.65rem;letter-spacing:.08em}.request-state.approved{color:#9fc7a1;border-color:rgba(100,160,105,.35)}.request-state.rejected{color:#d49494;border-color:rgba(180,90,90,.35)}.request-state.cancelled{color:var(--muted)}.request-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.request-compare>div{padding:14px;border:1px solid rgba(216,181,109,.13);background:rgba(0,0,0,.12)}.request-payload{display:grid;grid-template-columns:minmax(110px,.35fr) 1fr;gap:6px 12px;margin:0}.request-payload dt{color:var(--accent-light);font-size:.72rem}.request-payload dd{margin:0;overflow-wrap:anywhere;color:#d4ccc0}.button-danger{border-color:rgba(180,90,90,.4)!important;color:#d79a9a!important}@media(max-width:700px){.request-form-grid,.request-compare{grid-template-columns:1fr}.request-card-head{flex-direction:column}.request-payload{grid-template-columns:1fr}.request-payload dt{margin-top:7px}}\n
/* Etapa 5 — Portal vivo */
.timeline{position:relative;display:grid;gap:0;max-width:1000px;margin:30px auto}.timeline:before{content:"";position:absolute;left:125px;top:0;bottom:0;width:1px;background:rgba(216,181,109,.24)}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:30px;padding:0 0 28px}.timeline-date{padding-top:18px;color:var(--muted);font-size:.72rem;text-align:right}.timeline-card{position:relative;padding:20px;border:1px solid rgba(216,181,109,.18);background:rgba(255,255,255,.012)}.timeline-card:before{content:"";position:absolute;left:-36px;top:22px;width:11px;height:11px;border:2px solid var(--accent);border-radius:50%;background:#0c0b09}.timeline-card img{width:100%;max-height:260px;object-fit:cover;margin-bottom:16px}.timeline-card h2{margin:6px 0}.timeline-card h2 a{color:var(--accent-light);text-decoration:none}.event-page{max-width:950px;margin:40px auto 80px}.event-banner{width:100%;max-height:430px;object-fit:cover;border:1px solid var(--line)}.event-page h1{font:700 clamp(2.2rem,6vw,4.2rem) Georgia,serif}.event-lead{font-size:1.12rem;color:#d8d0c5;line-height:1.7}.prose{line-height:1.9;color:#d3cbc0}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.tag-chip{display:inline-flex;padding:6px 9px;border:1px solid rgba(216,181,109,.2);background:rgba(216,181,109,.04);color:var(--accent-light);font-size:.72rem;text-decoration:none}.global-search{display:flex;gap:10px;max-width:950px;margin-bottom:28px}.global-search input{flex:1;padding:14px;border:1px solid var(--line);background:#0d0c0a;color:var(--text);font:inherit}.explore-section{margin:30px 0}.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.archive-card{display:grid;gap:6px;padding:17px;border:1px solid rgba(216,181,109,.16);background:rgba(255,255,255,.012);color:var(--text);text-decoration:none}.archive-card:hover{border-color:rgba(216,181,109,.4)}.archive-card span{color:var(--muted);font-size:.76rem}.admin-split{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;margin-bottom:35px}.form-stack{display:grid;gap:11px}.form-stack input,.form-stack textarea,.form-stack select,.inline-community-form input,.inline-community-form textarea{width:100%;padding:11px;border:1px solid var(--line);background:#0d0c0a;color:var(--text);font:inherit}.character-quote{margin:12px 0;padding-left:14px;border-left:2px solid var(--accent);color:#cfc5b7;font:italic 1rem Georgia,serif}.character-community{border-top:1px solid rgba(216,181,109,.14)}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.relation-row,.scene-row{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid rgba(216,181,109,.1);color:inherit;text-decoration:none}.relation-row span,.scene-row span{color:var(--muted);font-size:.76rem}.scene-row a{color:var(--accent-light);font-size:.72rem}.inline-community-form{display:grid;gap:9px;margin-top:24px;padding:16px;border:1px solid rgba(216,181,109,.16)}.regulation{max-width:950px}.regulation .panel{margin:16px 0;line-height:1.8}
@media(max-width:800px){.timeline:before{left:6px}.timeline-item{grid-template-columns:1fr;padding-left:26px}.timeline-date{text-align:left;padding:0}.timeline-card:before{left:-27px}.admin-split,.community-grid{grid-template-columns:1fr}.global-search{flex-direction:column}}

/* Etapa 5.1 — navegação compacta e homepage */
.nav-more{position:relative;color:var(--muted)}
.nav-more summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;user-select:none;white-space:nowrap}
.nav-more summary::-webkit-details-marker{display:none}.nav-more[open] summary,.nav-more summary:hover{color:var(--accent-light)}
.nav-more-menu{position:absolute;z-index:1200;top:calc(100% + 14px);right:0;display:grid;min-width:210px;padding:7px;border:1px solid rgba(216,181,109,.25);background:#11100e;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.nav-more-menu a{padding:10px 11px!important;white-space:nowrap}.nav-more-menu a:hover{background:rgba(216,181,109,.08)}
[data-auth-area]{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.home-hero{position:relative;padding:92px 0 68px;border-bottom:1px solid rgba(216,181,109,.12);background:radial-gradient(circle at 75% 25%,rgba(216,181,109,.08),transparent 33%),linear-gradient(180deg,rgba(255,255,255,.018),transparent)}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:70px;align-items:end}.home-hero h1{margin:8px 0 18px;font:700 clamp(3.8rem,8vw,7.4rem)/.9 Cinzel,Georgia,serif;letter-spacing:-.035em}.home-lead{max-width:720px;margin:0;color:#cfc6b9;font-size:1.08rem;line-height:1.75}.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.home-manifesto{padding:24px 0 5px 24px;border-left:1px solid rgba(216,181,109,.28)}.home-manifesto p{color:#c7bfb4;line-height:1.7}.home-manifesto a,.home-heading-row a{color:var(--accent-light);text-decoration:none}.home-portals{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(216,181,109,.16)}.home-portal-card{min-height:220px;padding:25px;border-right:1px solid rgba(216,181,109,.16);color:inherit;text-decoration:none;transition:background .18s ease,transform .18s ease}.home-portal-card:last-child{border-right:0}.home-portal-card:hover{background:rgba(216,181,109,.045)}.home-portal-card>span{color:#806e49;font:700 .7rem Cinzel,serif;letter-spacing:.12em}.home-portal-card h2{margin:42px 0 10px;font:700 1.3rem Cinzel,serif}.home-portal-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}.home-dashboard{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:48px}.home-heading-row{display:flex;justify-content:space-between;align-items:end}.home-heading-row h2{margin-bottom:0}.home-events{display:grid;gap:10px}.home-event{display:block;padding:14px 0;border-bottom:1px solid rgba(216,181,109,.13);color:inherit;text-decoration:none}.home-event small{display:block;margin-bottom:5px;color:#8f7b50;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.home-event strong{display:block;font-family:Cinzel,serif}.home-event p{margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.home-discover{margin-bottom:65px;padding-top:48px;padding-bottom:48px;border-top:1px solid rgba(216,181,109,.15);border-bottom:1px solid rgba(216,181,109,.15);text-align:center}.home-discover h2{margin:10px 0;font:700 clamp(1.8rem,4vw,3rem) Cinzel,serif}.home-discover p{color:var(--muted)}.home-discover .home-actions{justify-content:center}
@media(max-width:1000px){.home-portals{grid-template-columns:repeat(2,1fr)}.home-portal-card:nth-child(2){border-right:0}.home-portal-card:nth-child(-n+2){border-bottom:1px solid rgba(216,181,109,.16)}.home-dashboard,.home-hero-grid{grid-template-columns:1fr}.home-hero-grid{gap:38px}.home-manifesto{max-width:650px}}
@media(max-width:800px){.nav-more-menu{left:0;right:auto}.nav-links{scrollbar-width:thin}.home-hero{padding:60px 0 45px}}
@media(max-width:580px){.home-portals{grid-template-columns:1fr}.home-portal-card{border-right:0!important;border-bottom:1px solid rgba(216,181,109,.16)!important;min-height:180px}.home-portal-card:last-child{border-bottom:0!important}.home-heading-row{align-items:flex-start;flex-direction:column;gap:8px}}
\n\n/* Etapa 5.2 — topbar consistente + editor horizontal de Crônicas */\n.nav-links{display:flex;align-items:center;gap:20px;min-width:0}\n.nav-links>a,.nav-more>summary{white-space:nowrap}\n.nav-links>[data-auth-area]{display:inline-flex;align-items:center;gap:12px}\n.nav-archive .nav-more-menu{right:0}\n\n.chronicles-admin-page{max-width:1240px}\n.chronicles-admin-heading{position:relative;margin-bottom:30px;padding-right:190px}\n.chronicles-admin-heading .text-link{position:absolute;right:0;bottom:4px;color:var(--accent-light);font-size:.78rem;text-decoration:none}\n.chronicle-admin-card{margin:0 0 22px;padding:24px;border:1px solid rgba(216,181,109,.18);background:linear-gradient(135deg,rgba(216,181,109,.035),rgba(255,255,255,.008))}\n.chronicle-card-title{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(216,181,109,.13)}\n.chronicle-card-index{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(216,181,109,.3);color:var(--accent-light);font:700 .72rem Cinzel,Georgia,serif}\n.chronicle-card-title h2{margin:3px 0 5px;font:700 1.45rem Cinzel,Georgia,serif}\n.chronicle-card-title p,.event-narrative-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}\n.season-fields{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(145px,.55fr) minmax(145px,.55fr) minmax(190px,.7fr);gap:14px;align-items:end}\n.season-fields label,.event-form-card label{display:grid;gap:7px;color:#cfc6b9;font-size:.73rem}\n.season-fields label>span,.event-form-card label>span{color:#b9ad9d}\n.season-fields input,.season-fields textarea,.event-form-card input,.event-form-card select,.event-form-card textarea,.event-narrative-card textarea{width:100%;padding:11px 12px;border:1px solid var(--line);background:#0d0c0a;color:var(--text);font:inherit}\n.season-fields .field-description{grid-column:1/4}\n.current-season-toggle{display:flex!important;align-items:center;gap:9px!important;min-height:43px;padding:0 12px;border:1px solid rgba(216,181,109,.12);background:rgba(0,0,0,.13)}\n.current-season-toggle input{width:auto}\n.card-action{display:flex;align-items:center;gap:12px;justify-content:flex-end;min-height:100%}\n.card-action .status{margin:0}\n.event-editor-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}\n.event-form-card{display:grid;align-content:start;gap:13px;padding:18px;border:1px solid rgba(216,181,109,.13);background:rgba(0,0,0,.13)}\n.event-form-kicker{color:#8f7b50;font:700 .66rem Cinzel,Georgia,serif;letter-spacing:.12em;text-transform:uppercase}\n.event-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n.event-form-card select[multiple]{min-height:126px}\n.event-form-card small{color:#756d63;font-size:.65rem}\n.event-narrative-card{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start;margin-top:14px;padding:18px;border:1px solid rgba(216,181,109,.13);background:rgba(0,0,0,.13)}\n.event-narrative-card h3{margin:5px 0 7px;font:700 1rem Cinzel,Georgia,serif}\n.event-submit-row{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:16px}\n.event-submit-row .status{margin:0}\n.chronicles-existing{margin-top:44px}.compact-heading{margin-bottom:15px}.compact-heading h2{margin-top:5px}\n@media(max-width:1100px){.nav-links{gap:13px;font-size:.78rem}.event-editor-grid{grid-template-columns:1fr 1fr}.event-form-card:last-child{grid-column:1/-1}.season-fields{grid-template-columns:1.5fr 1fr 1fr}.current-season-toggle{grid-column:1/2}.season-fields .field-description{grid-column:1/3}.card-action{grid-column:3/4}}\n@media(max-width:800px){.nav-links{overflow-x:auto;padding-bottom:4px}.chronicles-admin-heading{padding-right:0}.chronicles-admin-heading .text-link{position:static;display:inline-block;margin-top:10px}.season-fields,.event-editor-grid,.event-narrative-card{grid-template-columns:1fr}.season-fields .field-description,.current-season-toggle,.card-action,.event-form-card:last-child{grid-column:auto}.event-inline-fields{grid-template-columns:1fr 1fr}.card-action,.event-submit-row{justify-content:flex-start}}\n

/* Etapa 5.3 — formulários horizontais e gestão contextual de Brasões */
.character-form-horizontal{max-width:1180px!important;margin:26px 0 34px!important;padding:26px!important}
.character-form-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(216,181,109,.16)}
.character-form-heading h2{margin:4px 0 0}.character-form-heading .form-help{max-width:560px;margin:0;text-align:right}
.character-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 20px;align-items:start}
.character-form-grid .field{margin:0}.character-form-grid .span-2{grid-column:span 2}.character-form-grid .span-full{grid-column:1/-1}
.character-form-grid input,.character-form-grid select,.character-form-grid textarea{width:100%;box-sizing:border-box}
.locked-field{min-height:48px;display:flex;align-items:center;padding:0 13px;border:1px solid rgba(216,181,109,.16);background:rgba(255,255,255,.025);color:#d9d1c2}
.character-form-actions{justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid rgba(216,181,109,.12)}
.admin-context-tools{margin:22px 0;padding:20px;border:1px solid rgba(216,181,109,.24);background:linear-gradient(135deg,rgba(216,181,109,.055),rgba(255,255,255,.01))}
.admin-context-tools-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-context-tools-head h3{margin:0}.admin-context-tools-head p{margin:4px 0 0;color:var(--muted);font-size:.84rem}
.badge-manager{margin-top:16px}.badge-manager-grid{display:grid;grid-template-columns:1.2fr 1.5fr .8fr .8fr auto;gap:12px;align-items:end}.badge-manager-grid .field{margin:0}
.badge-manager-current{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.badge-manager-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid rgba(216,181,109,.13);background:rgba(0,0,0,.12)}.badge-manager-item p{margin:2px 0 0;color:var(--muted);font-size:.76rem}
.modal-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.modal-backdrop[hidden]{display:none}.modal-panel{width:min(1080px,100%);max-height:90vh;overflow:auto;padding:26px;border:1px solid rgba(216,181,109,.3);background:#11100e;box-shadow:0 25px 80px rgba(0,0,0,.6)}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin:4px 0 0}.modal-close{border:0;background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer}
.character-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.character-edit-grid .field{margin:0}.character-edit-grid .span-2{grid-column:span 2}.character-edit-grid .span-full{grid-column:1/-1}
@media(max-width:900px){.character-form-grid,.character-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-manager-grid{grid-template-columns:1fr 1fr}.badge-manager-grid .button{grid-column:1/-1}.badge-manager-current{grid-template-columns:1fr}}
@media(max-width:620px){.character-form-horizontal{padding:18px!important}.character-form-heading{display:block}.character-form-heading .form-help{text-align:left;margin-top:10px}.character-form-grid,.character-edit-grid,.badge-manager-grid{grid-template-columns:1fr}.character-form-grid .span-2,.character-edit-grid .span-2{grid-column:auto}.character-form-grid .span-full,.character-edit-grid .span-full{grid-column:auto}.character-form-actions{justify-content:stretch}.character-form-actions .button{width:100%}}

/* Etapa 5.4 — cadastros amplos, responsivos e contraste de interface */
.button-secondary{background:transparent!important;color:var(--accent-light)!important;border-color:var(--accent)!important}
.button-secondary:hover{background:rgba(216,181,109,.09)!important;color:#f0d995!important}
.field small,.form-help,.character-form-grid small,.registration-form-wide small{display:block;margin-top:6px;color:#aaa092;font-size:.72rem;line-height:1.5}
.field input::placeholder,.field textarea::placeholder,.registration-form-wide input::placeholder,.registration-form-wide textarea::placeholder{color:#81786d;opacity:1}
select option{background:#11100e;color:var(--text)}

/* O formulário de personagem deve ocupar a largura útil do acervo. */
#character-player-create .character-request-form,#character-admin>.character-form-horizontal{width:100%;max-width:none!important;margin:24px 0 38px!important}
#character-player-create .character-form-grid{grid-template-columns:minmax(220px,1.6fr) minmax(170px,.8fr) minmax(170px,.8fr) minmax(190px,.9fr)}
#character-player-create .locked-field{min-height:46px}

/* Linguagem visual compartilhada por telas de cadastro. */
.registration-page{padding:46px 0 70px}
.registration-form-wide{width:100%!important;max-width:none!important;margin:0!important;padding:28px!important}
.registration-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid rgba(216,181,109,.16)}
.registration-form-heading h1,.registration-form-heading h2{margin:5px 0 0}
.registration-form-heading h1{font-size:clamp(2rem,4vw,3.4rem)}
.registration-form-heading>p{max-width:520px;margin:0;color:var(--muted);font-size:.82rem;text-align:right;line-height:1.65}
.registration-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(216,181,109,.13)}

/* Cadastro de conta: três colunas no desktop, sem a coluna estreita antiga. */
.account-register-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;align-items:start}
.account-register-grid>.field{margin:0}.account-register-grid>.span-2{grid-column:span 2}
.account-register-grid .profile-type-section{height:100%;margin:0;padding:17px 19px;background:rgba(255,255,255,.012)}
.account-register-grid .profile-type-section .form-help{margin:2px 0 10px}

/* Registro de Party: blocos lado a lado aproveitando a borda externa. */
#party-admin>.party-form-wide{width:100%;max-width:none;margin:0 0 42px;padding:28px}
.party-form-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.55fr) minmax(190px,.65fr);gap:18px;align-items:stretch}
#party-admin .party-form-grid .character-form-section{margin:0;padding:20px;height:100%}
#party-admin .party-form-grid label{display:block;margin:10px 0 6px;color:#cfc6b9;font-size:.76rem}
#party-admin .party-form-grid input,#party-admin .party-form-grid select,#party-admin .party-form-grid textarea{padding:11px 12px;background:#0d0c0a;color:var(--text);border:1px solid var(--border);font:inherit}
#party-admin .party-form-grid textarea{min-height:118px;resize:vertical}
#party-admin .party-form-grid small{color:#aaa092}

@media(max-width:950px){
  #character-player-create .character-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-register-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .party-form-grid{grid-template-columns:1fr 1fr}.party-control{grid-column:1/-1}
}
@media(max-width:650px){
  .registration-page{padding:24px 0 50px}.registration-form-wide{padding:18px!important}
  .registration-form-heading{display:block}.registration-form-heading>p{margin-top:10px;text-align:left}
  #character-player-create .character-form-grid,.account-register-grid,.party-form-grid{grid-template-columns:1fr}
  .account-register-grid>.span-2,.party-control{grid-column:auto}
  #character-player-create .character-form-grid .span-2,#character-player-create .character-form-grid .span-full{grid-column:auto}
  .registration-form-actions{align-items:stretch;flex-direction:column}.registration-form-actions .button{width:100%}
  #party-admin>.party-form-wide{padding:18px}
}

/* Etapa 5.5 — solicitações de progresso */
.badge-progress-request-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);gap:16px;align-items:end}.badge-progress-request-form .span-full{grid-column:1/-1}.badge-current-value{margin:0;color:var(--muted,#b9ad91)}.request-progress-number{font-size:clamp(1.5rem,3vw,2.35rem);color:var(--gold,#d7b56d)}@media(max-width:720px){.badge-progress-request-form{grid-template-columns:1fr}}

/* Etapa 5.6 — Iconografia e UX */
.ui-icon{width:1.08em;height:1.08em;display:inline-block;flex:0 0 auto;vertical-align:-.14em;color:currentColor}
.nav-links>a,.nav-more>summary,.user-menu-dropdown a,.admin-menu-dropdown a,.dropdown-logout,.user-menu-toggle,.admin-menu-toggle{display:inline-flex;align-items:center;gap:7px}
.nav-links>a .ui-icon,.nav-more>summary .ui-icon{width:15px;height:15px;opacity:.72;transition:opacity .18s,color .18s}
.nav-links>a:hover .ui-icon,.nav-more>summary:hover .ui-icon{opacity:1;color:var(--accent-light)}
.nav-more>summary .nav-chevron,.user-menu-toggle .nav-chevron,.admin-menu-toggle .nav-chevron{width:12px;height:12px;margin-left:1px;opacity:.65}
.user-menu-dropdown a,.admin-menu-dropdown a,.dropdown-logout{width:100%}
.user-menu-dropdown .ui-icon,.admin-menu-dropdown .ui-icon,.dropdown-logout .ui-icon{width:16px;height:16px;color:#a99570}
.post-social{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding-top:12px;border-top:1px solid rgba(216,181,109,.12)}
.post-reactions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.reaction-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:42px;height:32px;padding:0 9px;border:1px solid transparent;border-radius:3px;background:transparent;color:#91897e;font:inherit;font-size:.72rem;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s}
.reaction-button .ui-icon{width:17px;height:17px}.reaction-button:hover:not(:disabled){color:var(--accent-light);border-color:rgba(216,181,109,.24);background:rgba(216,181,109,.055);transform:translateY(-1px)}
.reaction-button.active{color:var(--accent-light);border-color:rgba(216,181,109,.32);background:rgba(216,181,109,.09)}
.reaction-button.active .ui-icon{filter:drop-shadow(0 0 4px rgba(216,181,109,.22))}.reaction-button:disabled{opacity:.42;cursor:not-allowed}
.post-comments-details{margin-left:auto}.post-comments-details>summary{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;color:#a79d90;font-size:.72rem;cursor:pointer;list-style:none;border-radius:3px;transition:color .16s,background .16s}.post-comments-details>summary::-webkit-details-marker{display:none}.post-comments-details>summary:hover{color:var(--accent-light);background:rgba(216,181,109,.05)}.post-comments-details>summary .ui-icon{width:17px;height:17px}.post-comments-details[open]{width:100%;margin-top:10px}.post-comments-details[open]>summary{margin-left:auto}.post-comments{margin-top:10px;padding-top:12px;border-top:1px solid rgba(216,181,109,.1)}
.post-icon-action{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:#938a7e;cursor:pointer;transition:color .16s,background .16s,border-color .16s}.post-icon-action .ui-icon{width:15px;height:15px}.post-icon-action:hover{color:var(--accent-light);background:rgba(216,181,109,.055);border-color:rgba(216,181,109,.16)}.post-icon-action.danger:hover{color:#d98d86;border-color:rgba(217,141,134,.18);background:rgba(217,141,134,.055)}
@media(max-width:800px){.nav-links>a .ui-icon{display:none}.nav-more>summary .ui-icon:not(.nav-chevron){display:none}.post-social{align-items:flex-start;flex-wrap:wrap}.post-comments-details{margin-left:0}.reaction-button{min-width:40px;padding:0 8px}.user-menu-dropdown .ui-icon,.admin-menu-dropdown .ui-icon,.dropdown-logout .ui-icon{display:inline-block}}

/* =========================================================
   Tales of Vanity 6.0 — UX Overhaul
   ========================================================= */
:root{--focus-ring:rgba(226,194,126,.55);--surface-raised:#151310;--danger:#d98d86;--success:#9fbd8d}
html{scroll-behavior:smooth}body{overflow-x:hidden}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus-ring)!important;outline-offset:3px}
.nav-links>a.is-current{color:var(--accent-light)}.nav-links>a.is-current:after{content:"";height:1px;background:var(--accent);position:absolute;left:10px;right:10px;bottom:-9px;opacity:.7}.nav-links>a{position:relative}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button-with-icon .ui-icon{width:16px;height:16px}.button:disabled,.button.is-busy{opacity:.58;cursor:wait}.button.is-busy:after{content:"";width:12px;height:12px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tov-spin .65s linear infinite}@keyframes tov-spin{to{transform:rotate(360deg)}}
.required-mark{color:var(--accent-light);font-weight:700}.field input,.field select,.field textarea{transition:border-color .16s,box-shadow .16s,background .16s}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(216,181,109,.52)!important;box-shadow:0 0 0 3px rgba(216,181,109,.06);background:#100f0c}.field input:invalid:not(:placeholder-shown){border-color:rgba(217,141,134,.42)}
.ux-breadcrumbs{display:flex;align-items:center;gap:8px;padding:22px 0 0;color:#766f65;font-size:.7rem;letter-spacing:.04em}.ux-breadcrumbs a{color:#9e9384;text-decoration:none}.ux-breadcrumbs a:hover{color:var(--accent-light)}.ux-breadcrumbs span[aria-current]{color:#b7ab9a}
.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}
.toast-region{position:fixed;z-index:9999;right:20px;bottom:20px;display:grid;gap:9px;width:min(390px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid rgba(216,181,109,.22);background:rgba(18,16,13,.97);color:#d9d0c3;box-shadow:0 14px 45px rgba(0,0,0,.42);opacity:0;transform:translateY(8px);transition:.2s ease;font-size:.78rem;line-height:1.45}.toast.show{opacity:1;transform:none}.toast .ui-icon{margin-top:1px;color:var(--accent-light)}.toast-success{border-color:rgba(159,189,141,.3)}.toast-success .ui-icon{color:var(--success)}.toast-error{border-color:rgba(217,141,134,.32)}.toast-error .ui-icon{color:var(--danger)}
.ux-empty-state{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:130px;padding:28px!important;text-align:center!important;border:1px dashed rgba(216,181,109,.15);background:rgba(255,255,255,.012);color:#8f867a!important}.ux-empty-state .ui-icon{width:24px;height:24px;color:#8f7c58}
.card,.panel,.form-card,.character-form-horizontal,.registration-form-wide,.home-portal-card,.player-card,.character-card{transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.home-portal-card:hover,.player-card:hover,.character-card:hover{border-color:rgba(216,181,109,.28);transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.mobile-nav-toggle{display:none;width:40px;height:40px;place-items:center;border:1px solid rgba(216,181,109,.18);background:transparent;color:var(--accent-light);cursor:pointer}.mobile-nav-toggle .ui-icon{width:20px;height:20px}
.modal-backdrop{animation:tov-fade .15s ease}.modal-panel{animation:tov-rise .2s ease}@keyframes tov-fade{from{opacity:0}}@keyframes tov-rise{from{opacity:0;transform:translateY(8px)}}
.global-search{align-items:stretch}.global-search input{min-height:44px}.global-search .button{min-height:44px}
.section-heading h1,.section-heading h2,.character-form-heading h2,.registration-form-heading h1,.registration-form-heading h2{letter-spacing:.01em}
@media(max-width:820px){.nav{min-height:62px;position:relative}.mobile-nav-toggle{display:grid;margin-left:auto}.nav-links{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 1px);z-index:1000;flex-direction:column;align-items:stretch;padding:10px;border:1px solid rgba(216,181,109,.2);background:#100f0d;box-shadow:0 18px 50px rgba(0,0,0,.5)}.nav.mobile-open .nav-links{display:flex}.nav-links>a,.nav-more>summary{min-height:42px;padding:10px 11px}.nav-links>a .ui-icon,.nav-more>summary .ui-icon:not(.nav-chevron){display:inline-block}.nav-links>a.is-current:after{display:none}.nav-more{width:100%}.nav-more-menu{position:static!important;width:100%;box-shadow:none!important;margin-top:3px}.nav-links>[data-auth-area]{display:flex;flex-direction:column;gap:7px;width:100%}.user-menu,.admin-menu{width:100%}.user-menu-toggle,.admin-menu-toggle{width:100%;justify-content:space-between;min-height:42px}.user-menu-dropdown,.admin-menu-dropdown{position:static!important;width:100%!important;margin-top:4px}.ux-breadcrumbs{padding-top:16px}.toast-region{right:16px;bottom:16px}.modal-backdrop{padding:0;align-items:end}.modal-panel{width:100%;max-height:92vh;border-left:0;border-right:0;border-bottom:0;border-radius:12px 12px 0 0}.global-search{display:grid!important;grid-template-columns:1fr}.global-search .button{width:100%}}
@media(max-width:520px){.container{width:min(100% - 28px,var(--container,1200px))}.section{padding-top:30px;padding-bottom:38px}.form-card,.panel,.character-form-horizontal,.registration-form-wide{padding:17px!important}.button{min-height:44px}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button{width:100%}.toast-region{width:calc(100vw - 24px);right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Tales of Vanity 7.0 — Portal Vivo */
.activity-timeline{display:grid;gap:.65rem}.activity-item{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid var(--line,#493b2d);border-radius:12px;background:rgba(255,255,255,.018);color:inherit;text-decoration:none}.activity-item:hover{transform:translateY(-1px);border-color:var(--gold,#b99a5d)}.activity-mark{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;color:var(--gold,#c5a56a);flex:none}.activity-item small{display:block;opacity:.58;margin-top:.25rem}.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.highlight-card{min-height:190px;padding:1.2rem;border:1px solid var(--line,#493b2d);border-radius:16px;text-decoration:none;color:inherit;overflow:hidden;position:relative;background:rgba(255,255,255,.018)}.highlight-card img{width:100%;height:150px;object-fit:cover;border-radius:10px;margin-bottom:1rem}.highlight-card h3{margin:.3rem 0}.legacy-callout{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid var(--line,#493b2d);border-bottom:1px solid var(--line,#493b2d)}.legacy-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.legacy-timeline{display:grid;gap:1rem}.legacy-entry{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;padding:1.4rem 0;border-top:1px solid var(--line,#493b2d)}.legacy-year{font-size:1.45rem;color:var(--gold,#c5a56a);font-family:serif}.legacy-entry small{display:block;opacity:.55;margin-top:.6rem}.legacy-hero{padding:1.5rem;border:1px solid var(--line,#493b2d);border-radius:16px;background:rgba(255,255,255,.02)}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.relation-row,.scene-row{display:flex;flex-direction:column;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.inline-community-form{margin-top:1rem;padding:1rem;border:1px solid var(--line,#493b2d);border-radius:12px;display:grid;gap:.7rem}.character-community>.button{margin:0 .5rem .8rem 0}@media(max-width:800px){.highlight-grid,.community-grid{grid-template-columns:1fr}.legacy-callout{align-items:flex-start;flex-direction:column}.legacy-entry{grid-template-columns:1fr}.legacy-year{font-size:1rem}}

/* 7.1 — Administração & Polimento */
.player-card>div:last-child{min-width:0}.player-card>div:last-child strong,.player-card>div:last-child span{display:block}.player-card>div:last-child span{margin-top:.18rem;color:var(--muted);font-size:.82rem}
.notification-toolbar{display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 1rem}.notification-filters{display:flex;gap:.45rem;flex-wrap:wrap}.notification-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid rgba(216,181,109,.15);background:rgba(255,255,255,.018)}.notification-row+.notification-row{margin-top:.55rem}.notification-row.is-unread{border-color:rgba(216,181,109,.36);background:rgba(216,181,109,.045)}.notification-main{color:inherit;text-decoration:none;min-width:0}.notification-main strong{display:block}.notification-main p{margin:.25rem 0;color:var(--muted)}.notification-main small{opacity:.58}.notification-actions{display:flex;gap:.35rem}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.admin-stat{padding:1.2rem;border:1px solid rgba(216,181,109,.18);background:rgba(255,255,255,.018)}.admin-stat strong{display:block;font:700 1.7rem Cinzel,serif;color:var(--accent-light)}.admin-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-list{display:grid;gap:.65rem}.admin-list-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem;border:1px solid rgba(216,181,109,.15)}
@media(max-width:820px){.player-card{align-items:center}.player-card>div:last-child{display:flex;flex-direction:column;align-items:flex-start}.player-card>div:last-child strong,.player-card>div:last-child span{width:100%}.admin-dashboard-grid{grid-template-columns:1fr 1fr}.admin-editor-grid{grid-template-columns:1fr}.notification-row{grid-template-columns:1fr}.notification-actions{justify-content:flex-end}}
@media(max-width:520px){.admin-dashboard-grid{grid-template-columns:1fr}.home-actions .button{width:100%}}

/* Comunidade & Descoberta — busca, coleção e estatísticas */
.nav-search-button{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(212,175,55,.28);background:rgba(255,255,255,.025);color:inherit;border-radius:999px;padding:.45rem .65rem;cursor:pointer}.nav-search-button svg{width:17px;height:17px}.nav-search-button kbd,.global-search-panel kbd{font:inherit;font-size:.7rem;opacity:.62;border:1px solid currentColor;border-radius:4px;padding:.05rem .28rem}.global-search-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(5,4,3,.76);backdrop-filter:blur(5px);padding:8vh 1rem}.global-search-backdrop[hidden]{display:none}.global-search-panel{width:min(720px,100%);max-height:78vh;overflow:hidden;margin:auto;background:var(--surface,#17130f);border:1px solid rgba(212,175,55,.35);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.5)}.global-search-input-row{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.08)}.global-search-input-row svg{width:20px}.global-search-input-row input{flex:1;background:transparent;border:0!important;outline:0;color:inherit;font-size:1.05rem}.global-search-close{border:0;background:transparent;color:inherit;font-size:1.6rem;cursor:pointer}.global-search-results{padding:.6rem;overflow:auto;max-height:60vh}.global-search-group h3{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.58;padding:.65rem .7rem .3rem}.global-search-group a{display:flex;flex-direction:column;gap:.12rem;padding:.7rem;border-radius:10px;color:inherit;text-decoration:none}.global-search-group a:hover,.global-search-group a:focus{background:rgba(212,175,55,.08)}.global-search-group a span,.global-search-hint{opacity:.65;font-size:.86rem}.global-search-hint{padding:1rem}.global-search-panel footer{display:flex;justify-content:space-between;padding:.65rem 1rem;border-top:1px solid rgba(255,255,255,.07);font-size:.75rem;opacity:.6}.profile-stats-section{margin:1.5rem 0}.profile-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.profile-stat-grid>div{padding:1rem;border:1px solid rgba(212,175,55,.2);border-radius:12px;background:rgba(255,255,255,.02);display:flex;flex-direction:column}.profile-stat-grid strong{font-size:1.35rem}.profile-stat-grid span{font-size:.78rem;opacity:.68}.collection-toolbar{margin-bottom:1.4rem}.collection-section{margin:1.4rem 0 2rem}.party-archive-footer{gap:.75rem;flex-wrap:wrap}.collection-toggle{margin-top:.8rem}
@media(max-width:760px){.nav-search-button kbd{display:none}.nav-search-button{padding:.45rem}.global-search-backdrop{padding:4vh .65rem}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stat-grid>div:last-child{grid-column:span 2}.global-search-panel{max-height:88vh}}

/* 8.1 — gestão da galeria, relações e cenas */
.character-gallery figure{position:relative}.gallery-delete{position:absolute;top:8px;right:8px;width:32px;height:32px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(8,7,6,.82);color:#fff;font-size:1.25rem;cursor:pointer}.gallery-delete:hover{border-color:#d98b7d;color:#ffb1a3}.scene-section-head,.scene-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.scene-section-head h3{margin-right:auto}.scene-sort-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.72rem}.scene-sort-control select{padding:7px 9px;border:1px solid var(--line);background:#0d0c0a;color:var(--text)}.scene-row-head strong{flex:1}.scene-actions{display:flex;gap:8px}.scene-drag{cursor:grab;user-select:none;color:var(--accent);font-size:1.1rem}.scene-sortable.dragging{opacity:.45}.scene-row small{color:var(--muted);font-size:.68rem}.character-autocomplete{position:relative}.character-autocomplete-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow:auto;border:1px solid var(--line);background:#0b0a08;box-shadow:0 12px 30px rgba(0,0,0,.45)}.character-autocomplete-results button{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 12px;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid rgba(216,181,109,.12);background:transparent;color:var(--text);cursor:pointer}.character-autocomplete-results button:hover{background:rgba(216,181,109,.08)}.character-autocomplete-results button strong{grid-column:1}.character-autocomplete-results button span{grid-column:1;color:var(--muted);font-size:.72rem}.character-autocomplete-results button small{grid-column:2;grid-row:1/3;color:var(--muted);align-self:center}.character-autocomplete-results p{padding:12px;margin:0;color:var(--muted)}@media(max-width:700px){.scene-section-head{align-items:flex-start;flex-direction:column}.scene-row-head{align-items:flex-start}.scene-actions{flex-wrap:wrap}.scene-sort-control{width:100%;justify-content:space-between}}

/* 8.2 — Relações 2.0 */
.relation-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.relation-section-head h3{margin-right:auto}.relation-card{position:relative;display:grid;grid-template-columns:auto 54px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(216,181,109,.12)}.relation-medallion{width:48px;height:48px;border-radius:50%;padding:2px;border:2px solid #cda85b;background:linear-gradient(145deg,#e0bd70,#745827);box-shadow:0 0 0 2px rgba(205,168,91,.12);overflow:hidden;display:grid;place-items:center;text-decoration:none}.relation-medallion img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:#0b0a08}.relation-medallion span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#15110b;color:#e4c982;font:700 1.05rem Georgia,serif}.relation-info{display:grid;gap:3px;min-width:0}.relation-info a{color:var(--text);text-decoration:none}.relation-info a:hover{color:var(--accent-light)}.relation-info span{color:var(--muted);font-size:.78rem}.relation-pin-mark{color:#e2bd65;font-size:1rem}.relation-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.relation-drag{cursor:grab;color:var(--accent);user-select:none;font-size:1.1rem}.relation-sortable.dragging{opacity:.45}.relation-pending-list{margin-top:18px;padding-top:12px;border-top:1px solid rgba(216,181,109,.12)}.relation-pending-list h4{margin:0 0 8px;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.relation-pending{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.relation-pending>div{display:flex;gap:7px}.notification-actions{flex-wrap:wrap}@media(max-width:700px){.relation-section-head{align-items:flex-start;flex-direction:column}.relation-card{grid-template-columns:auto 48px 1fr}.relation-actions{grid-column:2/4;justify-content:flex-start}.relation-pin-mark{position:absolute;right:4px;top:12px}.relation-pending{align-items:flex-start;flex-direction:column}}

/* =========================================================
   Tales of Vanity 9.0 — Portal & História
   ========================================================= */
.my-tales-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 36px}.my-tales-stats>div{border:1px solid var(--border,#5b4827);padding:18px;background:rgba(255,255,255,.015)}.my-tales-stats strong{display:block;font-family:Georgia,serif;font-size:2rem}.my-tales-stats span{font-size:.82rem;opacity:.72}.my-tales-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:32px}.my-character-card img{width:54px;height:54px;object-fit:cover;border-radius:50%;border:1px solid #caa657}.attention-card{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid rgba(202,166,87,.18);text-decoration:none}.attention-card span{opacity:.72;font-size:.9rem}.my-tales-shortcuts{display:flex;flex-wrap:wrap;gap:10px}
.hall-hero{padding:34px 0 48px;max-width:900px}.hall-hero h1{font-size:clamp(3rem,8vw,6.5rem);margin:.1em 0}.hall-hero p{font-size:1.12rem;max-width:720px}.award-edition{margin:0 0 72px}.award-edition-head{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:28px;align-items:center;padding:26px;border:1px solid rgba(202,166,87,.35);background:linear-gradient(135deg,rgba(202,166,87,.08),transparent)}.award-edition-head img{width:100%;aspect-ratio:16/10;object-fit:cover}.award-edition-head h2{font-size:clamp(2rem,5vw,4rem);margin:.15em 0}.award-categories{display:grid;gap:18px;margin-top:18px}.award-category{border:1px solid rgba(202,166,87,.25);padding:24px}.award-category h3{font-size:1.65rem;margin:.2em 0 1em}.award-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.award-result{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08)}.award-result.placement-1{grid-column:1/-1;border-color:#caa657;background:rgba(202,166,87,.08)}.award-result img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #caa657}.award-result strong,.award-result small,.award-result a{display:block}.award-medal{font-size:1.3rem;margin-right:8px}.hall-empty{text-align:center;padding:80px 20px;border:1px dashed rgba(202,166,87,.35)}.hall-immortals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hall-immortals-grid>div{padding:18px;border-top:1px solid #caa657}.hall-immortals-grid span{opacity:.5}.hall-immortals-grid strong,.hall-immortals-grid small{display:block}
.participant-medals{display:flex;flex-wrap:wrap;gap:18px}.participant-medal{display:grid;justify-items:center;gap:5px;text-decoration:none;min-width:92px}.participant-medal img,.medal-placeholder{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid #caa657;box-shadow:0 0 0 3px rgba(202,166,87,.12);display:grid;place-items:center}.participant-medal small{opacity:.65}.episode-participants{margin:36px 0}.common-connections{padding:22px;border:1px solid rgba(202,166,87,.35);margin-bottom:30px}.common-stats{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}.history-item{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid rgba(202,166,87,.16)}.history-item time{opacity:.6}.history-item p{margin:.4em 0}.related-character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.related-character-grid a{display:flex;flex-direction:column;text-decoration:none;border:1px solid rgba(202,166,87,.2);padding:12px}.related-character-grid img{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:10px}.related-character-grid small{opacity:.6}
.compare-picker{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}.compare-picker label{display:grid;gap:7px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.compare-card{border:1px solid rgba(202,166,87,.3);padding:24px}.compare-card>img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:2px solid #caa657}.compare-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.compare-card dt{opacity:.65}.compare-card dd{margin:0;text-align:right}.compare-common{padding:12px;background:rgba(202,166,87,.08)}
.editor-preview-toggle{display:flex!important;gap:0!important;margin-bottom:14px}.editor-preview-toggle button{border:1px solid rgba(202,166,87,.35);background:transparent;color:inherit;padding:8px 14px}.editor-preview-toggle button.active{background:#caa657;color:#111}.editor-preview{border:1px solid rgba(202,166,87,.25);padding:20px;min-height:120px;margin-bottom:14px}
@media(max-width:760px){.my-tales-stats{grid-template-columns:1fr 1fr}.my-tales-grid,.award-edition-head,.compare-grid,.compare-picker{grid-template-columns:1fr}.award-results,.hall-immortals-grid,.related-character-grid{grid-template-columns:1fr 1fr}.award-result.placement-1{grid-column:auto}.history-item{grid-template-columns:1fr}.common-stats{display:grid}}

/* Tales 9.1 — UX & Polish */
.tales-select-wrap{position:relative;display:block;width:100%}.tales-select-wrap::after{content:"⌄";position:absolute;right:14px;top:50%;transform:translateY(-58%);color:var(--accent-light,#d8b56d);pointer-events:none;font-size:1rem}.tales-select,select{width:100%;min-height:44px;padding:0 42px 0 13px;border:1px solid rgba(216,181,109,.28);border-radius:4px;background:#0d0c0a;color:var(--text,#eee7da);font:inherit;appearance:none;-webkit-appearance:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.tales-select:hover,select:hover{border-color:rgba(216,181,109,.58);background:#110f0c}.tales-select:focus,select:focus{outline:none;border-color:var(--accent-light,#d8b56d);box-shadow:0 0 0 2px rgba(216,181,109,.10)}select option{background:#0d0c0a;color:var(--text,#eee7da)}
.compare-picker label{display:grid;gap:8px}.compare-picker .tales-select-wrap{margin-top:2px}
.character-picker{position:relative;display:grid;gap:10px}.character-picker>input[type=search]{width:100%}.character-picker-results{position:absolute;z-index:30;top:48px;left:0;right:0;max-height:320px;overflow:auto;padding:6px;border:1px solid rgba(216,181,109,.38);background:#0b0a08;box-shadow:0 18px 40px rgba(0,0,0,.48)}.character-picker-result{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:9px;border:0;border-bottom:1px solid rgba(216,181,109,.10);background:transparent;color:inherit;text-align:left;cursor:pointer}.character-picker-result:hover,.character-picker-result:focus-visible{outline:none;background:rgba(216,181,109,.08)}.character-picker-result img,.character-picker-avatar-fallback{width:38px;height:38px;border-radius:50%;border:1px solid var(--accent,#caa657);object-fit:cover}.character-picker-avatar-fallback{display:grid;place-items:center;color:var(--accent-light,#d8b56d)}.character-picker-result strong,.character-picker-result small{display:block}.character-picker-result small{margin-top:2px;color:var(--muted,#9d9488);font-size:.75rem}.character-picker-result>b{color:var(--accent-light,#d8b56d);font-size:1.1rem}.character-picker-selected{display:flex;flex-wrap:wrap;gap:8px;min-height:34px}.character-picker-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 9px 5px 5px;border:1px solid rgba(216,181,109,.32);border-radius:999px;background:rgba(216,181,109,.055);color:inherit;cursor:pointer}.character-picker-chip:hover{border-color:var(--accent-light,#d8b56d);background:rgba(216,181,109,.10)}.character-picker-chip img,.character-picker-chip .character-picker-avatar-fallback{width:26px;height:26px}.character-picker-chip b{color:var(--muted,#9d9488);font-size:1rem}.character-picker-empty{margin:0;padding:8px;color:var(--muted,#9d9488);font-size:.82rem}
.character-mini-card{position:relative;overflow:hidden}.character-card-owned{border-color:rgba(216,181,109,.68)!important;background:linear-gradient(120deg,rgba(216,181,109,.075),rgba(255,255,255,.012));box-shadow:0 0 22px rgba(202,166,87,.08)}.character-card-owned .avatar{box-shadow:0 0 16px rgba(216,181,109,.18)}.character-card-community{border-color:rgba(180,175,166,.17)!important;background:rgba(255,255,255,.009);filter:saturate(.86)}.character-card-community:hover,.character-card-community:focus-within{filter:none;border-color:rgba(216,181,109,.48)!important;background:rgba(216,181,109,.035);box-shadow:0 12px 30px rgba(0,0,0,.2),0 0 18px rgba(216,181,109,.045);transform:translateY(-2px)}.character-card-main:focus-visible{outline:1px solid var(--accent-light,#d8b56d);outline-offset:4px}
.home-manifesto a{text-decoration:none}.home-manifesto a:hover{text-decoration:underline}.home-actions a[target=_blank]{white-space:nowrap}
@media(max-width:650px){.character-picker-results{position:static;max-height:260px}.character-card-community{filter:none}.compare-picker{grid-template-columns:1fr!important}}
select:not([multiple]){background-image:linear-gradient(45deg,transparent 50%,#d8b56d 50%),linear-gradient(135deg,#d8b56d 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.tales-select-wrap select{background-image:none}select[multiple]{padding:8px 10px;appearance:auto;-webkit-appearance:auto}

/* 9.1.2 — perfis administrativos e bios multilinha */
.profile-bio, .profile-preview-bio { white-space: pre-line; }
.administrative-profile .profile-hero-main { max-width: 760px; }

/* =========================================================
   TALES OF VANITY 9.2 — MOBILE FIRST
   ========================================================= */
html,body{max-width:100%;overflow-x:clip}body.nav-locked{overflow:hidden;touch-action:none}main,.container,.section,.form-card,.request-card,.archive-card{min-width:0}img,video,iframe{max-width:100%;height:auto}input,select,textarea,button{max-width:100%}.container{width:min(var(--max),calc(100% - 32px))}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}.profile-bio,.prose,.profile-post-content,.archive-card p{overflow-wrap:anywhere}
@media(max-width:820px){
 .site-header{position:sticky;top:0;z-index:1200}.nav{min-height:72px!important;padding:12px 18px!important;flex-wrap:nowrap!important}.logo{font-size:clamp(18px,5.4vw,25px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-toggle{display:grid!important;flex:0 0 46px;width:46px;height:46px;margin-left:auto!important;z-index:2}
 .nav-links{position:fixed!important;inset:72px 0 0!important;width:100%!important;height:calc(100dvh - 72px)!important;max-width:none!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;padding:14px 18px calc(28px + env(safe-area-inset-bottom))!important;border:0!important;border-top:1px solid var(--border)!important;background:#0d0c0a!important;box-shadow:none!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;order:initial!important}
 .nav.mobile-open .nav-links{display:flex!important}.nav-links>a,.nav-more>summary{display:flex!important;align-items:center!important;gap:12px!important;min-height:52px!important;padding:10px 12px!important;font-size:1rem!important;border-radius:4px}.nav-links>a .ui-icon,.nav-more>summary .ui-icon:not(.nav-chevron){display:inline-block!important;width:20px;height:20px}.nav-more{width:100%!important}.nav-more-menu{position:static!important;width:100%!important;min-width:0!important;margin:0!important;padding:3px 0 6px 24px!important;border:0!important;background:transparent!important;box-shadow:none!important}.nav-more-menu a{min-height:46px;padding:9px 12px!important;white-space:normal!important}
 .nav-links>[data-auth-area]{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important;margin:8px 0 0!important;padding-top:10px;border-top:1px solid rgba(216,181,109,.13)}.user-menu,.admin-menu{display:block!important;width:100%!important}.user-menu-toggle,.admin-menu-toggle{width:100%!important;min-height:50px!important;padding:10px 12px!important;justify-content:space-between!important}.user-menu-dropdown,.admin-menu-dropdown{position:static!important;inset:auto!important;transform:none!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:2px 0 5px!important;padding:4px 0 4px 22px!important;border:0!important;background:transparent!important;box-shadow:none!important}.user-menu-dropdown a,.admin-menu-dropdown a,.dropdown-logout{min-height:46px!important;padding:9px 12px!important;white-space:normal!important}
 .global-search-trigger{width:100%!important;justify-content:flex-start!important;min-height:48px!important;margin:6px 0!important}.global-search-trigger kbd{display:none!important}
 .profile-hero,.profile-hero-social,.character-hero,.player-hero{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important}.profile-hero img,.player-avatar,.character-portrait{max-width:min(48vw,180px)!important}.profile-hero-main{width:100%!important}.profile-character-grid,.archive-grid,.party-archive-grid,.admin-editor-grid,.compare-grid,.my-tales-grid{grid-template-columns:minmax(0,1fr)!important}.profile-character-card{width:100%!important}.form-actions,.profile-composer-row{flex-wrap:wrap!important}.form-actions>.button,.form-actions>button{flex:1 1 180px}.section{padding-top:34px!important;padding-bottom:34px!important}h1{font-size:clamp(32px,11vw,52px)}h2{font-size:clamp(23px,7vw,30px)}
 .modal-backdrop{padding:0!important;align-items:flex-end!important}.modal-panel,.modal-card{width:100%!important;max-width:100%!important;max-height:92dvh!important;overflow:auto!important;border-radius:14px 14px 0 0!important;margin:0!important;padding:22px 18px calc(22px + env(safe-area-inset-bottom))!important}.toast-region{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}.toast{width:100%!important;max-width:none!important}
}
@media(max-width:520px){.container{width:calc(100% - 24px)}.nav{padding-inline:12px!important}.nav-links{padding-inline:12px!important}.logo{letter-spacing:.055em}.button{white-space:normal}.profile-feed-tabs{overflow-x:auto;scrollbar-width:none}.profile-feed-tab{flex:0 0 auto}.character-gallery,.organic-gallery{grid-template-columns:1fr!important}.compare-card{padding:18px!important}.compare-card dl>div{gap:10px}.admin-list-row,.request-card-head{align-items:flex-start!important;flex-direction:column!important}.admin-list-row .form-actions{width:100%}}

/* =========================================================
   TALES OF VANITY 9.3 — MEDIA & PERFORMANCE
   ========================================================= */
.media-upload{display:grid;gap:10px;width:100%}.media-upload-picker{display:flex!important;align-items:center;gap:12px;min-height:72px;padding:14px 16px!important;border:1px dashed rgba(216,181,109,.42)!important;background:rgba(216,181,109,.035);color:var(--text);cursor:pointer;transition:.18s ease}.media-upload-picker:hover,.media-upload-picker:focus-within{border-color:var(--accent)!important;background:rgba(216,181,109,.075)}.media-upload-picker.is-uploading{opacity:.65;pointer-events:none}.media-upload-picker .ui-icon{width:24px;height:24px;color:var(--accent)}.media-upload-picker span{display:grid;gap:2px}.media-upload-picker strong{color:var(--accent-light);font-size:.9rem}.media-upload-picker small{color:var(--muted);font-size:.72rem}.media-upload-divider{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.media-upload-preview{position:relative;width:min(100%,340px);overflow:hidden;border:1px solid rgba(216,181,109,.25);background:#090807}.media-upload-preview img{width:100%;max-height:260px;object-fit:cover}.media-upload-clear{position:absolute;right:8px;bottom:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);background:rgba(8,7,6,.88);color:#eee;font:inherit;font-size:.72rem;cursor:pointer}.image-broken{min-height:80px;background:linear-gradient(135deg,#15120e,#0b0a09);opacity:.45}.archive-card img,.profile-character-avatar img,.character-gallery img{content-visibility:auto}@media(max-width:520px){.media-upload-preview{width:100%}.media-upload-picker{min-height:78px}}
.media-upload-button{margin-left:auto;padding:8px 11px;border:1px solid rgba(216,181,109,.3);background:transparent;color:var(--accent-light);font:inherit;font-size:.74rem;cursor:pointer}@media(max-width:520px){.media-upload-picker{flex-wrap:wrap}.media-upload-button{width:100%;margin-left:0}}

/* Tales of Vanity 9.3.1 — Theme & Contrast */
:root{
  color-scheme:dark;
  --page-bg:#0c0b0a;--page-glow:#201b15;--surface-soft:#141210;--surface-raised:#1b1815;
  --field-bg:#0d0c0a;--header-bg:rgba(12,11,10,.94);--dropdown-bg:#12110f;
  --text-strong:#f1eadf;--text-soft:#cfc6b9;--shadow:rgba(0,0,0,.45);
}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f2eddf;--surface:#faf6ea;--surface-2:#e8e0cf;--border:#c9b98f;
  --text:#172b4d;--muted:#687386;--accent:#a77725;--accent-light:#765416;
  --page-bg:#f2eddf;--page-glow:#e5edf3;--surface-soft:#faf6ea;--surface-raised:#eee7d7;
  --field-bg:#fffaf0;--header-bg:rgba(246,241,228,.94);--dropdown-bg:#fffaf0;
  --text-strong:#132d55;--text-soft:#334866;--shadow:rgba(39,52,68,.16);
}
@media(prefers-color-scheme:light){
  html:not([data-theme]){color-scheme:light;--bg:#f2eddf;--surface:#faf6ea;--surface-2:#e8e0cf;--border:#c9b98f;--text:#172b4d;--muted:#687386;--accent:#a77725;--accent-light:#765416;--page-bg:#f2eddf;--page-glow:#e5edf3;--surface-soft:#faf6ea;--surface-raised:#eee7d7;--field-bg:#fffaf0;--header-bg:rgba(246,241,228,.94);--dropdown-bg:#fffaf0;--text-strong:#132d55;--text-soft:#334866;--shadow:rgba(39,52,68,.16)}
}
body{background:radial-gradient(circle at top,var(--page-glow) 0,var(--page-bg) 42rem);}
.site-header{background:var(--header-bg);}
/* Contraste do CTA de autenticação: texto sempre escuro sobre ouro. */
[data-auth-area] > a.button[href="login.html"],.nav-login-button{background:var(--accent)!important;color:#15110a!important;border-color:var(--accent)!important;font-weight:700;}
[data-auth-area] > a.button[href="login.html"]:hover,.nav-login-button:hover{background:var(--accent-light)!important;color:#15110a!important;}
/* Superfícies que antes tinham preto literal passam a acompanhar o tema. */
html[data-theme="light"] input,html[data-theme="light"] textarea,html[data-theme="light"] select,
html[data-theme="light"] .tales-select,html[data-theme="light"] .global-search input,
html[data-theme="light"] .season-fields input,html[data-theme="light"] .season-fields textarea,
html[data-theme="light"] .event-form-card input,html[data-theme="light"] .event-form-card select,html[data-theme="light"] .event-form-card textarea,
html[data-theme="light"] .event-narrative-card textarea,html[data-theme="light"] .form-stack input,
html[data-theme="light"] .form-stack textarea,html[data-theme="light"] .form-stack select,
html[data-theme="light"] .inline-community-form input,html[data-theme="light"] .inline-community-form textarea,
html[data-theme="light"] .participation-field select{background:var(--field-bg)!important;color:var(--text)!important;}
html[data-theme="light"] .user-menu-dropdown,html[data-theme="light"] .admin-menu-dropdown,
html[data-theme="light"] .nav-more-menu,html[data-theme="light"] .mention-suggestions{background:var(--dropdown-bg)!important;box-shadow:0 14px 35px var(--shadow)!important;}
html[data-theme="light"] .panel,html[data-theme="light"] .archive-card,html[data-theme="light"] .timeline-card,
html[data-theme="light"] .publication-header,html[data-theme="light"] .publication-section,
html[data-theme="light"] .chronicle-admin-card,html[data-theme="light"] .event-form-card,
html[data-theme="light"] .event-narrative-card,html[data-theme="light"] .inline-community-form{
  background:rgba(255,250,240,.72)!important;
}
html[data-theme="light"] .home-lead,html[data-theme="light"] .home-manifesto p,
html[data-theme="light"] .publication-intro,html[data-theme="light"] .publication-section-content,
html[data-theme="light"] .publication-subsection div,html[data-theme="light"] .event-lead,
html[data-theme="light"] .prose,html[data-theme="light"] .character-quote{color:var(--text-soft)!important;}
html[data-theme="light"] .timeline-card:before{background:var(--page-bg);}
html[data-theme="light"] .home-portal-card:hover{background:rgba(167,119,37,.07);}
html[data-theme="light"] .logo,html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3{color:var(--text-strong);}
/* Azul japonês/índigo como detalhe editorial do modo claro. */
html[data-theme="light"] .logo,html[data-theme="light"] .section-heading h1,html[data-theme="light"] .home-hero h1,
html[data-theme="light"] .profile-hero h1,html[data-theme="light"] .event-page h1{color:#17345f;}
html[data-theme="light"] .eyebrow{color:#8b651f;}
html[data-theme="light"] ::selection{background:#17345f;color:#fffaf0;}
.theme-control{display:inline-flex;align-items:center;position:relative;}
.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--accent-light);font-size:1rem;line-height:1;transition:background .16s ease,border-color .16s ease,transform .16s ease;}
.theme-toggle:hover{background:rgba(198,161,91,.08);border-color:var(--accent);transform:translateY(-1px);}
.theme-menu{position:absolute;z-index:1400;right:0;top:calc(100% + 9px);display:none;min-width:160px;padding:6px;border:1px solid var(--border);background:var(--dropdown-bg);box-shadow:0 14px 35px var(--shadow);}
.theme-control.open .theme-menu{display:grid;}
.theme-menu button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:9px 11px;border:0;background:transparent;color:var(--muted);text-align:left;}
.theme-menu button:hover,.theme-menu button[aria-checked="true"]{background:rgba(198,161,91,.09);color:var(--accent-light);}
.theme-menu button[aria-checked="true"]::after{content:'✓';}
@media(max-width:820px){
  .theme-control{display:grid;width:100%;margin-top:6px;padding-top:10px;border-top:1px solid var(--border);}
  .theme-toggle{width:100%;height:48px;border-radius:0;display:flex;justify-content:flex-start;gap:9px;padding:0 14px;}
  .theme-toggle::after{content:'Aparência';color:var(--text);font-size:.9rem;}
  .theme-menu{position:static;display:none;width:100%;min-width:0;margin-top:5px;box-shadow:none;}
  .theme-control.open .theme-menu{display:grid;grid-template-columns:repeat(3,1fr);}
  .theme-menu button{justify-content:center;padding:10px 6px;text-align:center;}
}

/* Tales of Vanity 9.3.2 — Arcane Blue Palette
   Fantasia noturna azul/índigo com acentos opala, vinho, coral e ouro. */
:root,
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#080d18;
  --surface:#0d1628;
  --surface-2:#14233d;
  --border:#293b5f;
  --text:#f0e8d8;
  --muted:#a9b0c1;
  --accent:#d4ad59;
  --accent-light:#efcb78;
  --danger:#a83255;
  --success:#6f9b8c;
  --page-bg:#080d18;
  --page-glow:#16284a;
  --surface-soft:#0d1628;
  --surface-raised:#14233d;
  --field-bg:#0a1221;
  --header-bg:rgba(8,13,24,.94);
  --dropdown-bg:#0d1628;
  --text-strong:#f4eddf;
  --text-soft:#c4cada;
  --shadow:rgba(1,4,12,.56);
  --arcane:#5367b5;
  --opal:#7562b8;
  --blood:#720d38;
  --fae:#db7955;
}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f2eddf;
  --surface:#fbf7ed;
  --surface-2:#e5e8ed;
  --border:#aab5c7;
  --text:#14284a;
  --muted:#657086;
  --accent:#a9792b;
  --accent-light:#76521b;
  --danger:#963c54;
  --success:#557d70;
  --page-bg:#f2eddf;
  --page-glow:#dbe4ef;
  --surface-soft:#fbf7ed;
  --surface-raised:#e9edf2;
  --field-bg:#fffaf0;
  --header-bg:rgba(242,237,223,.95);
  --dropdown-bg:#fffaf0;
  --text-strong:#102b52;
  --text-soft:#405675;
  --shadow:rgba(22,40,70,.17);
  --arcane:#365b93;
  --opal:#6850ad;
  --blood:#7d2347;
  --fae:#c96d4e;
}
@media(prefers-color-scheme:light){
  html:not([data-theme]){
    color-scheme:light;
    --bg:#f2eddf;--surface:#fbf7ed;--surface-2:#e5e8ed;--border:#aab5c7;
    --text:#14284a;--muted:#657086;--accent:#a9792b;--accent-light:#76521b;
    --danger:#963c54;--success:#557d70;--page-bg:#f2eddf;--page-glow:#dbe4ef;
    --surface-soft:#fbf7ed;--surface-raised:#e9edf2;--field-bg:#fffaf0;
    --header-bg:rgba(242,237,223,.95);--dropdown-bg:#fffaf0;--text-strong:#102b52;
    --text-soft:#405675;--shadow:rgba(22,40,70,.17);--arcane:#365b93;
    --opal:#6850ad;--blood:#7d2347;--fae:#c96d4e;
  }
}

/* Profundidade azul nas superfícies do tema escuro. */
html[data-theme="dark"] .panel,
html[data-theme="dark"] .archive-card,
html[data-theme="dark"] .timeline-card,
html[data-theme="dark"] .publication-header,
html[data-theme="dark"] .publication-section,
html[data-theme="dark"] .chronicle-admin-card,
html[data-theme="dark"] .event-form-card,
html[data-theme="dark"] .event-narrative-card,
html[data-theme="dark"] .inline-community-form{
  background:rgba(13,22,40,.82);
}
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html[data-theme="dark"] .tales-select,
html[data-theme="dark"] .global-search input{
  background:var(--field-bg)!important;
  color:var(--text)!important;
}
html[data-theme="dark"] .user-menu-dropdown,
html[data-theme="dark"] .admin-menu-dropdown,
html[data-theme="dark"] .nav-more-menu,
html[data-theme="dark"] .mention-suggestions{
  background:var(--dropdown-bg)!important;
  box-shadow:0 16px 42px var(--shadow)!important;
}
html[data-theme="dark"] .home-portal-card:hover,
html[data-theme="dark"] .theme-menu button:hover,
html[data-theme="dark"] .theme-menu button[aria-checked="true"]{
  background:rgba(83,103,181,.13);
}
html[data-theme="dark"] ::selection{background:var(--arcane);color:var(--text-strong);}

/* No claro, a tinta azul assume a identidade editorial; ouro fica como prestígio. */
html[data-theme="light"] .logo,
html[data-theme="light"] .section-heading h1,
html[data-theme="light"] .home-hero h1,
html[data-theme="light"] .profile-hero h1,
html[data-theme="light"] .event-page h1{color:#173b69;}
html[data-theme="light"] .panel,
html[data-theme="light"] .archive-card,
html[data-theme="light"] .timeline-card,
html[data-theme="light"] .publication-header,
html[data-theme="light"] .publication-section,
html[data-theme="light"] .chronicle-admin-card,
html[data-theme="light"] .event-form-card,
html[data-theme="light"] .event-narrative-card,
html[data-theme="light"] .inline-community-form{background:rgba(251,247,237,.86)!important;}
html[data-theme="light"] .home-portal-card:hover{background:rgba(54,91,147,.08);}
html[data-theme="light"] ::selection{background:#173b69;color:#fffaf0;}

/* Microinterações: azul arcano para navegação/foco, ouro para ações de prestígio. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--arcane, var(--accent));
  outline-offset:2px;
}
.theme-toggle:hover{background:color-mix(in srgb,var(--arcane, var(--accent)) 12%,transparent);border-color:var(--arcane,var(--accent));}


/* Tales of Vanity 9.3.3 — Brand Refresh
   Wordmark horizontal + tema claro em pergaminho frio. */
.logo{
  display:inline-flex!important;
  align-items:center;
  width:auto!important;
  min-width:max-content;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:18px!important;
  letter-spacing:.105em!important;
  text-transform:uppercase;
}

html[data-theme="light"]{
  --bg:#e8e0cf;
  --surface:#f1e9d9;
  --surface-2:#ded5c3;
  --border:#c6b99f;
  --text:#18365e;
  --muted:#657084;
  --accent:#a87320;
  --accent-light:#76521b;
  --page-bg:#e8e0cf;
  --page-glow:#d6dde1;
  --surface-soft:#eee6d6;
  --surface-raised:#f3ecdd;
  --field-bg:#f7f0e1;
  --header-bg:rgba(232,224,207,.96);
  --dropdown-bg:#f3ecdd;
  --text-strong:#15365f;
  --text-soft:#445b79;
  --shadow:rgba(38,48,63,.16);
  --arcane:#365b93;
  --opal:#6850ad;
  --blood:#7d2347;
  --fae:#c96d4e;
}
@media(prefers-color-scheme:light){
  html:not([data-theme]){
    --bg:#e8e0cf;--surface:#f1e9d9;--surface-2:#ded5c3;--border:#c6b99f;
    --text:#18365e;--muted:#657084;--accent:#a87320;--accent-light:#76521b;
    --page-bg:#e8e0cf;--page-glow:#d6dde1;--surface-soft:#eee6d6;
    --surface-raised:#f3ecdd;--field-bg:#f7f0e1;--header-bg:rgba(232,224,207,.96);
    --dropdown-bg:#f3ecdd;--text-strong:#15365f;--text-soft:#445b79;
    --shadow:rgba(38,48,63,.16);--arcane:#365b93;--opal:#6850ad;--blood:#7d2347;--fae:#c96d4e;
  }
}
html[data-theme="light"] body{
  background:
    radial-gradient(circle at 68% 12%,rgba(255,244,211,.28),transparent 28%),
    radial-gradient(circle at 38% 9%,rgba(105,139,177,.11),transparent 25%),
    var(--page-bg);
}
@media(prefers-color-scheme:light){
  html:not([data-theme]) body{
    background:
      radial-gradient(circle at 68% 12%,rgba(255,244,211,.28),transparent 28%),
      radial-gradient(circle at 38% 9%,rgba(105,139,177,.11),transparent 25%),
      var(--page-bg);
  }
}
html[data-theme="light"] .panel,html[data-theme="light"] .archive-card,html[data-theme="light"] .timeline-card,
html[data-theme="light"] .publication-header,html[data-theme="light"] .publication-section,html[data-theme="light"] .chronicle-admin-card,
html[data-theme="light"] .event-form-card,html[data-theme="light"] .event-narrative-card,html[data-theme="light"] .inline-community-form{
  background:rgba(241,233,217,.86)!important;
}
@media(max-width:820px){.logo{font-size:clamp(15px,4.6vw,19px)!important;letter-spacing:.075em!important;}}


/* Tales of Vanity 9.3.3.1 — Brand hotfix */
.logo{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  margin-right:auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  line-height:1!important;
  font:700 17px/1 Cinzel,Georgia,serif!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
}
@media(min-width:1001px){
  .home-hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.5fr);gap:54px}
  .home-hero h1{font-size:clamp(3.6rem,6.2vw,6.4rem)!important;white-space:nowrap!important;letter-spacing:-.045em!important}
}
@media(max-width:1000px){.home-hero h1{white-space:normal!important}}
@media(max-width:820px){.logo{font-size:clamp(14px,4.3vw,18px)!important;letter-spacing:.065em!important}}


/* Tales of Vanity 9.3.3.2 — Mobile theme hotfix */
@media(max-width:820px){
  html[data-theme="light"] .nav-links{
    background:var(--surface-soft)!important;
    color:var(--text)!important;
    border-top-color:var(--border)!important;
  }
  html[data-theme="light"] .nav-links>a,
  html[data-theme="light"] .nav-more>summary,
  html[data-theme="light"] .nav-more-menu a,
  html[data-theme="light"] .user-menu-dropdown a,
  html[data-theme="light"] .admin-menu-dropdown a,
  html[data-theme="light"] .dropdown-logout{color:var(--muted)!important;}
  html[data-theme="light"] .nav-links>a:hover,
  html[data-theme="light"] .nav-links>a:focus-visible,
  html[data-theme="light"] .nav-more>summary:hover,
  html[data-theme="light"] .nav-more-menu a:hover,
  html[data-theme="light"] .user-menu-dropdown a:hover,
  html[data-theme="light"] .admin-menu-dropdown a:hover{color:var(--text-strong)!important;background:rgba(54,91,147,.07)!important;}
  html[data-theme="light"] .global-search-trigger,
  html[data-theme="light"] .theme-toggle,
  html[data-theme="light"] .user-menu-toggle,
  html[data-theme="light"] .admin-menu-toggle{background:rgba(241,233,217,.55)!important;color:var(--text)!important;border-color:var(--border)!important;}
  html[data-theme="light"] .theme-menu{background:var(--surface-raised)!important;border-color:var(--border)!important;}
  html[data-theme="light"] .theme-menu button{color:var(--muted)!important;}
  html[data-theme="light"] .theme-menu button:hover,
  html[data-theme="light"] .theme-menu button[aria-checked="true"]{background:rgba(168,115,32,.09)!important;color:var(--accent-light)!important;}
  html[data-theme="light"] .nav-links>[data-auth-area],
  html[data-theme="light"] .theme-control{border-color:var(--border)!important;}
}
@media(max-width:820px) and (prefers-color-scheme:light){
  html:not([data-theme]) .nav-links{background:var(--surface-soft)!important;color:var(--text)!important;border-top-color:var(--border)!important;}
  html:not([data-theme]) .nav-links>a,html:not([data-theme]) .nav-more>summary,html:not([data-theme]) .nav-more-menu a,
  html:not([data-theme]) .user-menu-dropdown a,html:not([data-theme]) .admin-menu-dropdown a,html:not([data-theme]) .dropdown-logout{color:var(--muted)!important;}
  html:not([data-theme]) .global-search-trigger,html:not([data-theme]) .theme-toggle,
  html:not([data-theme]) .user-menu-toggle,html:not([data-theme]) .admin-menu-toggle{background:rgba(241,233,217,.55)!important;color:var(--text)!important;border-color:var(--border)!important;}
  html:not([data-theme]) .theme-menu{background:var(--surface-raised)!important;border-color:var(--border)!important;}
  html:not([data-theme]) .nav-links>[data-auth-area],html:not([data-theme]) .theme-control{border-color:var(--border)!important;}
}


/* Tales of Vanity 9.3.3.3 — Regulamento em índices expansíveis */
.rules-page{max-width:1120px}.rules-page .section-heading{max-width:820px;margin-bottom:28px}.rules-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);margin:0 0 48px}.rules-jump a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;color:var(--text-strong);font-family:Cinzel,Georgia,serif;font-weight:700;text-decoration:none}.rules-jump a+a{border-left:1px solid var(--border)}.rules-jump a span{font:600 10px/1.2 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rules-jump a:hover{background:var(--surface-soft)}.rules-chapter{margin:0 0 54px;scroll-margin-top:100px}.rules-chapter-head{max-width:880px;margin-bottom:22px}.rules-chapter-head h2{margin:5px 0 12px;font-size:clamp(1.7rem,3vw,2.45rem);color:var(--text-strong)}.rules-intro{color:var(--muted);line-height:1.75}.rules-intro p:last-child{margin-bottom:0}.rules-index{border-top:1px solid var(--border)}.rule-item{border-bottom:1px solid var(--border);background:transparent}.rule-item summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:14px;padding:18px 12px 18px 4px;cursor:pointer;color:var(--text-strong);font-family:Cinzel,Georgia,serif;font-weight:700;line-height:1.35}.rule-item summary::-webkit-details-marker{display:none}.rule-number{font:700 10px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;color:var(--accent)}.rule-chevron{justify-self:end;color:var(--accent);font:400 20px/1 sans-serif;transition:transform .18s ease}.rule-item[open] .rule-chevron{transform:rotate(180deg)}.rule-item[open] summary{background:var(--surface-soft)}.rule-copy{padding:5px 58px 22px;color:var(--muted);line-height:1.78;max-width:940px}.rule-copy p{margin:0 0 13px}.rule-copy p:last-child{margin-bottom:0}.rule-copy strong{color:var(--text-strong)}.rule-copy em{color:var(--text)}.rules-note{margin-top:10px}.rules-note h2{margin:4px 0 10px}
@media(max-width:700px){.rules-page{padding-inline:20px}.rules-jump{grid-template-columns:1fr;margin-bottom:36px}.rules-jump a+a{border-left:0;border-top:1px solid var(--border)}.rules-chapter{margin-bottom:42px}.rule-item summary{grid-template-columns:34px minmax(0,1fr) 20px;gap:10px;padding:17px 8px 17px 2px;font-size:.94rem}.rule-copy{padding:2px 10px 20px 44px;font-size:.94rem;line-height:1.7}}

/* Regulamento 9.3.3.4 — acabamento dos acordeões */
.rules-index{border-top:0;display:grid;gap:10px}
.rule-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--surface-soft) 24%,transparent)}
.rule-item summary{padding:18px 16px;transition:background .18s ease,border-color .18s ease}
.rule-item[open] summary{border-bottom:1px solid var(--border);border-radius:10px 10px 0 0}
.rule-copy{padding:16px 58px 22px}
.rule-copy em{font-style:italic}
@media(max-width:700px){.rules-index{gap:8px}.rule-item{border-radius:8px}.rule-item summary{padding:16px 12px}.rule-item[open] summary{border-radius:8px 8px 0 0}.rule-copy{padding:14px 14px 20px 46px}}
