/* =====================================================================
   Santuário Real / Guardião do Tesouro (25/10, SQL 2188). Tela B escolhida pelo autor:
   à esquerda a arena (Guardião no salão, dificuldade, lutas e o botão); à direita o placar da
   semana sempre à vista. No celular o placar desce. Ouro real sobre vidro escuro.
   ===================================================================== */
:root{--st-ouro:#ffd36a;--st-ouro2:#fff0c2;--st-linha:rgba(255,211,106,.32);--st-fundo:#0f0c08;--st-vidro:rgba(16,12,6,.78);--st-mut:#b8ab8c;--st-verde:#9ff0a0}

/* ---------- cartão da coluna ---------- */
.sant-rail-card{padding:0!important;overflow:hidden!important;border-color:rgba(255,211,106,.55)!important;
  background:linear-gradient(90deg,rgba(15,12,8,.35),rgba(15,12,8,.88) 65%),url(../assets/events/santuario/salao.webp) center 35%/cover!important}
.sant-rail-entry{width:100%}
.sant-rail-entry .rail-toggle-copy small{color:var(--st-ouro)}
.sant-rail-entry .rail-toggle-copy strong{color:var(--st-ouro2);text-shadow:0 1px 3px rgba(0,0,0,.9)}
.sant-rail-entry .rail-toggle-chevron{font-size:1.3em;color:var(--st-ouro)}

/* ---------- janela ---------- */
.sant-fundo{z-index:1400}
.sant-janela.modal-card{position:relative;width:min(1040px,100%);max-height:calc(100vh - 40px);padding:0;display:flex;flex-direction:column;color:#f4eedd;
  border-color:rgba(255,211,106,.5);background:var(--st-fundo);box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 40px rgba(255,190,70,.15)}
.sant-fechar{position:absolute;top:8px;right:8px;z-index:6;min-width:40px}
.sant-corpo{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:0}
.sant-vazio{padding:40px 14px;text-align:center;color:var(--st-mut);font-size:calc(14px * var(--text-scale,1))}
.sant-grade{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;align-items:start}

/* a arena */
.sant-arena{position:relative;height:clamp(440px,calc(100vh - 72px),620px);border:1px solid var(--st-linha);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-width:0;background:#0f0c08}
.sant-salao{position:absolute;inset:0;background:url(../assets/events/santuario/salao.webp) center/cover;opacity:.85}
.sant-guardiao{position:absolute;left:50%;top:13%;transform:translateX(-50%);height:52%;max-width:80%;object-fit:contain;pointer-events:none;
  filter:drop-shadow(0 0 22px rgba(255,200,80,.45)) drop-shadow(0 8px 10px rgba(0,0,0,.7))}
.sant-veu{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,4,.55),rgba(10,8,4,0) 22%,rgba(10,8,4,0) 45%,rgba(10,8,4,.92) 74%,#0f0c08)}
.sant-topo{position:relative;z-index:2;padding:14px 56px 0 16px}
.sant-tit{margin:0;font-family:var(--font-display,Georgia,serif);font-size:calc(26px * var(--text-scale,1));color:var(--st-ouro2);text-shadow:0 0 18px rgba(255,200,80,.55),0 2px 4px rgba(0,0,0,.9);overflow-wrap:anywhere}
.sant-sub{margin:2px 0 0;font-size:calc(11px * var(--text-scale,1));font-weight:900;letter-spacing:.14em;color:var(--st-ouro);text-shadow:0 1px 3px #000}
.sant-acao{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px}
.sant-nome{font-family:var(--font-display,Georgia,serif);font-size:calc(18px * var(--text-scale,1));color:#fff;text-shadow:0 2px 4px #000;overflow-wrap:anywhere}
.sant-difs{display:flex;flex-wrap:wrap;gap:6px}
.sant-dif{width:auto;margin:0;min-height:34px;padding:6px 12px;border-radius:999px;border:1px solid var(--st-linha);background:var(--st-vidro);color:#f4eedd;
  font-weight:900;letter-spacing:.04em;font-size:calc(12px * var(--text-scale,1));text-transform:none;cursor:var(--cur-mao,pointer);backdrop-filter:blur(4px)}
.sant-dif.on{border-color:var(--botao-ouro-borda);background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);box-shadow:0 0 14px rgba(255,200,80,.4)}
.sant-dif[disabled]{opacity:.5;cursor:not-allowed}
.sant-dif i{font-style:normal;font-size:calc(10px * var(--text-scale,1));opacity:.85}
.sant-lutas{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.sant-lutas>i{width:12px;height:12px;border-radius:50%;border:2px solid var(--st-ouro);background:var(--st-ouro);box-shadow:0 0 8px rgba(255,200,80,.5)}
.sant-lutas>i.f{background:transparent;box-shadow:none;opacity:.5}
.sant-lutas span{margin-left:4px;font-weight:800;color:var(--st-ouro2);font-size:calc(12.5px * var(--text-scale,1))}
.sant-premio{display:flex;flex-direction:column;gap:3px;color:#e6dcc0;font-size:calc(12.5px * var(--text-scale,1));line-height:1.4}
.sant-premio>span:first-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sant-premio>span+span{color:var(--st-mut);font-size:calc(11.5px * var(--text-scale,1))}
.sant-premio b{color:var(--st-ouro)}
.sant-premio img,.sant-pz img{width:20px;height:20px;object-fit:contain;flex:0 0 auto}
.sant-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;margin:0;min-height:52px;padding:10px 18px;border-radius:12px;
  border:1px solid var(--botao-ouro-borda);background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);font-weight:900;letter-spacing:.08em;
  font-size:calc(15px * var(--text-scale,1));text-transform:none;cursor:var(--cur-mao,pointer);box-shadow:0 0 22px rgba(255,200,80,.35)}
.sant-btn small{font-size:calc(11px * var(--text-scale,1));font-weight:800;letter-spacing:.06em;opacity:.8}
.sant-btn[disabled]{opacity:.5;cursor:not-allowed;filter:grayscale(.6);box-shadow:none}
.sant-resultado{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--st-ouro);background:linear-gradient(180deg,rgba(70,50,10,.85),var(--st-vidro));box-shadow:0 0 18px rgba(255,200,80,.2)}
.sant-resultado strong{font-family:var(--font-display,Georgia,serif);font-size:calc(17px * var(--text-scale,1));color:var(--st-ouro2)}
.sant-resultado>span{color:#e6dcc0;font-size:calc(12.5px * var(--text-scale,1))}
.sant-pz{display:flex;flex-wrap:wrap;gap:6px}
.sant-pz>span{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 4px;border-radius:8px;background:rgba(0,0,0,.45);border:1px solid rgba(255,211,106,.2);
  color:var(--st-verde);font-weight:800;font-size:calc(11.5px * var(--text-scale,1));max-width:100%;overflow-wrap:anywhere}

/* o placar */
.sant-col{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--st-linha);border-radius:14px;min-width:0;
  background:linear-gradient(180deg,rgba(60,42,10,.55),var(--st-vidro) 40%),#120e08}
.sant-col h3{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--font-display,Georgia,serif);font-size:calc(17px * var(--text-scale,1));color:var(--st-ouro2)}
.sant-col h3 img{width:28px;height:28px;object-fit:contain}
.sant-rk{width:100%;border-collapse:separate;border-spacing:0 3px;font-size:calc(13px * var(--text-scale,1));table-layout:fixed}
.sant-rk td{padding:6px 8px;background:rgba(0,0,0,.4);border-top:1px solid rgba(255,211,106,.12);border-bottom:1px solid rgba(255,211,106,.12)}
.sant-rk td:first-child{width:3em;border-left:1px solid rgba(255,211,106,.12);border-radius:8px 0 0 8px;font-weight:900;color:#d8cfb8}
.sant-rk td:last-child{border-right:1px solid rgba(255,211,106,.12);border-radius:0 8px 8px 0}
.sant-rk td.n{overflow:hidden;white-space:nowrap}
.sant-rk td.n>*{vertical-align:middle}
.sant-rk td.n span{margin-left:4px;overflow:hidden;text-overflow:ellipsis}
.sant-rk td.d{width:6.5em;text-align:right;font-weight:800;color:var(--st-ouro)}
.sant-rk tr:nth-child(1) td:first-child{color:#ffcf4a}.sant-rk tr:nth-child(2) td:first-child{color:#e2e6ee}.sant-rk tr:nth-child(3) td:first-child{color:#e09a5a}
.sant-rk tr.eu td{background:rgba(90,64,10,.75);border-color:var(--st-ouro)}
.sant-faixas{display:flex;flex-direction:column;gap:6px}
.sant-faixas>div{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid rgba(255,211,106,.18);border-radius:10px;background:rgba(0,0,0,.35)}
.sant-faixas>div:first-child{border-color:rgba(255,211,106,.6);box-shadow:0 0 14px rgba(255,200,80,.15)}
.sant-faixas b{font-size:calc(11px * var(--text-scale,1));letter-spacing:.08em;color:var(--st-ouro2)}
.sant-nota{margin:0;color:var(--st-mut);font-size:calc(11.5px * var(--text-scale,1));line-height:1.45}

/* a luta: só a arena animada aparece */
.sant-lutando .sant-grade{display:none!important}
.sant-lutando .sant-corpo{padding-top:54px}
.sant-janela.sant-lutando{background:linear-gradient(180deg,rgba(15,12,8,.55),#0f0c08 75%),url(../assets/events/santuario/salao.webp) center/cover #0f0c08}
#santuarioBattleVisualizer{container-type:inline-size}
#santuarioBattleVisualizer .pvp-visualizer-stage>div:first-of-type{margin:-15px -20px 8px!important;padding:12px 20px 10px!important;background:linear-gradient(rgba(5,6,10,.82),rgba(5,6,10,.45) 70%,transparent)}
#santuarioBattleVisualizer h4>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* a calibração dos chefes (duelo.chefes) dobra a arte: 135 px aqui dão ~270 px no palco, menos de 2× o herói */
#santuarioBattleVisualizer .pvp-boss-art{max-width:min(190px,max(23cqw,125px))!important;max-height:min(142px,max(17cqw,95px))!important;transform-origin:50% 100%}
@media (max-height:500px){#santuarioBattleVisualizer .pvp-boss-art{max-width:min(60px,12cqw)!important;max-height:min(60px,12cqw)!important}}
@container (max-width:560px){
  #santuarioBattleVisualizer .pvp-visualizer-stage{height:270px!important;padding:12px 10px!important}
  #santuarioBattleVisualizer .pvp-visualizer-stage>div:first-of-type{margin:-12px -10px 4px!important;padding:10px 12px 8px!important}
  #santuarioBattleVisualizer h4{font-size:.9rem!important}
  #santuarioBattleVisualizer div:has(>#pvpVisualizerPlayerAnchor){padding-bottom:36px!important;justify-content:space-between!important;min-height:0!important}
  #santuarioBattleVisualizer #pvpVisualizerPlayerAnchor,#santuarioBattleVisualizer #pvpVisualizerEnemyAnchor{flex:0 1 150px;min-width:0;transform-origin:50% 100%}
  #santuarioBattleVisualizer [id^="pvpVisualizerBtn"]{padding:3px 8px!important;font-size:.72rem!important}
}
@media (min-width:700px){
  #santuarioBattleVisualizer .pvp-visualizer-stage{height:clamp(320px,calc(100vh - 220px),620px)!important}
  #santuarioBattleVisualizer .pvp-chao{padding-bottom:clamp(25px,11vh,130px)!important}
  /* palco alto: o herói cresce junto (autor: "o char também pequeno") */
  #santuarioBattleVisualizer #pvpVisualizerPlayerAnchor{scale:1.3;transform-origin:50% 100%}
}

/* ---------- telas ---------- */
@media (max-width:820px){
  .sant-fundo{padding:0!important;align-items:stretch}
  .sant-janela.modal-card{max-height:100vh;height:100%;border-radius:0;border-left:0;border-right:0}
  @supports (height:100dvh){.sant-janela.modal-card{max-height:100dvh;height:100dvh}}
  .sant-grade{grid-template-columns:1fr}
  .sant-arena{height:auto;min-height:0;justify-content:flex-start}
  .sant-topo{padding-bottom:min(50vw,230px,34vh)!important}
  .sant-guardiao{top:56px;height:min(46vw,220px,36vh)}
  .sant-veu{background:linear-gradient(180deg,rgba(10,8,4,.55),rgba(10,8,4,0) 14%,rgba(10,8,4,0) 30%,rgba(10,8,4,.92) 52%,#0f0c08)}
  .sant-rk td:first-child{width:2.4em;padding:6px 4px 6px 8px}
  .sant-rk td.d{width:5em}
}
@media (max-width:400px){
  .sant-corpo{padding:8px 8px 14px}
  .sant-acao{padding:10px 12px 12px}
  .sant-topo{padding:12px 52px 0 12px}
}

/* 25/10 (autor: "clicar nos botões não muda nada visualmente"): cada dificuldade tem o seu Guardião —
   brilho e tamanho crescem de Normal a Godlike, o salão ganha a cor dela e um selo com o nome. */
.sant-guardiao{transition:filter .35s ease,transform .35s ease}
.sant-selo-dif{position:absolute;z-index:2;right:14px;top:56px;padding:4px 12px;border-radius:999px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
  font-size:calc(11px * var(--text-scale,1));background:rgba(0,0,0,.6);border:1px solid currentColor;text-shadow:0 0 10px currentColor}
.sant-arena[data-dif="normal"] .sant-selo-dif{color:#d8dee9}
.sant-arena[data-dif="hard"] .sant-selo-dif{color:#7cc4ff}
.sant-arena[data-dif="nightmare"] .sant-selo-dif{color:#ff6b5e}
.sant-arena[data-dif="godlike"] .sant-selo-dif{color:#ffd36a}
.sant-arena[data-dif="normal"] .sant-guardiao{transform:translateX(-50%) scale(.86);filter:saturate(.7) brightness(.9) drop-shadow(0 8px 10px rgba(0,0,0,.7))}
.sant-arena[data-dif="hard"] .sant-guardiao{transform:translateX(-50%) scale(.92);filter:drop-shadow(0 0 22px rgba(90,170,255,.6)) drop-shadow(0 8px 10px rgba(0,0,0,.7))}
.sant-arena[data-dif="nightmare"] .sant-guardiao{transform:translateX(-50%) scale(.97);filter:hue-rotate(-40deg) saturate(1.2) drop-shadow(0 0 26px rgba(255,70,50,.65)) drop-shadow(0 8px 10px rgba(0,0,0,.7))}
.sant-arena[data-dif="godlike"] .sant-guardiao{transform:translateX(-50%) scale(1.03);filter:brightness(1.08) saturate(1.15) drop-shadow(0 0 30px rgba(255,200,80,.75)) drop-shadow(0 0 60px rgba(180,90,255,.45)) drop-shadow(0 8px 10px rgba(0,0,0,.7));animation:sant-pulso 2.6s ease-in-out infinite}
.sant-arena[data-dif="hard"] .sant-salao{filter:hue-rotate(-25deg) saturate(.9)}
.sant-arena[data-dif="nightmare"] .sant-salao{filter:hue-rotate(-75deg) saturate(1.1) brightness(.85)}
.sant-arena[data-dif="normal"] .sant-salao{filter:saturate(.55) brightness(.9)}
@keyframes sant-pulso{50%{filter:brightness(1.18) saturate(1.2) drop-shadow(0 0 40px rgba(255,210,90,.9)) drop-shadow(0 0 80px rgba(180,90,255,.55)) drop-shadow(0 8px 10px rgba(0,0,0,.7))}}
@media (prefers-reduced-motion:reduce){.sant-arena[data-dif="godlike"] .sant-guardiao{animation:none}}
/* na luta: o Guardião com a cor da dificuldade */
#santuarioBattleVisualizer[data-dif="hard"] .pvp-boss-art{filter:drop-shadow(0 0 16px rgba(90,170,255,.6))!important}
#santuarioBattleVisualizer[data-dif="nightmare"] .pvp-boss-art{filter:hue-rotate(-40deg) saturate(1.2) drop-shadow(0 0 18px rgba(255,70,50,.65))!important}
#santuarioBattleVisualizer[data-dif="godlike"] .pvp-boss-art{filter:brightness(1.08) drop-shadow(0 0 20px rgba(255,200,80,.75)) drop-shadow(0 0 40px rgba(180,90,255,.45))!important}
#santuarioBattleVisualizer[data-dif="normal"] .pvp-boss-art{filter:saturate(.7) drop-shadow(0 6px 10px rgba(0,0,0,.7))!important}
/* 25/10 (autor: "partes transparentes"): o véu escuro do pé do salão ficava POR CIMA do Guardião e apagava as pernas;
   agora o Guardião fica na frente do véu (a arte também foi recortada de novo, sem buracos na capa). */
.sant-veu{z-index:0}
.sant-guardiao{z-index:1}

/* 2102 (06/11): abas por Reset no placar (Todos / a sua faixa) e o título da aba no extra */
.sant-abas{display:flex;flex-wrap:wrap;gap:6px}
.sant-aba{width:auto;margin:0;min-height:32px;padding:5px 12px;border-radius:999px;border:1px solid var(--st-linha);background:var(--st-vidro);color:#f4eedd;
  font-weight:800;font-size:calc(12.5px * var(--text-scale,1));cursor:var(--cur-mao,pointer);max-width:100%;overflow-wrap:anywhere}
.sant-aba.on{border-color:var(--botao-ouro-borda);background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto)}
.sant-aba-tit{display:inline-flex;align-items:center;padding:3px 8px;border-radius:8px;background:rgba(0,0,0,.45);border:1px solid rgba(255,211,106,.35);
  color:var(--st-ouro2);font-weight:800;font-size:calc(11.5px * var(--text-scale,1));max-width:100%;overflow-wrap:anywhere}
