/* =====================================================================
   NECRÓPOLE — estilos complementares ao Bootstrap.
   A paleta vem de mobile/src/theme.ts do sistema original e é preservada:
   estética funerária, arqueológica e contemplativa.
   ===================================================================== */

:root {
  --nec-fundo: #151412;
  --nec-superficie: #211e1a;
  --nec-elevado: #29241e;
  --nec-borda: #40382f;
  --nec-texto: #f1eadf;
  --nec-suave: #ada396;
  --nec-bronze: #c49a6c;
  --nec-perigo: #d98978;
  --nec-sucesso: #94b898;
  --nec-raio: 14px;
}

body {
  background-color: var(--nec-fundo);
  color: var(--nec-texto);
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;
  min-height: 100vh;
}

a { color: var(--nec-bronze); text-decoration: none; }
a:hover { color: #e0bd93; }

/* ---------------------------------------------------------------- marca */
.nec-marca { display: flex; align-items: center; gap: .6rem; }
.nec-sigilo {
  width: 34px; height: 34px; border-radius: 8px;
  border: 1px solid var(--nec-bronze);
  display: grid; place-items: center;
  color: var(--nec-bronze); font-weight: 700; letter-spacing: .05em;
  background: linear-gradient(160deg, #2a241d, #17150f);
}
.nec-marca-texto {
  letter-spacing: .26em; font-size: .78rem; text-transform: uppercase;
  color: var(--nec-suave);
}

/* --------------------------------------------------------------- navbar */
.nec-navbar {
  background-color: var(--nec-superficie);
  border-bottom: 1px solid var(--nec-borda);
}
.nec-navbar .nav-link {
  color: var(--nec-suave);
  letter-spacing: .08em; text-transform: uppercase; font-size: .76rem;
  padding: .5rem .85rem; border-radius: 8px;
}
.nec-navbar .nav-link:hover { color: var(--nec-texto); background: var(--nec-elevado); }
.nec-navbar .nav-link.ativo { color: var(--nec-bronze); background: var(--nec-elevado); }

/* --------------------------------------------------------------- blocos */
.nec-cartao {
  background-color: var(--nec-superficie);
  border: 1px solid var(--nec-borda);
  border-radius: var(--nec-raio);
}
.nec-cartao-elevado { background-color: var(--nec-elevado); }

.nec-cabecalho { margin-bottom: 1.5rem; }
.nec-sobrancelha {
  color: var(--nec-bronze); letter-spacing: .22em;
  text-transform: uppercase; font-size: .7rem; margin-bottom: .35rem;
}
.nec-titulo { font-size: 2rem; margin-bottom: .35rem; }
.nec-lede { color: var(--nec-suave); max-width: 62ch; }

.nec-regime {
  color: var(--nec-bronze); letter-spacing: .16em;
  text-transform: uppercase; font-size: .68rem;
}
.nec-suave { color: var(--nec-suave); }
.nec-citacao {
  border-left: 2px solid var(--nec-bronze);
  padding-left: .9rem; color: var(--nec-texto);
  font-style: italic;
}
.nec-inscricao {
  font-style: italic; color: var(--nec-suave);
  border-top: 1px solid var(--nec-borda);
  border-bottom: 1px solid var(--nec-borda);
  padding: .8rem 0; margin: .8rem 0;
}

/* ------------------------------------------------------------ formulário */
.form-control, .form-select, .input-group-text {
  background-color: var(--nec-fundo);
  border-color: var(--nec-borda);
  color: var(--nec-texto);
}
.form-control:focus, .form-select:focus {
  background-color: var(--nec-fundo);
  border-color: var(--nec-bronze);
  color: var(--nec-texto);
  box-shadow: 0 0 0 .18rem rgba(196, 154, 108, .18);
}
.form-control::placeholder { color: #6f6659; }
.form-label {
  color: var(--nec-suave); font-size: .74rem;
  letter-spacing: .12em; text-transform: uppercase;
}
.form-text { color: var(--nec-suave); }

.btn-bronze {
  background-color: var(--nec-bronze); border-color: var(--nec-bronze);
  color: #1b1712; font-weight: 600;
}
.btn-bronze:hover { background-color: #d8ab79; border-color: #d8ab79; color: #1b1712; }
.btn-contorno {
  border: 1px solid var(--nec-borda); color: var(--nec-texto); background: transparent;
}
.btn-contorno:hover { background: var(--nec-elevado); color: var(--nec-texto); }

/* ---------------------------------------------------------------- tabela */
.table { --bs-table-color: var(--nec-texto); --bs-table-bg: transparent; }
.table > :not(caption) > * > * {
  background-color: transparent; color: var(--nec-texto);
  border-bottom-color: var(--nec-borda);
}
.table thead th {
  color: var(--nec-suave); text-transform: uppercase;
  font-size: .7rem; letter-spacing: .12em; font-weight: 600;
}

/* ---------------------------------------------------------------- selos */
.nec-selo {
  display: inline-block; padding: .18rem .55rem; border-radius: 999px;
  font-size: .66rem; letter-spacing: .1em; text-transform: uppercase;
  border: 1px solid var(--nec-borda); color: var(--nec-suave);
}
.nec-selo-publicada { border-color: var(--nec-sucesso); color: var(--nec-sucesso); }
.nec-selo-pesquisa { border-color: var(--nec-borda); color: var(--nec-suave); }
.nec-selo-revisao { border-color: var(--nec-bronze); color: var(--nec-bronze); }
.nec-selo-bloqueada { border-color: var(--nec-perigo); color: var(--nec-perigo); }
.nec-selo-diamante {
  border-color: #bcd7e8; color: #bcd7e8;
  background: rgba(188, 215, 232, .07);
}

/* ----------------------------------------------------------- capas/obras */
.nec-capa {
  width: 54px; height: 76px; border-radius: 4px; flex: none;
  display: grid; place-items: center; text-align: center;
  font-size: .55rem; letter-spacing: .06em; padding: .25rem;
  color: #efe6d8; overflow: hidden;
  background: linear-gradient(160deg, #4a3b2a, #241d15);
  border: 1px solid var(--nec-borda);
}
.nec-capa-alt { background: linear-gradient(160deg, #2f3f34, #161d19); }

.nec-inicial {
  width: 42px; height: 42px; border-radius: 50%; flex: none;
  display: grid; place-items: center;
  border: 1px solid var(--nec-bronze); color: var(--nec-bronze);
  font-size: 1.05rem;
}

/* ---------------------------------------------------------------- mídia */
.nec-midia {
  width: 100%; max-height: 420px; object-fit: cover;
  border-radius: 10px; border: 1px solid var(--nec-borda);
}

/* --------------------------------------------------------------- modais */
.modal-content {
  background-color: var(--nec-superficie);
  border: 1px solid var(--nec-borda);
  color: var(--nec-texto);
}
.modal-header, .modal-footer { border-color: var(--nec-borda); }
.btn-close { filter: invert(1) grayscale(1) brightness(1.6); }

/* ------------------------------------------------------------- mensagens */
.alert-sucesso { background: rgba(148, 184, 152, .12); border: 1px solid var(--nec-sucesso); color: var(--nec-sucesso); }
.alert-erro    { background: rgba(217, 137, 120, .12); border: 1px solid var(--nec-perigo); color: var(--nec-perigo); }
.alert-aviso   { background: rgba(196, 154, 108, .12); border: 1px solid var(--nec-bronze); color: var(--nec-bronze); }
.alert-info    { background: var(--nec-elevado); border: 1px solid var(--nec-borda); color: var(--nec-suave); }

/* --------------------------------------------------------------- rodapé */
.nec-rodape {
  border-top: 1px solid var(--nec-borda);
  color: var(--nec-suave); font-size: .78rem;
  padding: 1.6rem 0; margin-top: 3rem;
}

/* -------------------------------------------------------------- entrada */
.nec-entrada { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; }
.nec-entrada-caixa { width: 100%; max-width: 430px; }
.nec-sigilo-grande {
  width: 62px; height: 62px; border-radius: 14px; margin: 0 auto 1rem;
  display: grid; place-items: center; font-size: 1.6rem;
  border: 1px solid var(--nec-bronze); color: var(--nec-bronze);
  background: linear-gradient(160deg, #2a241d, #17150f);
}

/* ------------------------------------------------------------ progresso */
.nec-progresso { display: none; }
.nec-progresso.ativo { display: block; }

/* ------------------------------------------------------------ utilidades */
.nec-quebra { word-break: break-word; }
.nec-codigo {
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  background: var(--nec-fundo); border: 1px dashed var(--nec-bronze);
  border-radius: 8px; padding: .6rem .8rem; color: var(--nec-bronze);
  word-break: break-all;
}
.nec-rolagem { overflow-x: auto; }

/* ------------------------------------------------------ ficha universal */
.nec-obra-cabecalho { display: flex; gap: 1.1rem; align-items: center; }
.nec-obra-monograma {
  width: 78px; height: 104px; border-radius: 6px; flex: none;
  display: grid; place-items: center;
  border: 1px solid var(--nec-bronze); color: var(--nec-bronze);
  background: linear-gradient(160deg, #33291f, #17130f);
  font-family: Georgia, serif; font-size: 2.2rem;
}
.nec-numero-grande { display: block; font-size: 2rem; line-height: 1.05; font-family: Georgia, serif; }
.nec-fios { display: grid; gap: .65rem; }
.nec-fio {
  display: flex; gap: .8rem; align-items: center; padding: .85rem 1rem;
  background: var(--nec-superficie); border: 1px solid var(--nec-borda);
  border-radius: var(--nec-raio); color: var(--nec-texto); text-decoration: none;
}
.nec-fio:hover { background: var(--nec-elevado); border-color: var(--nec-bronze); color: var(--nec-texto); }
@media (max-width: 575.98px) {
  .nec-obra-cabecalho { align-items: flex-start; }
  .nec-obra-monograma { width: 58px; height: 80px; font-size: 1.6rem; }
  .nec-fio { align-items: flex-start; }
}


/* ---------------------------------------------------------- Teia visual */
.nec-grafo {
  position: relative; min-height: 430px; overflow: hidden;
  border: 1px solid var(--nec-borda); border-radius: var(--nec-raio);
  background: radial-gradient(circle at center, #282219 0, var(--nec-superficie) 40%, #151412 100%);
}
.nec-grafo-global { min-height: 620px; }
.nec-grafo svg { width: 100%; height: 100%; min-height: inherit; display: block; touch-action: none; }
.nec-grafo-linha { stroke: #665746; stroke-opacity: .6; }
.nec-grafo-linha-forte { stroke: var(--nec-bronze); stroke-opacity: .82; }
.nec-grafo-no { cursor: grab; }
.nec-grafo-no:active { cursor: grabbing; }
.nec-grafo-no circle { fill: var(--nec-elevado); stroke: var(--nec-borda); stroke-width: 1.4; }
.nec-grafo-no[data-kind="WORK"] circle { fill: #33291f; stroke: var(--nec-bronze); stroke-width: 2; }
.nec-grafo-no text { fill: var(--nec-texto); font-family: Georgia, serif; font-size: 11px; pointer-events: none; }
.nec-grafo-legenda { position:absolute; left:.75rem; bottom:.75rem; max-width:calc(100% - 1.5rem); background:rgba(21,20,18,.88); border:1px solid var(--nec-borda); border-radius:10px; padding:.45rem .65rem; font-size:.72rem; color:var(--nec-suave); }
.nec-link-cartao { color: var(--nec-texto); transition: transform .12s ease, border-color .12s ease; }
.nec-link-cartao:hover { color: var(--nec-texto); transform: translateY(-2px); border-color: var(--nec-bronze); }
@media (max-width: 767.98px) { .nec-grafo-global { min-height: 500px; } }

.nec-sugestoes { border:1px solid var(--nec-borda); border-radius:10px; overflow:hidden; background:var(--nec-superficie); }
.nec-sugestao { width:100%; display:flex; flex-direction:column; gap:.1rem; text-align:left; padding:.7rem .8rem; background:transparent; color:var(--nec-texto); border:0; border-bottom:1px solid var(--nec-borda); }
.nec-sugestao:last-child { border-bottom:0; }
.nec-sugestao:hover { background:var(--nec-elevado); }
.nec-sugestao span { color:var(--nec-suave); font-size:.78rem; }

/* ========================================================================
   NECRÓPOLIS UI v24 — cripta monumental
   Interface real inspirada no concept art aprovado. Nenhuma tela abaixo é
   uma imagem estática: arquitetura, sarcófago, ossos, cards e navegação são
   componentes HTML/CSS.
   ======================================================================== */
:root{
  --nec-fundo:#080705;--nec-superficie:#100e0b;--nec-elevado:#17130f;
  --nec-pedra:#29231c;--nec-pedra2:#3a3025;--nec-borda:#443727;
  --nec-bronze:#c4a06a;--nec-bronze2:#8b6b40;--nec-texto:#eadfcd;
  --nec-suave:#9e9079;--nec-perigo:#ca7868;--nec-sucesso:#91aa84;
  --nec-raio:4px;
}
html{background:#060504} body.nec-body{background:
 radial-gradient(circle at 50% -12%,rgba(101,70,38,.20),transparent 31%),
 linear-gradient(rgba(8,7,5,.97),rgba(8,7,5,.99)),
 repeating-linear-gradient(90deg,#0b0907 0,#0b0907 60px,#0a0806 61px,#0a0806 120px);
 color:var(--nec-texto);font-family:Georgia,"Times New Roman",serif;min-height:100vh}
a{color:#d4b57f;text-decoration:none}a:hover{color:#ecd4a9}.nec-main{position:relative;z-index:1;max-width:1240px}
.nec-ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.nec-ambient:before,.nec-ambient:after{content:"";position:absolute;width:30vw;height:70vh;border:1px solid rgba(96,75,49,.08);border-bottom:0;border-radius:50% 50% 0 0;top:12%;}.nec-ambient:before{left:-13vw}.nec-ambient:after{right:-13vw}.nec-ambient-skull,.nec-ambient-bone{position:absolute;color:#6a5841;opacity:.06;font-style:normal}.nec-ambient-skull{font-size:16rem;right:-4rem;bottom:-4rem;transform:rotate(-10deg)}.nec-ambient-bone{font-size:8rem;left:-3rem;bottom:4rem;transform:rotate(25deg)}

/* brand + navigation */
.nec-navbar{background:rgba(7,6,5,.94)!important;border-bottom:1px solid #30251a;backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.18)}.nec-nav-inner{min-height:66px;display:flex;align-items:center;gap:26px;padding:0 26px}.nec-marca{display:flex!important;flex-direction:column;align-items:flex-start;gap:0;min-width:210px}.nec-marca-texto{font-family:Georgia,serif!important;font-size:1.02rem!important;letter-spacing:.33em!important;color:#d2b17a!important}.nec-marca small{font:8px/1.2 Arial,sans-serif;letter-spacing:.19em;color:#746650;margin-top:3px}.nec-desktop-nav{gap:5px;flex:1}.nec-navbar .nav-link{display:flex;align-items:center;gap:7px;color:#90816d!important;font:10px Arial,sans-serif!important;letter-spacing:.12em!important;border-radius:0!important;padding:.6rem .72rem!important;border-bottom:1px solid transparent}.nec-navbar .nav-link span{color:#aa895c;font-size:12px}.nec-navbar .nav-link:hover,.nec-navbar .nav-link.ativo{background:transparent!important;color:#dec7a1!important;border-bottom-color:#967443}.nec-register-btn{background:linear-gradient(#392a1c,#21180f)!important;border:1px solid #84633c!important;color:#ead7b5!important;text-transform:uppercase;letter-spacing:.1em;font:10px Arial,sans-serif;border-radius:4px;padding:11px 16px}.nec-register-btn:hover{border-color:#c39d67!important;color:#fff0d3!important}.nec-logout{margin:0}.nec-mobile-nav{display:none}

/* common headings/cards */
.nec-sobrancelha{color:#b28d5b!important;letter-spacing:.24em!important;font:10px Arial,sans-serif!important}.nec-titulo,.nec-cabecalho h1,.nec-page-hero h1,.nec-register-hero h1{font-family:Georgia,serif;font-weight:400;letter-spacing:.01em}.nec-cartao,.nec-crypt-card{background:linear-gradient(145deg,rgba(21,18,14,.97),rgba(12,11,9,.98))!important;border:1px solid #3d3123!important;border-radius:4px!important;box-shadow:0 16px 36px rgba(0,0,0,.16);position:relative}.nec-crypt-card{padding:24px;overflow:hidden}.nec-crypt-card:after{content:"";position:absolute;inset:6px;border:1px solid rgba(138,106,65,.06);pointer-events:none}.btn-bronze{background:linear-gradient(#c4a06a,#a17c4b)!important;border-color:#cfaa71!important;color:#17110b!important;border-radius:3px!important}.btn-bronze:hover{background:linear-gradient(#d6b57e,#b68b54)!important}.btn-contorno{border-color:#50402d!important;border-radius:3px!important;color:#c5b59c!important}.form-control,.form-select{border-radius:3px!important;background:#0b0a08!important;border-color:#403426!important;min-height:44px}.form-control:focus,.form-select:focus{border-color:#a88454!important;box-shadow:0 0 0 .16rem rgba(174,137,84,.11)!important}.form-label,label{color:#b9aa93}.alert{border-radius:3px!important}

/* Sarcophagus */
.nec-sarc-hero{min-height:410px;border:1px solid #433524;background:
 linear-gradient(90deg,rgba(13,11,9,.99) 0,rgba(13,11,9,.93) 49%,rgba(13,11,9,.52) 72%,rgba(10,8,6,.80) 100%),
 radial-gradient(circle at 82% 70%,#6b4926 0,#21170f 19%,#0c0a08 53%);
 display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.28)}.nec-sarc-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(200,166,112,.018) 0,rgba(200,166,112,.018) 1px,transparent 1px,transparent 7px);pointer-events:none}.nec-sarc-copy{padding:46px 18px 34px 46px;z-index:2}.nec-sarc-copy h1{font-size:3.2rem;margin:.3rem 0 .1rem}.nec-sarc-sub{font-size:1.05rem;color:#bea98c;font-style:italic;margin-bottom:1.2rem}.nec-sarc-copy .nec-lede{max-width:560px;line-height:1.7}.nec-sarc-tabs{display:flex;gap:0;margin-top:32px;border-bottom:1px solid #453728;width:max-content;max-width:100%}.nec-sarc-tabs button,.nec-sarc-tabs a{border:0;background:transparent;color:#948571;padding:10px 15px;font:10px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;border-bottom:2px solid transparent}.nec-sarc-tabs .ativo,.nec-sarc-tabs a:hover{color:#ead6b5;border-bottom-color:#b08b57}.nec-crypt-scene{position:relative;min-height:410px}.nec-crypt-arch{position:absolute;width:360px;height:390px;right:-45px;top:23px;border:30px solid rgba(56,45,33,.72);border-bottom:0;border-radius:180px 180px 0 0;box-shadow:inset 0 0 0 2px rgba(151,119,77,.10),inset 0 0 40px #000}.nec-skull,.nec-bone{position:absolute;color:#a38966;opacity:.37;text-shadow:0 4px 16px #000}.sk1{right:28px;bottom:20px;font-size:62px;transform:rotate(11deg)}.bo1{left:25px;bottom:7px;font-size:46px;transform:rotate(-17deg)}
.nec-sarcophagus{--sarc-a:#4a3a29;--sarc-b:#211b14;position:absolute;width:min(520px,88%);height:170px;right:16px;bottom:55px;background:linear-gradient(#55432e 0,#30251b 12%,var(--sarc-a) 13%,var(--sarc-b) 100%);border:4px ridge #6a5337;box-shadow:0 28px 35px #000, inset 0 0 24px #0a0805;transition:.3s ease}.nec-sarc-lid{position:absolute;left:-5%;top:-23px;width:110%;height:34px;background:linear-gradient(#5b4832,#2d241a);border:4px ridge #6a5337;box-shadow:0 8px 12px #0007}.nec-sarc-face{position:absolute;inset:28px 34px 22px;display:grid;grid-template-columns:55px 1fr 55px;align-items:center;border:1px solid #665238;box-shadow:inset 0 0 20px #120e09}.nec-sarc-face i{width:32px;height:50px;margin:auto;border:1px solid #7d6441;border-radius:50% 50% 8px 8px;position:relative}.nec-sarc-face i:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#7d6441;left:10px;top:8px}.nec-sarc-face strong{text-align:center;font-weight:400;letter-spacing:.14em;color:#bea271;font-size:13px;text-shadow:0 1px 1px #000}.nec-sarcophagus.model-egypt{height:220px;width:min(330px,70%);border-radius:48% 48% 10px 10px;right:100px;bottom:28px}.nec-sarcophagus.model-egypt .nec-sarc-lid{border-radius:50% 50% 5px 5px;height:46px}.nec-sarcophagus.model-egypt .nec-sarc-face{grid-template-columns:1fr;inset:42px 24px 20px}.nec-sarcophagus.model-egypt .nec-sarc-face i{display:none}.nec-sarcophagus.model-medieval{clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);--sarc-a:#40372e;--sarc-b:#181512}.nec-sarcophagus.model-ossuary{--sarc-a:#504434;--sarc-b:#17130e}.nec-sarcophagus.model-ossuary .nec-sarc-face strong:before{content:"☠";display:block;font-size:38px;line-height:1.1;letter-spacing:0}.nec-sarc-models{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:22px 0;padding:18px 22px;border:1px solid #30261b;background:rgba(13,11,9,.88)}.nec-sarc-models h2{font-size:1.25rem;margin:0}.nec-model-grid{display:grid;grid-template-columns:repeat(4,90px);gap:8px}.nec-model{background:#12100d;border:1px solid #3b3023;color:#a99a83;padding:8px 7px;min-height:78px}.nec-model.ativo{border-color:#a47f4e;color:#dfc49c;box-shadow:inset 0 0 0 1px #6f5636}.nec-model small{display:block;font:9px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.mini-sarc{display:block;height:30px;margin:4px 7px 8px;background:linear-gradient(#54422e,#2a2118);border:2px ridge #675138}.mini-sarc.egypt{border-radius:50% 50% 5px 5px;width:36px;margin-inline:auto}.mini-sarc.medieval{clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}.mini-sarc.ossuary{font-size:19px;line-height:25px;color:#ba9d72;text-align:center}.nec-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #33291e;background:#33291e;gap:1px}.nec-stat-grid>div{background:#0e0c0a;padding:20px 22px}.nec-stat-grid strong{font:2rem Georgia,serif;color:#e6d7bd;display:block}.nec-stat-grid span{font:9px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#837662}.nec-vestige-row{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-bottom:1px solid #30261c;position:relative;z-index:1}.nec-vestige-row:last-child{border:0}.nec-vestige-row h3{font-size:1rem;margin:1px 0 4px}.nec-vestige-row p{color:#aa9b84;font-size:.88rem;margin:0 0 4px}.nec-vestige-row small{color:#746955}.nec-vestige-medallion{width:36px;height:36px;border:1px solid #806542;border-radius:50%;display:grid;place-items:center;color:#b89561;flex:none}.nec-empty-crypt{text-align:center;color:#948670;padding:35px 12px}.nec-empty-crypt span{font-size:50px;opacity:.45}.nec-card-skull{position:absolute;right:18px;bottom:5px;font-size:85px;color:#716047;opacity:.12;transform:rotate(-10deg)}.nec-bone-union{min-height:250px}.nec-must-read{padding-left:1.25rem}.nec-must-read li{padding:.38rem 0;color:#a49379}.nec-text-link{font:10px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.nec-union-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #30261c}.nec-skull-small{color:#94764f}.nec-life-line{margin:25px 0 0 22px;border-left:1px solid #725a39;padding-left:35px}.nec-life-event{position:relative;padding:0 0 30px}.nec-life-skull{position:absolute;left:-50px;top:-4px;width:29px;height:29px;background:#0e0c0a;color:#b08b58;display:grid;place-items:center}.nec-life-event span{font:9px Arial,sans-serif;color:#ad8d5f;letter-spacing:.15em}.nec-life-event h3{font-size:1.15rem;margin:5px 0}.nec-life-event p{color:#91846f;margin:0}

/* shelf */
.nec-page-hero{position:relative;border:1px solid #3f3224;background:linear-gradient(90deg,#15110d,#0d0b09 65%,#21160d);padding:31px 34px;margin-bottom:22px;overflow:hidden;display:flex;align-items:center;gap:18px}.nec-page-hero>div:first-child{flex:1;z-index:1}.nec-page-hero h1{font-size:2.5rem;margin:.15rem 0}.nec-page-hero p{color:#a2947e;margin:0}.nec-hero-relic{position:absolute;right:175px;top:-25px;width:190px;height:180px;opacity:.18}.nec-hero-relic span{font-size:130px;position:absolute;right:0}.nec-hero-relic i{position:absolute;width:120px;height:14px;background:#746048;bottom:22px;right:40px;transform:rotate(-8deg)}.nec-shelf-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:21px}.nec-search-shell{display:flex;align-items:center;gap:9px;border:1px solid #3e3225;background:#0d0b09;padding:0 12px;min-width:320px}.nec-search-shell span{color:#92754e}.nec-search-shell input{border:0;background:transparent;color:#dfd2be;height:43px;outline:0;flex:1}.nec-filter-row{display:flex;border:1px solid #382d21}.nec-filter-row button{border:0;border-right:1px solid #382d21;background:#0e0c0a;color:#887b68;padding:10px 14px;font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}.nec-filter-row button:last-child{border-right:0}.nec-filter-row button.ativo{background:#2b2116;color:#d4b985}.nec-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 18px}.nec-book-tile{color:inherit!important;display:block}.nec-book-cover{height:245px;position:relative;padding:30px 18px 18px 25px;border:1px solid #655038;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:10px 14px 22px #0007,inset 0 0 45px #0008;overflow:hidden}.nec-book-cover:before{content:"";position:absolute;inset:7px;border:1px solid rgba(221,188,132,.18)}.nec-book-cover:after{content:"";position:absolute;left:19px;right:11px;top:18px;bottom:18px;border-top:1px solid rgba(230,196,140,.20);border-bottom:1px solid rgba(230,196,140,.20)}.nec-book-cover.bronze{background:linear-gradient(145deg,#6a4c2e,#2c2016)}.nec-book-cover.olive{background:linear-gradient(145deg,#51533b,#202219)}.nec-book-cover.wine{background:linear-gradient(145deg,#653a31,#281714)}.nec-book-cover.sand{background:linear-gradient(145deg,#766049,#30271f)}.nec-book-cover.ink{background:linear-gradient(145deg,#343c49,#151920)}.nec-book-cover.stone{background:linear-gradient(145deg,#655d4e,#29251f)}.nec-book-spine{position:absolute;left:7px;top:5px;bottom:5px;width:10px;border-right:1px solid rgba(237,209,160,.25);box-shadow:4px 0 8px #0005}.nec-book-ornament{font-size:23px;color:#d1af72;margin-bottom:18px}.nec-book-cover strong{font-size:.9rem;letter-spacing:.08em;color:#eadbbf;position:relative;z-index:1}.nec-book-cover small{font:8px Arial,sans-serif;letter-spacing:.08em;color:#baa98e;margin-top:13px;position:relative;z-index:1}.nec-book-meta{padding:10px 2px}.nec-book-meta h2{font-size:.92rem;margin:0 0 2px;color:#e0d1bb}.nec-book-meta p{font-size:.78rem;color:#958872;margin:0}.nec-book-meta span{font:8px Arial,sans-serif;color:#806f58;letter-spacing:.07em;text-transform:uppercase}.nec-empty-library{text-align:center;border:1px solid #3b3023;padding:65px 20px;background:#0f0d0a}.nec-empty-library>span{font-size:72px;color:#8a7454;opacity:.4}.nec-must-panel h2{font-size:1.45rem}.nec-must-read.numbered{list-style:none;padding:0;counter-reset:must}.nec-must-read.numbered li{counter-increment:must;display:flex;gap:10px;align-items:center;border-bottom:1px solid #30261c;padding:12px 0}.nec-must-read.numbered li:before{content:counter(must,decimal-leading-zero);font:9px Arial,sans-serif;color:#9a7a50}.nec-must-read.numbered div{flex:1}.nec-must-read.numbered a{display:block;color:#dcc9a8}.nec-must-read.numbered small{display:block;color:#776b59}.nec-icon-btn{border:0;background:transparent;color:#866f51;font-size:18px}.nec-small-form{display:grid;gap:8px;margin-top:16px}

/* Register */
.nec-register-hero{position:relative;overflow:hidden;padding:34px 36px;border:1px solid #403225;background:linear-gradient(100deg,#17120d,#0e0c09 72%,#2a1b10);margin-bottom:18px}.nec-register-hero h1{font-size:2.65rem;margin:.2rem 0}.nec-register-hero p:last-child{color:#a3947c;margin:0}.nec-register-skull{position:absolute;right:35px;bottom:-38px;font-size:150px;color:#806849;opacity:.17;transform:rotate(-8deg)}.nec-register-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.nec-register-choices>a{border:1px solid #3a2e22;background:#0f0d0a;color:#bdad93;padding:15px 17px;display:flex;gap:12px;align-items:center;min-height:80px}.nec-register-choices>a.ativo{border-color:#9b7749;background:linear-gradient(145deg,#251c12,#13100c);box-shadow:inset 0 0 0 1px rgba(195,154,95,.10)}.nec-register-choices>a>b{margin-left:auto;font-size:24px;font-weight:400;color:#8f7049}.nec-choice-icon{width:42px;height:42px;border:1px solid #70583a;display:grid;place-items:center;color:#bd955f;font-size:20px}.nec-register-choices strong{display:block;color:#e0cba8;font-size:1.05rem}.nec-register-choices small{display:block;color:#887b67;font:10px/1.4 Arial,sans-serif;margin-top:3px}.nec-register-shell{border:1px solid #3c3023;background:linear-gradient(135deg,#12100d,#0b0a08);padding:30px;max-width:900px;margin:0 auto;box-shadow:0 30px 60px #0004}.nec-form-heading{display:flex;gap:17px;align-items:center;border-bottom:1px solid #362b20;padding-bottom:20px;margin-bottom:22px}.nec-form-heading h2{font-size:1.6rem;margin:.15rem 0}.nec-form-heading p:last-child{color:#8e816d;margin:0;font-size:.9rem}.nec-book-seal{width:62px;height:72px;border:1px solid #84643f;display:grid;place-items:center;font-size:28px;color:#b98e58;background:#21180f;box-shadow:inset 0 0 20px #000}.nec-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.nec-form-grid label{font:9px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a4937b}.nec-form-grid label .form-control,.nec-form-grid label .form-select,.nec-form-grid label textarea{margin-top:7px;font-family:Arial,sans-serif;text-transform:none;letter-spacing:normal}.nec-form-grid .span-2{grid-column:span 2}.nec-form-note{display:flex;gap:13px;border:1px solid #473721;background:#17120d;padding:15px;color:#9b8c75}.nec-form-note span{font-size:28px;color:#9e7d50}.nec-form-note p{margin:0;font:12px/1.55 Arial,sans-serif}.nec-form-note strong{color:#d8c09a}.nec-sugestoes{position:relative;z-index:5}

/* footer/mobile */
.nec-rodape{background:#070605;border-top:1px solid #31261b!important;padding:34px 0 95px!important;text-align:center}.nec-footer-mark{font-size:1.25rem;letter-spacing:.4em;color:#ae8a5b}.nec-rodape p{font:10px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#8b7d68;margin:7px 0}.nec-rodape small{font:8px Arial,sans-serif;letter-spacing:.16em;color:#655a4a}

/* make legacy pages inherit monument style */
.nec-cabecalho{border-bottom:1px solid #352a1e;padding-bottom:18px}.nec-grafo{border-radius:3px!important;background:radial-gradient(circle at center,#251c12 0,#0f0d0a 48%,#090806 100%)!important}.nec-grafo-no circle{fill:#17130f!important;stroke:#795f3e!important}.nec-grafo-linha{stroke:#826742!important}.nec-grafo-linha-forte{stroke:#d0a568!important}.nec-selo{border-radius:2px!important}

@media(max-width:991.98px){
 .nec-desktop-nav,.nec-logout{display:none}.nec-nav-inner{padding:0 16px}.nec-marca{min-width:0;flex:1}.nec-register-btn{padding:9px 11px}.nec-sarc-hero{grid-template-columns:1fr;min-height:650px}.nec-sarc-copy{padding:36px 26px 20px}.nec-crypt-scene{min-height:310px}.nec-sarcophagus{right:6%;bottom:45px}.nec-sarc-models{align-items:flex-start;flex-direction:column}.nec-model-grid{width:100%;grid-template-columns:repeat(4,1fr)}.nec-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nec-page-hero{padding:25px}.nec-hero-relic{right:115px}.nec-shelf-toolbar{align-items:stretch;flex-direction:column}.nec-search-shell{min-width:0}.nec-register-choices{grid-template-columns:1fr}.nec-register-shell{padding:22px}
}
@media(max-width:767.98px){
 body.nec-body{padding-bottom:68px}.nec-navbar{position:sticky!important}.nec-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(6,1fr);left:0;right:0;bottom:0;z-index:50;background:rgba(8,7,5,.97);border-top:1px solid #463520;padding:6px 4px 8px;backdrop-filter:blur(12px)}.nec-mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:#7d705e}.nec-mobile-nav a>span{font-size:17px;color:#98774d}.nec-mobile-nav small{font:8px Arial,sans-serif}.nec-mobile-nav a.ativo,.nec-mobile-nav a.ativo span{color:#d2ad73}.nec-main{padding-top:12px!important}.nec-sarc-copy h1{font-size:2.35rem}.nec-sarc-tabs{width:100%;justify-content:space-between}.nec-sarc-tabs button,.nec-sarc-tabs a{padding:9px 5px}.nec-crypt-arch{width:300px;height:300px}.nec-sarcophagus{width:88%;height:135px;right:6%;bottom:58px}.nec-sarc-face{inset:23px 22px 16px}.nec-sarc-face strong{font-size:10px}.nec-stat-grid{grid-template-columns:repeat(2,1fr)}.nec-model-grid{grid-template-columns:repeat(2,1fr)}.nec-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}.nec-book-cover{height:230px}.nec-page-hero{padding:22px 19px;display:block}.nec-page-hero h1,.nec-register-hero h1{font-size:2rem}.nec-page-hero .nec-register-btn{display:inline-block;margin-top:18px}.nec-hero-relic{right:-30px;opacity:.12}.nec-filter-row{overflow:auto}.nec-register-hero{padding:26px 22px}.nec-register-shell{padding:18px}.nec-form-grid{grid-template-columns:1fr}.nec-form-grid .span-2{grid-column:span 1}.nec-form-heading{align-items:flex-start}.nec-register-skull{right:-12px;opacity:.1}
}
@media(max-width:430px){.nec-book-grid{grid-template-columns:1fr 1fr}.nec-book-cover{height:205px;padding:25px 12px 14px 19px}.nec-book-cover strong{font-size:.75rem}.nec-sarc-hero{min-height:625px}.nec-sarc-copy{padding:27px 19px 15px}.nec-crypt-scene{min-height:285px}.nec-crypt-arch{right:-80px}.nec-register-btn{font-size:9px}.nec-marca small{display:none}}
/* v25 — Vultos / arquivo tático histórico */
.bo2-vultos{--o:#e85b12;--line:#3b352d;--ink:#ded7ca;color:#c9c0b2;background:linear-gradient(135deg,rgba(9,10,9,.96),rgba(5,6,6,.99));border:1px solid #1d1e1c;box-shadow:0 25px 70px #0008;padding:0 0 20px;overflow:hidden}.bo2-head{min-height:105px;padding:22px 26px 16px;display:flex;align-items:end;justify-content:space-between;gap:20px;background:linear-gradient(90deg,#111 0,#0a0b0b 65%,#111 100%);border-bottom:1px solid #2c2c29}.bo2-head h1{margin:0;color:#eee;font:800 34px/1 Arial,sans-serif;letter-spacing:.08em}.bo2-head p{margin:5px 0 0;color:#8f8d87;font:11px/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.bo2-kicker{color:#d45a1b!important}.bo2-search{display:flex;min-width:310px}.bo2-search input{width:100%;background:#080909;border:1px solid #333;color:#ddd;padding:11px 12px;font:12px Arial;letter-spacing:.1em}.bo2-search button{border:0;background:var(--o);color:#090909;font-weight:800;padding:0 17px}.bo2-tabs{display:flex;background:#121414;border-bottom:1px solid #252625;overflow:auto}.bo2-tabs span{min-width:125px;text-align:center;padding:15px 18px;border-right:1px solid #292a29;color:#999;font:700 12px Arial;letter-spacing:.08em}.bo2-tabs .active{background:linear-gradient(#f06920,#d74b09);color:#0c0c0b}.bo2-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:18px 22px 0}.bo2-page{font:10px Arial;letter-spacing:.15em;color:#777;margin:0 0 10px}.bo2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.bo2-card{--tag-tone:#59452d;position:relative;display:grid;grid-template-columns:88px 1fr 88px;height:92px;padding:0;overflow:hidden;text-align:left;background:linear-gradient(100deg,#1a1815,#101111 58%,var(--tag-tone));border:1px solid #45433e;color:#eee;cursor:pointer;filter:saturate(.72);transition:.16s ease}.bo2-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 35%,#0002 65%,#0000);pointer-events:none}.bo2-card:hover,.bo2-card.selected{border-color:#e25a17;box-shadow:0 0 0 2px #e25a1735,0 0 18px #e25a1730;transform:translateY(-1px);filter:saturate(.9)}.bo2-portrait{overflow:hidden;background:#171613;display:flex;align-items:center;justify-content:center}.bo2-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:sepia(.85) grayscale(.38) contrast(1.18) brightness(.82)}.bo2-portrait b{font:32px Georgia;color:#9e8666}.bo2-card-copy{z-index:1;align-self:end;padding:0 8px 12px;min-width:0}.bo2-card-copy strong{display:block;color:#f0ece5;font:700 13px/1.05 Arial,sans-serif;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 3px #000}.bo2-card-copy small{display:block;margin-top:4px;color:#b5aea2;font:9px Arial}.bo2-tag{z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#d2ad69;text-shadow:0 2px 4px #000}.bo2-tag b{font:700 25px Georgia}.bo2-tag small{font:8px Arial;letter-spacing:.08em;max-width:82px}.bo2-detail{border:1px solid #44413b;background:#0c0d0d;min-height:515px;align-self:start;position:sticky;top:12px}.bo2-detail-hero{height:160px;position:relative;overflow:hidden;background:linear-gradient(135deg,#24211d,#111)}.bo2-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#0008)}.bo2-detail-hero img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:sepia(.85) grayscale(.35) contrast(1.18) brightness(.75)}.bo2-detail-hero span{position:absolute;z-index:2;right:18px;top:30px;color:#d3ad69;font:700 40px Georgia;text-shadow:0 2px 5px #000}.bo2-detail-hero small{position:absolute;z-index:2;right:17px;top:78px;color:#c6b798;font:9px Arial;letter-spacing:.12em}.bo2-detail-body{padding:19px}.bo2-detail h2{color:#eee;font:800 28px/1 Arial;margin:0 0 10px;text-transform:uppercase}.bo2-detail p{color:#aaa;font:12px/1.5 Arial;margin:4px 0}.bo2-detail i{display:block;color:#888;font:10px Arial;letter-spacing:.18em;margin:18px 0 8px}.bo2-detail hr{border-color:#353535}.bo2-stat{letter-spacing:.1em!important}.bo2-stat b{color:#e5601b;font-size:16px}.bo2-open{display:block;margin-top:20px;border-left:4px solid var(--o);background:#171818;color:#eee!important;padding:12px;text-decoration:none!important;font:700 11px Arial;letter-spacing:.12em}.bo2-icon-note{font-size:9px!important;color:#666!important;margin-top:17px!important}.bo2-pagination{display:flex;gap:6px;margin-top:15px}.bo2-pagination a{min-width:30px;text-align:center;padding:6px;background:#111;border:1px solid #373737;color:#aaa;text-decoration:none}.bo2-pagination a.active{background:#df5714;color:#080808;border-color:#df5714}@media(max-width:1100px){.bo2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.bo2-head{align-items:stretch;flex-direction:column}.bo2-search{min-width:0}.bo2-layout{grid-template-columns:1fr}.bo2-detail{position:static;order:-1;min-height:0}.bo2-detail-hero{height:130px}.bo2-grid{grid-template-columns:1fr}.bo2-tabs span{min-width:110px}.bo2-card{grid-template-columns:82px 1fr 82px}}

/* V26 — cabeçalho dos dossiês: agrega iconografia real sem substituir a estética da Necrópole. */
.nec-vulto-hero{position:relative;isolation:isolate;overflow:hidden;min-height:205px;padding:22px 26px!important;border-top:1px solid rgba(181,139,74,.24);border-bottom:1px solid rgba(181,139,74,.28);background:#0c0a07}
.nec-vulto-hero::before{content:"";position:absolute;z-index:-2;inset:-18%;background-image:var(--vulto-flag,none);background-position:center;background-size:cover;filter:grayscale(.18) sepia(.18);opacity:.085;transform:scale(1.04)}
.nec-vulto-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,7,5,.94) 0%,rgba(8,7,5,.82) 46%,rgba(8,7,5,.9) 100%),linear-gradient(0deg,rgba(8,7,5,.55),transparent 65%)}
.nec-vulto-hero-conteudo{display:flex;align-items:center;gap:25px;position:relative;z-index:1}
.nec-vulto-retrato{width:142px;height:166px;flex:0 0 142px;margin:0;overflow:hidden;border:1px solid rgba(196,150,79,.52);background:#17120d;box-shadow:0 12px 30px #0009}
.nec-vulto-retrato img{width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:sepia(.72) grayscale(.2) contrast(1.12) brightness(.82)}
.nec-vulto-identidade{min-width:0}.nec-vulto-identidade .nec-titulo{margin-top:3px}.nec-vulto-fonte-imagem{max-width:760px;margin:13px 0 0;color:#756b5d;font:10px/1.35 Arial,sans-serif;letter-spacing:.04em}
@media(max-width:700px){.nec-vulto-hero{padding:18px!important}.nec-vulto-hero-conteudo{align-items:flex-start;gap:15px}.nec-vulto-retrato{width:96px;height:122px;flex-basis:96px}.nec-vulto-identidade .nec-titulo{font-size:clamp(25px,8vw,38px)}.nec-vulto-hero::before{opacity:.065}}

/* =====================================================================
   NECRÓPOLIS v27 — Iluminura × Conceitual, mobile first
   ===================================================================== */
.nec-illum-hero{background:#090806;isolation:isolate;border-color:#6e512e}.nec-illum-hero:after{content:"";position:absolute;inset:10px;border:1px solid rgba(181,132,68,.22);pointer-events:none;z-index:6}.nec-illum-frame i{position:absolute;width:72px;height:72px;border-color:#9b713b;opacity:.55;z-index:7;pointer-events:none}.nec-illum-frame i:nth-child(1){left:18px;top:18px;border-left:1px solid;border-top:1px solid}.nec-illum-frame i:nth-child(2){right:18px;top:18px;border-right:1px solid;border-top:1px solid}.nec-illum-frame i:nth-child(3){left:18px;bottom:18px;border-left:1px solid;border-bottom:1px solid}.nec-illum-frame i:nth-child(4){right:18px;bottom:18px;border-right:1px solid;border-bottom:1px solid}.nec-illum-scene{background:radial-gradient(circle at 55% 55%,rgba(117,54,29,.24),transparent 45%),linear-gradient(145deg,#090806,#130c09);overflow:hidden}.nec-illum-scene:before,.nec-illum-scene:after{content:"❧";position:absolute;color:#9b713b;font-size:100px;opacity:.22;z-index:1}.nec-illum-scene:before{left:8px;bottom:5px;transform:rotate(-28deg)}.nec-illum-scene:after{right:8px;top:30px;transform:rotate(145deg)}
.nec-standard{position:absolute;right:11%;top:24px;width:58%;height:245px;background:linear-gradient(135deg,#681e1a,#35100f 70%);clip-path:polygon(3% 0,97% 0,94% 96%,50% 90%,6% 96%);border:1px solid #a8793f;box-shadow:inset 0 0 45px #120604;display:grid;place-items:center;z-index:1;transition:.25s}.nec-standard:before{content:"";position:absolute;inset:9px;border:1px solid rgba(210,160,83,.45)}.nec-standard-symbol{font-size:2.1rem;letter-spacing:.12em;color:#c7964f;text-shadow:0 2px #000;font-weight:500}.nec-illum-scene[data-banner="hellas"] .nec-standard,.nec-sarc-hero[data-banner="hellas"] .nec-standard{background:#182d3d}.nec-sarc-hero[data-banner="chi"] .nec-standard{background:#5b1d1a}.nec-sarc-hero[data-banner="crossbanner"] .nec-standard{background:#6b3426}.nec-sarc-hero[data-banner="crescent"] .nec-standard{background:#17372f}.nec-sarc-hero[data-banner="fleur"] .nec-standard{background:#182d43}.nec-sarc-hero[data-banner="sunbanner"] .nec-standard{background:#702c24}.nec-sarc-hero[data-banner="tree"] .nec-standard{background:#243526}.nec-sarc-hero[data-banner="none"] .nec-standard{opacity:0}
.nec-ornament-layer{position:absolute;inset:0;z-index:4;pointer-events:none}.nec-live-ornament{position:absolute;color:#c59a5c;text-shadow:0 2px 3px #000;font-size:42px;filter:sepia(.3)}.nec-live-ornament:nth-child(1){left:8%;bottom:64px}.nec-live-ornament:nth-child(2){left:25%;bottom:68px}.nec-live-ornament:nth-child(3){right:10%;bottom:62px}.nec-live-ornament:nth-child(4){right:22%;bottom:84px}.nec-customize-trigger{position:absolute;right:22px;top:20px;z-index:9;border:1px solid #8d6739;background:#140e09;color:#d2ad73;padding:9px 13px;font:9px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.nec-customizer{margin:22px 0;border:1px solid #5e4529;background:linear-gradient(180deg,#100c08,#080706);box-shadow:inset 0 0 0 8px #0a0806,inset 0 0 0 9px rgba(165,119,59,.2);padding:28px;position:relative}.nec-customizer[hidden]{display:none!important}.nec-customizer-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.nec-customizer-head h2{font-size:1.65rem}.nec-customizer-close{border:1px solid #5d472f;background:transparent;color:#c9aa7c;width:42px;height:42px;font-size:24px}.nec-editor-tabs{display:flex;overflow:auto;border-bottom:1px solid #46341f;margin:16px 0 22px}.nec-editor-tabs button{flex:1;min-width:105px;background:transparent;border:0;border-bottom:2px solid transparent;color:#94836d;padding:12px 10px;font:10px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.nec-editor-tabs button.ativo{color:#e2c18b;border-bottom-color:#c3904c;background:linear-gradient(180deg,transparent,rgba(105,46,25,.22))}.nec-editor-pane{display:none}.nec-editor-pane.ativo{display:block}.nec-editor-intro{color:#a9967d;margin-bottom:18px}.nec-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.nec-choice{min-width:0;border:1px solid #46351f;background:#0c0a08;color:#c6ad86;padding:10px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:.18s}.nec-choice:hover,.nec-choice.ativo{border-color:#bd8743;background:linear-gradient(160deg,#26160e,#0b0907);box-shadow:inset 0 0 0 1px rgba(189,135,67,.25)}.nec-choice strong{font-weight:400}.nec-choice small{color:#887761;font-size:.7rem}.nec-tomb-glyph{width:80px;height:44px;border:2px solid #9e7847;background:#2b2118;position:relative;clip-path:polygon(6% 0,94% 0,100% 100%,0 100%)}.nec-tomb-glyph:after{content:"✦  ✦  ✦";position:absolute;inset:0;display:grid;place-items:center;color:#ad8957;font-size:10px}.nec-tomb-glyph.greek{clip-path:polygon(12% 0,88% 0,100% 18%,92% 22%,92% 100%,8% 100%,8% 22%,0 18%)}.nec-tomb-glyph.egypt{height:60px;width:48px;border-radius:45% 45% 8% 8%}.nec-tomb-glyph.gothic{clip-path:polygon(50% 0,94% 38%,94% 100%,6% 100%,6% 38%)}.nec-tomb-glyph.byzantine{border-radius:50% 50% 0 0}.nec-tomb-glyph.islamic{border-radius:50% 50% 5% 5%}.nec-tomb-glyph.meso{clip-path:polygon(25% 0,75% 0,88% 35%,100% 35%,100% 100%,0 100%,0 70%,12% 70%)}.nec-ornament-choice span,.nec-banner-choice span{font-size:2.2rem;color:#c69552;line-height:1}.nec-ornament-choice{min-height:105px}.nec-choice-counter{text-align:right;color:#9d876a;margin:12px 0 0}.nec-banner-choice{min-height:125px;background:linear-gradient(145deg,#33130f,#130b08)}.nec-banner-choice:nth-child(3n+2){background:linear-gradient(145deg,#173041,#0d1115)}.nec-banner-choice:nth-child(3n){background:linear-gradient(145deg,#29351f,#0d100a)}.nec-epitaph-label{display:block;color:#a98c63;font:10px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.nec-editor-pane textarea{width:100%;background:#090806;border:1px solid #594226;color:#e1ceb0;padding:15px;font:1.15rem Georgia,serif;resize:none}.nec-epitaph-meta{display:flex;justify-content:space-between;color:#887762;font-size:.78rem;margin-top:7px}.nec-epitaph-suggestions{display:grid;gap:7px;margin-top:18px}.nec-epitaph-suggestions button{text-align:left;border:1px solid #3c2e1d;background:#0b0907;color:#b6a184;padding:10px 12px;font-family:Georgia,serif}.nec-customizer-preview{margin-top:22px;border-top:1px solid #3d2d1c;padding-top:18px;display:flex;align-items:center;gap:18px}.nec-customizer-preview p{margin:0}.nec-customizer-preview .btn{margin-left:auto}
.nec-sarcophagus.model-greek{clip-path:polygon(8% 0,92% 0,100% 14%,96% 18%,96% 100%,4% 100%,4% 18%,0 14%)}.nec-sarcophagus.model-gothic{clip-path:polygon(50% 0,96% 25%,100% 100%,0 100%,4% 25%);--sarc-a:#302a25}.nec-sarcophagus.model-byzantine{border-radius:45% 45% 4px 4px;--sarc-a:#45372a}.nec-sarcophagus.model-islamic{border-radius:42% 42% 0 0;--sarc-a:#3d3327}.nec-sarcophagus.model-meso{clip-path:polygon(18% 0,82% 0,88% 18%,96% 18%,100% 100%,0 100%,4% 18%,12% 18%);--sarc-a:#44392a}
@media(max-width:767.98px){.nec-illum-hero{min-height:760px;display:flex;flex-direction:column}.nec-sarc-copy{order:2;padding:18px 22px 22px;text-align:center}.nec-sarc-copy .nec-sobrancelha,.nec-sarc-copy .nec-lede{display:none}.nec-sarc-copy h1{font-size:2.2rem}.nec-sarc-sub{margin-bottom:8px}.nec-sarc-tabs{margin:16px auto 0}.nec-illum-scene{order:1;min-height:455px;width:100%}.nec-standard{width:74%;height:330px;right:13%;top:18px}.nec-standard-symbol{font-size:2.5rem}.nec-sarcophagus{width:86%;right:7%;bottom:52px;height:145px;z-index:3}.nec-customize-trigger{top:auto;bottom:12px;right:50%;transform:translateX(50%);white-space:nowrap}.nec-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nec-customizer{padding:20px 14px;margin-inline:-2px}.nec-customizer-head h2{font-size:1.35rem}.nec-choice{min-height:105px;padding:8px 5px}.nec-tomb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nec-customizer-preview{display:block}.nec-customizer-preview .btn{width:100%;margin:14px 0 0}.nec-live-ornament{font-size:34px}.nec-sarc-models{display:none}}
@media(max-width:390px){.nec-choice-grid{grid-template-columns:repeat(3,1fr)}.nec-ornament-choice strong,.nec-banner-choice strong{font-size:.78rem}.nec-illum-scene{min-height:430px}.nec-standard{height:310px}}

/* ========================================================================
   NECRÓPOLE UI v28 — MANUSCRITO CELESTE
   Um único DNA visual para Sarcófago, Vultos, perfis e Teia.
   Base: Iluminura × Conceitual, mobile-first.
   ======================================================================== */
:root{
  --nec-ink:#080705;--nec-ink-2:#0d0b09;--nec-parchment:#d8c29c;
  --nec-gold:#c59b58;--nec-gold-soft:#8d6b3e;--nec-wine:#5a1816;
  --nec-blue:#22384b;--nec-olive:#34402b;--nec-ivory:#eadfc9;
  --nec-antiquity:#d2a04e;--nec-early:#b98d45;--nec-medieval:#b54c45;
  --nec-renaissance:#d4c5a4;--nec-modern:#5c87b8;--nec-contemporary:#5fa57c;
}
body.nec-body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:
 radial-gradient(circle at 50% 18%,rgba(140,95,48,.08),transparent 28%),
 repeating-linear-gradient(0deg,transparent 0 7px,rgba(216,194,156,.012) 8px 9px);mix-blend-mode:screen}
.nec-main{max-width:1180px}.nec-cabecalho,.nec-cartao,.nec-crypt-card,.nec-orbit-shell,.bo2-card,.bo2-detail{position:relative}
.nec-cartao:before,.nec-crypt-card:before,.nec-orbit-shell:before,.bo2-card:before,.bo2-detail:before{content:"";position:absolute;inset:5px;border:1px solid rgba(197,155,88,.055);pointer-events:none}
.nec-manuscript-card{overflow:hidden}.nec-manuscript-card:after{content:"❧";position:absolute;right:10px;bottom:2px;color:rgba(197,155,88,.16);font-size:2.1rem;pointer-events:none}

/* Teia: um astrolábio/manuscrito vivo, sem retratos. */
.nec-orbit-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.nec-orbit-shell{border:1px solid #493721;background:linear-gradient(180deg,rgba(13,11,9,.98),rgba(7,6,5,.99));padding:12px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.28)}
.nec-orbit-shell:after{content:"✦";position:absolute;right:13px;top:58px;color:rgba(197,155,88,.18);font-size:56px;pointer-events:none}
.nec-orbit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px;position:relative;z-index:2}
.nec-segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid #5c4529;background:#0a0807;min-width:190px}
.nec-segmented button{border:0;background:transparent;color:#97856c;padding:9px 18px;font:11px Georgia,serif;letter-spacing:.06em}
.nec-segmented button.ativo{color:#f0ddba;background:linear-gradient(#4a341f,#24180f);box-shadow:inset 0 0 0 1px #8d6739}
.nec-orbit-action{width:42px;height:42px;border:1px solid #60492d;background:#0a0807;color:#c9a66c;border-radius:50%;font-size:17px}
.nec-orbit-canvas{min-height:650px!important;border:1px solid #302418!important;background:
 radial-gradient(circle at 50% 48%,rgba(108,72,35,.18),transparent 22%),
 radial-gradient(circle at 20% 15%,rgba(103,29,25,.07),transparent 20%),#070605!important;overflow:hidden}
.nec-orbit-svg{width:100%;height:auto;display:block;touch-action:manipulation;user-select:none}
.nec-orbit-ring,.nec-cluster-ring{fill:none;stroke:rgba(197,155,88,.14);stroke-width:1;stroke-dasharray:1 7}
.nec-orbit-lines path,.nec-orbit-link{fill:none;stroke:rgba(197,155,88,.48);stroke-linecap:round;transition:.25s ease}
.nec-orbit-link.satellite{opacity:.4;stroke-width:.7}.nec-orbit-link.period-medieval{stroke:rgba(181,76,69,.78)}.nec-orbit-link.period-modern{stroke:rgba(92,135,184,.68)}.nec-orbit-link.period-contemporary{stroke:rgba(95,165,124,.68)}
.nec-orbit-node{cursor:pointer;outline:none}.nec-orbit-node .planet-core{fill:#110e0a;stroke:#c39a5b;stroke-width:2;filter:drop-shadow(0 0 7px rgba(197,155,88,.35))}
.nec-orbit-node.center .planet-core{fill:#24170c;stroke:#e4bd79;stroke-width:2.4}.nec-orbit-node .sun-halo{fill:rgba(197,155,88,.045);stroke:rgba(224,185,118,.55);stroke-width:1.2;stroke-dasharray:2 5}
.nec-orbit-node.period-antiquity .planet-core{stroke:var(--nec-antiquity)}.nec-orbit-node.period-early-christian .planet-core{stroke:var(--nec-early)}.nec-orbit-node.period-medieval .planet-core{stroke:var(--nec-medieval)}.nec-orbit-node.period-renaissance .planet-core{stroke:var(--nec-renaissance)}.nec-orbit-node.period-modern .planet-core{stroke:var(--nec-modern)}.nec-orbit-node.period-contemporary .planet-core{stroke:var(--nec-contemporary)}
.nec-orbit-name{fill:#eadfc9;font:15px Georgia,serif}.nec-orbit-date{fill:#9c896c;font:10px Georgia,serif;letter-spacing:.03em}.nec-orbit-name.compact{font-size:10px}.nec-orbit-date.compact{font-size:8px;opacity:.84}.nec-orbit-caption{fill:#b99761;font:9px Arial,sans-serif;letter-spacing:.19em}
.nec-cluster-label{fill:#bda17a;font:10px Georgia,serif}.nec-cluster-label.period-medieval{fill:var(--nec-medieval)}.nec-cluster-label.period-modern{fill:var(--nec-modern)}.nec-cluster-label.period-contemporary{fill:var(--nec-contemporary)}
.nec-grafo-legenda{left:10px!important;bottom:10px!important;background:rgba(7,6,5,.92)!important;border-color:#4b3821!important;border-radius:2px!important;color:#8f806a!important;font-size:10px!important;letter-spacing:.03em}
.nec-orbit-sheet{position:absolute;left:10px;right:10px;bottom:10px;z-index:6;background:linear-gradient(180deg,#16110c,#0b0907);border:1px solid #6b5030;padding:9px 13px 13px;box-shadow:0 -16px 40px rgba(0,0,0,.55)}
.nec-orbit-sheet-handle{width:35px;height:3px;background:#8f7047;margin:0 auto 9px;opacity:.7}.nec-orbit-sheet-copy h3{font-size:1.28rem;margin:1px 0 2px}.nec-orbit-sheet-copy p:last-child{color:#9b8b74;font-size:.82rem;margin:0}.nec-orbit-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.nec-orbit-sheet-actions button,.nec-orbit-sheet-actions a{border:1px solid #594329;background:#0c0907;color:#d7bb8b;padding:10px;text-align:center;font-size:.78rem}.nec-orbit-sheet-actions a{background:linear-gradient(#46321f,#281b10);border-color:#80603a}
.nec-period-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:12px 3px 3px}.nec-period-legend span{font:9px Arial,sans-serif;letter-spacing:.04em;color:#958670;display:flex;align-items:center;gap:5px}.nec-period-legend i{width:7px;height:7px;border-radius:50%;display:block;background:#777}.nec-period-legend [data-period="ANTIQUITY"] i{background:var(--nec-antiquity)}.nec-period-legend [data-period="EARLY_CHRISTIAN"] i{background:var(--nec-early)}.nec-period-legend [data-period="MEDIEVAL"] i{background:var(--nec-medieval)}.nec-period-legend [data-period="RENAISSANCE"] i{background:var(--nec-renaissance)}.nec-period-legend [data-period="MODERN"] i{background:var(--nec-modern)}.nec-period-legend [data-period="CONTEMPORARY"] i{background:var(--nec-contemporary)}
.nec-orbit-disclaimer{border-top:1px solid #302418;margin:10px -12px -12px;padding:10px 12px;color:#8e7b62;font-size:.76rem;font-style:italic;text-align:center}
.nec-teia-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3b2e20;border:1px solid #3b2e20}.nec-teia-summary-card{background:#0c0a08;padding:14px 15px}.nec-teia-summary-card strong{display:block;font:1.55rem Georgia,serif;color:#d8bc8a}.nec-teia-summary-card span{font:8px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8d7c64}

/* Vultos: abandona o aspecto BO2 e passa a usar a mesma linguagem manuscrita. */
.bo2-vultos{font-family:Georgia,serif}.bo2-head{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #3d2f20;padding-bottom:18px;margin-bottom:12px}.bo2-kicker{color:#b38c56!important;font:9px Arial,sans-serif!important;letter-spacing:.22em!important}.bo2-head h1{font-weight:400;letter-spacing:.12em;color:#eadfc9}.bo2-head p{color:#9f8e74}.bo2-search{display:flex;border:1px solid #4e3b25;background:#090806}.bo2-search input{background:transparent;border:0;color:#e5d5bb;padding:11px 12px;outline:none;min-width:220px}.bo2-search button{border:0;border-left:1px solid #4e3b25;background:#1e160e;color:#c7a66f;padding:0 14px;font:9px Arial,sans-serif;letter-spacing:.12em}.bo2-tabs{display:flex;gap:4px;overflow:auto;padding:5px 0 14px}.bo2-tabs span{white-space:nowrap;padding:7px 10px;border:1px solid #35291d;color:#8e7e68;font:9px Arial,sans-serif;letter-spacing:.08em}.bo2-tabs .active{color:#e0c69a;border-color:#7b5b34;background:#24180f}.bo2-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:15px}.bo2-page{font:9px Arial,sans-serif;color:#8e7c63;letter-spacing:.13em}.bo2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bo2-card{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:stretch;min-height:88px;border:1px solid #473622;background:linear-gradient(105deg,#0e0b08,#15100b 55%,color-mix(in srgb,var(--tag-tone) 25%,#0d0a08));color:#eadfc9;padding:0;text-align:left;overflow:hidden}.bo2-card.selected{border-color:#b78c50;box-shadow:inset 3px 0 0 #b78c50}.bo2-portrait{position:relative;overflow:hidden;border-right:1px solid #3a2c1d;background:#12100d;display:grid;place-items:center}.bo2-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(8,7,5,.22))}.bo2-portrait img{width:100%;height:100%;object-fit:cover;filter:sepia(.72) saturate(.65) contrast(1.08)}.bo2-portrait b{font:2rem Georgia,serif;color:#b89560}.bo2-card-copy{padding:12px 9px;min-width:0;display:flex;flex-direction:column;justify-content:center}.bo2-card-copy strong{font-size:.98rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bo2-card-copy small{color:#9f8d72;font-size:.73rem;margin-top:4px}.bo2-tag{border-left:1px solid #3b2c1d;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.14)}.bo2-tag b{font-size:1rem;color:#cba366}.bo2-tag small{font:7px Arial,sans-serif;color:#9a8466;letter-spacing:.07em;text-align:center;margin-top:5px}.bo2-detail{border:1px solid #473622;background:#0c0a08;overflow:hidden}.bo2-detail-hero{height:175px;position:relative;background:radial-gradient(circle at 50% 30%,rgba(124,82,39,.18),transparent 50%),#0b0907;border-bottom:1px solid #3b2c1d;display:grid;place-items:center}.bo2-detail-hero img{width:100%;height:100%;object-fit:cover;filter:sepia(.75) brightness(.62);opacity:.8}.bo2-detail-hero>span{position:absolute;right:18px;bottom:22px;font-size:2.3rem;color:#d1a86d}.bo2-detail-hero>small{position:absolute;right:18px;bottom:9px;font:7px Arial,sans-serif;letter-spacing:.1em;color:#a28c6c}.bo2-detail-body{padding:18px}.bo2-detail-body h2{font-size:1.6rem;font-weight:400}.bo2-detail-body p{color:#a49276}.bo2-detail-body i{color:#b49362;font-size:.72rem}.bo2-detail-body hr{border-color:#3c2f20}.bo2-stat{font:9px Arial,sans-serif!important;letter-spacing:.08em}.bo2-stat b{font:1.3rem Georgia,serif;color:#d9b980;margin-right:4px}.bo2-open{display:block;margin-top:15px;border:1px solid #745632;padding:11px;text-align:center;background:linear-gradient(#3d2b1b,#21170f);font:9px Arial,sans-serif;letter-spacing:.12em}.bo2-icon-note{font-size:.69rem!important;margin-top:15px}.bo2-pagination{display:flex;gap:5px;margin-top:14px}.bo2-pagination a{width:34px;height:34px;display:grid;place-items:center;border:1px solid #403020;color:#9f8b6b}.bo2-pagination a.active{background:#2f2114;color:#e6cca0;border-color:#8d693c}

/* Perfil do Vulto: fotografia real como documento, não como hero dominante. */
.nec-vulto-hero{padding:16px!important;border:1px solid #473722!important;background:linear-gradient(90deg,rgba(9,8,6,.98),rgba(9,8,6,.91)),var(--vulto-flag,none)!important;background-size:cover!important;background-position:center!important;overflow:hidden}
.nec-vulto-hero:after{content:"❧ ✦ ❧";position:absolute;right:18px;top:14px;color:rgba(197,155,88,.16);letter-spacing:.7em;font-size:1.3rem}.nec-vulto-hero-conteudo{display:flex;align-items:center;gap:17px;position:relative;z-index:2}.nec-vulto-retrato{width:88px;height:108px;margin:0;flex:none;border:1px solid #7d5d37;padding:4px;background:#0c0907}.nec-vulto-retrato img{width:100%;height:100%;object-fit:cover;filter:sepia(.55) saturate(.72) contrast(1.08)}.nec-vulto-identidade .nec-titulo{font-size:2rem}.nec-vulto-fonte-imagem{font-size:.7rem;color:#897860;margin:5px 0 0;max-width:70ch}

@media(max-width:767.98px){
  .nec-main{padding-left:12px!important;padding-right:12px!important}.nec-orbit-head{display:block}.nec-orbit-head .nec-titulo{font-size:2rem}.nec-orbit-shell{margin-inline:-2px;padding:8px}.nec-orbit-canvas{min-height:650px!important}.nec-period-legend{gap:7px 10px;padding:10px 2px 2px}.nec-period-legend span{font-size:8px}.nec-orbit-disclaimer{margin:8px -8px -8px}.nec-teia-summary{grid-template-columns:repeat(3,1fr)}.nec-teia-summary-card{padding:12px 8px}.nec-teia-summary-card strong{font-size:1.25rem}.nec-teia-summary-card span{font-size:7px}
  .bo2-head{display:block}.bo2-search{margin-top:12px}.bo2-search input{min-width:0;width:100%}.bo2-layout{grid-template-columns:1fr}.bo2-detail{display:none}.bo2-grid{grid-template-columns:1fr}.bo2-card{grid-template-columns:62px minmax(0,1fr) 68px;min-height:80px}.bo2-tabs{scrollbar-width:none}.bo2-head h1{font-size:2rem}.bo2-card-copy strong{font-size:.94rem}
  .nec-vulto-hero-conteudo{align-items:flex-start}.nec-vulto-retrato{width:70px;height:88px}.nec-vulto-identidade .nec-titulo{font-size:1.55rem}.nec-vulto-hero:after{display:none}
}
@media(max-width:380px){.nec-orbit-name.compact{font-size:9px}.nec-orbit-date.compact{font-size:7px}.nec-teia-summary-card span{letter-spacing:.05em}.nec-vulto-retrato{width:62px;height:78px}}
