/* =====================================================================
   DUNGEON DAS RELÍQUIAS — opção B "cristal premium" (28/09)
   Escolha do autor na auditoria: https://claude.ai/artifact/T6L5tbJ1VpEJ27dMwXD7ZL
   Mesma linguagem da Loja B / Combate B: fundo escuro, ouro para ação,
   ciano de cristal para a dungeon. Tudo que mexe DENTRO da arena só vale com
   body.relic-sanctum-mode / body.relic-guardian-mode: a horda não muda.
   Quem desenha é src/ui/dungeon-b.js; aqui só há aparência.
   ===================================================================== */
:root{--dg-ouro:#e0ad4c;--dg-ouro2:#f6d58a;--dg-ciano:#6fdcff;--dg-ciano2:#c6f3ff;--dg-fundo:#0b121c;--dg-painel:#111a28;--dg-linha:#2b3a54;--dg-texto:#e6edf6;--dg-suave:#9aabc3;--dg-apagado:#6d7f99}

/* ---------- cartão na coluna direita ---------- */
.dungeon-rail-card{padding:0!important;overflow:hidden!important;border-color:#2d6d86!important;background:linear-gradient(135deg,rgba(24,92,120,.45),rgba(10,14,22,.92))!important}
.dungeon-rail-entry{width:100%}
.dungeon-rail-entry .rail-toggle-copy strong{color:var(--dg-ciano2)}
.dungeon-rail-entry .rail-toggle-chevron{font-size:1.3em;color:var(--dg-ciano)}
.dungeon-rail-entry.dungeon-rail-locked{opacity:.62}

/* ---------- abas da janela: a ATIVA é a que brilha ---------- */
#relicModal .relic-tabs button{background:#101826;border:1px solid #2b3a54;color:#8fa2bd;box-shadow:none}
#relicModal .relic-tabs button:hover{border-color:#4a6a92;color:#dbe6f5}
#relicModal .relic-tabs button.active{background:linear-gradient(180deg,#f1c164,#cf9434);border-color:#f6d58a;color:#241604}

/* Na dungeon, o título "Relíquia Universal" dá lugar ao cabeçalho do modo. */
#relicModal .relic-modal-card[data-aba="sanctum"],#relicModal .relic-modal-card[data-aba="guardian"]{width:min(880px,94vw)}
#relicModal .relic-modal-card[data-aba="sanctum"] .modal-title-row>div,#relicModal .relic-modal-card[data-aba="guardian"] .modal-title-row>div{visibility:hidden;height:0;overflow:hidden}
#relicModal .relic-modal-card[data-aba="sanctum"] .modal-title-row,#relicModal .relic-modal-card[data-aba="guardian"] .modal-title-row{margin-bottom:0;min-height:0}

/* ---------- entrada ---------- */
.dungeon-b-panel{display:grid;gap:0;border:1px solid #6b5426;border-radius:16px;overflow:hidden;background:var(--dg-fundo)}
.dungeon-b-panel.hidden{display:none}
.dungeon-b-hero{position:relative;display:grid;align-content:end;gap:6px;min-height:170px;padding:22px 22px 18px;border-bottom:1px solid #6b5426;background:linear-gradient(90deg,rgba(7,10,16,.94) 0%,rgba(7,10,16,.6) 55%,rgba(7,10,16,.25) 100%),url("../assets/backgrounds/relic_sanctum_placeholder.webp") center/cover;overflow:hidden}
.dungeon-b-hero-guardian{background:linear-gradient(90deg,rgba(7,10,16,.94) 0%,rgba(7,10,16,.62) 50%,rgba(7,10,16,.15) 100%),url("../assets/backgrounds/relic_guardian_placeholder.webp") center/cover}
.dungeon-b-hero h3{margin:0;font-family:var(--font-display,Georgia,serif);font-size:32px;line-height:1.1;color:#fff3d6;text-shadow:0 2px 12px #000;position:relative}
.dungeon-b-hero p{margin:0;max-width:52ch;color:#d5deea;font-size:14px;line-height:1.45;position:relative}
.dungeon-b-eyebrow{position:relative;font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--dg-ouro)}
.dungeon-b-hero-art{position:absolute;right:4%;bottom:-6%;height:118%;width:auto;max-width:42%;object-fit:contain;filter:drop-shadow(0 0 22px rgba(111,220,255,.45));pointer-events:none}
.dungeon-b-body{display:grid;grid-template-columns:170px minmax(0,1fr)}
.dungeon-b-main{display:grid;gap:14px;padding:16px;align-content:start}

.dungeon-b-tower{list-style:none;margin:0;padding:14px 10px;display:flex;flex-direction:column-reverse;gap:3px;border-right:1px solid #2a3547;background:#0a1019}
.dungeon-b-tower li{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;border:1px solid transparent;border-radius:6px;font-size:12.5px;color:var(--dg-apagado);font-variant-numeric:tabular-nums}
.dungeon-b-tower li em{font-style:normal;font-size:11px;white-space:nowrap}
.dungeon-b-tower li.feito{color:var(--dg-texto)}
.dungeon-b-tower li.longe{opacity:.55}
.dungeon-b-tower li.cp{color:var(--dg-ciano2);border-color:#2b5a73;background:#0f2231}
.dungeon-b-tower li.agora{color:#fff;border-color:var(--dg-ciano);background:#12324a;box-shadow:0 0 12px rgba(111,220,255,.25)}
.dungeon-b-tower li.boss{color:var(--dg-ouro2);border-color:#6b5426;background:#1e170c;font-weight:800;opacity:1}

.dungeon-b-rewards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dungeon-b-rewards>div{display:grid;justify-items:center;align-content:start;gap:2px;padding:10px 8px;text-align:center;border:1px solid var(--dg-linha);border-radius:12px;background:linear-gradient(180deg,#151f30,#0f1724);font-size:11.5px;color:var(--dg-suave)}
.dungeon-b-rewards>div.principal{border-color:#2f6d88;background:linear-gradient(180deg,#14283a,#0f1a28)}
.dungeon-b-rewards>div.longe{opacity:.55}
.dungeon-b-rewards img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(111,220,255,.35))}
.dungeon-b-rewards b{color:var(--dg-texto);font-size:12.5px}
.dungeon-b-rewards small{color:var(--dg-apagado);font-size:11px}

.dungeon-b-guardian{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px 12px 8px 8px;border:1px solid #6b5426;border-radius:12px;background:linear-gradient(90deg,#1c1510,#10151f)}
.dungeon-b-portrait{width:92px;height:70px;object-fit:contain;border-radius:9px;border:1px solid #6b5426;background:#0a0e15 url("../assets/backgrounds/relic_guardian_placeholder.webp") center/cover}
.dungeon-b-guardian strong{display:block;font-family:var(--font-display,Georgia,serif);color:var(--dg-ouro2);font-size:15px}
.dungeon-b-guardian small{display:block;color:var(--dg-suave);font-size:12.5px;line-height:1.35}

.dungeon-b-cta{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap}
.dungeon-b-cta small{color:var(--dg-suave);font-size:12.5px;max-width:48ch}
.dungeon-b-cta .relic-action-row{margin:0}
#relicSanctumAction,#relicGuardianFight{font-size:15px;padding:13px 30px}
.dungeon-b-details{border-top:1px solid #1f2b3f;padding-top:8px;color:var(--dg-suave);font-size:12.5px}
.dungeon-b-details summary{cursor:pointer;color:var(--dg-apagado);font-weight:700;letter-spacing:.04em}
.dungeon-b-details[open] summary{margin-bottom:8px}

/* ---------- dentro da run: a faixa ---------- */
body.relic-sanctum-mode .relic-sanctum-status,body.relic-guardian-mode .relic-guardian-status{border-color:rgba(224,173,76,.55);background:linear-gradient(180deg,rgba(14,20,32,.94),rgba(9,13,22,.94));box-shadow:0 8px 22px rgba(0,0,0,.4),0 0 18px rgba(111,220,255,.12)}
.relic-battle-status strong#relicSanctumHeader,.relic-battle-status strong#relicGuardianHeader{color:var(--dg-ouro2);font-size:11px;letter-spacing:.12em}
.dungeon-b-pips{display:inline-flex;gap:3px;align-items:center;flex:0 0 auto;font-style:normal}
.dungeon-b-pips i{width:11px;height:6px;border-radius:2px;background:#2a3b55}
.dungeon-b-pips i.d{background:var(--dg-ciano)}
.dungeon-b-pips i.a{background:#bff1ff;box-shadow:0 0 6px var(--dg-ciano)}
.dungeon-b-pips i.b{background:#6b5426}
.dungeon-b-pips i.b.a{background:var(--dg-ouro);box-shadow:0 0 8px var(--dg-ouro)}
.dungeon-b-rungain{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:var(--dg-ciano2);font-size:10px;font-weight:800;padding-left:8px;border-left:1px solid rgba(117,198,224,.22)}
.dungeon-b-rungain:empty{display:none}
.dungeon-b-rungain img{width:16px;height:16px;object-fit:contain}

/* Dentro da dungeon, o que é da horda sai da frente: área, etapa e "EXP/Gold base 0". */
body.relic-sanctum-mode .area-collapsible-card,body.relic-guardian-mode .area-collapsible-card{display:none!important}
body.relic-sanctum-mode #arenaTargetReward,body.relic-guardian-mode #arenaTargetReward{display:none!important}
body.relic-sanctum-mode #arenaEnemyPanel:has(#arenaAreaContext:not(.hidden)),body.relic-guardian-mode #arenaEnemyPanel:has(#arenaAreaContext:not(.hidden)){display:none!important}

/* ---------- ganho que sobe da arena ---------- */
.dungeon-b-gains{position:absolute;left:50%;top:34%;z-index:9;width:0;height:0;pointer-events:none}
.dungeon-b-gain{position:absolute;left:0;top:calc(var(--ordem,0) * 30px);transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border:1px solid rgba(111,220,255,.5);border-radius:999px;background:rgba(8,16,28,.82);color:var(--dg-ciano2);font-weight:900;font-size:15px;white-space:nowrap;text-shadow:0 2px 5px #000;animation:dungeonGanho 1.8s ease-out forwards}
.dungeon-b-gain img{width:24px;height:24px;object-fit:contain}
.dungeon-b-gain.raro{border-color:var(--dg-ouro);color:var(--dg-ouro2);font-size:16px;box-shadow:0 0 16px rgba(224,173,76,.35)}
.dungeon-b-gain span{font-size:12px;font-weight:700}
@keyframes dungeonGanho{0%{opacity:0;transform:translate(-50%,10px)}15%{opacity:1;transform:translate(-50%,0)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-26px)}}

/* ---------- o momento do Crystal Boss ---------- */
.dungeon-b-bossband{position:absolute;left:0;right:0;top:40%;z-index:10;display:grid;justify-items:center;gap:2px;padding:12px 24px;border-top:1px solid var(--dg-ouro);border-bottom:1px solid var(--dg-ouro);background:linear-gradient(90deg,transparent,rgba(12,10,6,.9) 18%,rgba(12,10,6,.9) 82%,transparent);text-align:center;pointer-events:none;animation:dungeonFaixaEntra .45s ease-out both}
.dungeon-b-bossband.hidden{display:none}
.dungeon-b-bossband.sai{animation:dungeonFaixaSai .45s ease-in both}
.dungeon-b-bossband small{font-size:11px;font-weight:900;letter-spacing:.3em;color:var(--dg-ciano2)}
.dungeon-b-bossband b{font-family:var(--font-display,Georgia,serif);font-size:clamp(20px,2.6vw,32px);color:#fff0cc;text-shadow:0 0 18px rgba(224,173,76,.6)}
.dungeon-b-bossband em{font-style:normal;color:var(--dg-suave);font-size:12.5px}
@keyframes dungeonFaixaEntra{from{opacity:0;transform:scaleX(.6)}to{opacity:1;transform:none}}
@keyframes dungeonFaixaSai{from{opacity:1}to{opacity:0}}
/* Enquanto a faixa fala, o aviso genérico de boss não repete o nome por cima dela
   (o aviso continua rodando no mesmo tempo; só não aparece). */
body.dungeon-boss-anuncio.relic-sanctum-mode .boss-fx-layer.arrival,body.dungeon-boss-anuncio.relic-guardian-mode .boss-fx-layer.arrival{opacity:0!important}

/* ---------- resultado ---------- */
.dungeon-b-result{width:min(440px,94vw);display:grid;gap:14px;border:1px solid #6b5426!important;background:linear-gradient(180deg,#171f2e,#0e1520)!important}
.dungeon-b-result h2{font-family:var(--font-display,Georgia,serif);color:var(--dg-ouro2);margin:2px 0 0}
.dungeon-b-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.dungeon-b-result-stats.hidden{display:none}
.dungeon-b-result-stats div{padding:8px;border:1px solid #243450;border-radius:10px;background:#0c1320;color:var(--dg-suave);font-size:12px}
.dungeon-b-result-stats strong{display:block;font-size:22px;color:var(--dg-texto);font-variant-numeric:tabular-nums}
.dungeon-b-result-loot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.dungeon-b-result-loot span{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 5px;border:1px solid #2b3a54;border-radius:999px;background:#0c1320;color:var(--dg-suave);font-size:12.5px}
.dungeon-b-result-loot span.raro{border-color:var(--dg-ouro);color:var(--dg-ouro2)}
.dungeon-b-result-loot span.vazio{padding:6px 12px}
.dungeon-b-result-loot img{width:26px;height:26px;object-fit:contain}
.dungeon-b-result-loot b{color:var(--dg-texto)}
.dungeon-b-result-note{margin:0;text-align:center;color:var(--dg-suave);font-size:13px}
.dungeon-b-result .relic-action-row{justify-content:center}

/* ---------- telas menores ---------- */
@media (max-width:760px){
  .dungeon-b-hero{min-height:120px;padding:14px}
  .dungeon-b-hero h3{font-size:24px}
  .dungeon-b-hero p{font-size:12.5px}
  .dungeon-b-hero-art{max-width:36%;opacity:.8}
  .dungeon-b-body{grid-template-columns:1fr}
  .dungeon-b-tower{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #2a3547;padding:8px}
  .dungeon-b-tower li{flex:1 0 34px;flex-direction:column;justify-content:center;gap:0;padding:4px 2px;text-align:center}
  .dungeon-b-tower li em{display:none}
  .dungeon-b-main{padding:12px;gap:10px}
  .dungeon-b-rewards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dungeon-b-guardian{grid-template-columns:64px minmax(0,1fr)}
  .dungeon-b-portrait{width:64px;height:52px}
  .dungeon-b-guardian .secondary-button{grid-column:1/-1}
  .dungeon-b-cta{flex-direction:column;align-items:stretch}
  .dungeon-b-cta .relic-action-row{display:flex;flex-direction:column-reverse;gap:8px}
  .dungeon-b-cta .relic-action-row button{width:100%}
  /* A faixa da run não cobre o boss no celular: uma linha, sem modificador nem drops. */
  body.relic-sanctum-mode .relic-sanctum-status #relicSanctumBattleModifier,body.relic-sanctum-mode .relic-sanctum-status #relicSanctumBattleDrops{display:none}
  .dungeon-b-pips i{width:8px}
  .dungeon-b-bossband{padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){
  .dungeon-b-gain{animation:none}
  .dungeon-b-bossband,.dungeon-b-bossband.sai{animation:none}
}
