Jump to content

Template:Campeao/styles.css: Difference between revisions

From WikiPStory
Corrige o tema escuro: regras apos comentario estavam sendo puladas pelo gerador
Paineis de Requisitos e Recompensas com a mesma altura: align-items stretch no cp-split
 
(9 intermediate revisions by the same user not shown)
Line 4: Line 4:
.cp-boss {
.cp-boss {
margin: 0 0 1.5em;
margin: 0 0 1.5em;
color: #23203a;
color: #16293a;
font-size: 14px;
font-size: 14px;
line-height: 1.6;
line-height: 1.6;
Line 13: Line 13:


/* --- Cabeçalho ----------------------------------------------------------- */
/* --- Cabeçalho ----------------------------------------------------------- */
/* O cabecalho fica solto sobre a pagina, sem caixa. E o contraste com ele
  que faz os paineis abaixo lerem como blocos destacados; se tudo for caixa,
  nada e caixa. */
.cp-head {
.cp-head {
display: flex;
display: flex;
Line 18: Line 21:
gap: 22px;
gap: 22px;
align-items: flex-start;
align-items: flex-start;
padding: 20px;
padding: 4px 0 18px;
border: 1px solid #ddd7ef;
border: 0;
background: #ffffff;
background: transparent;
}
}


Line 26: Line 29:
flex: 0 0 200px;
flex: 0 0 200px;
max-width: 200px;
max-width: 200px;
border: 1px solid #ddd7ef;
border: 1px solid #c5d0da;
background: #f4f2fb;
background: #dfe6ee;
line-height: 0;
line-height: 0;
}
}
Line 43: Line 46:
.cp-title {
.cp-title {
margin-bottom: 8px;
margin-bottom: 8px;
color: #23203a;
color: #16293a;
font-size: 30px;
font-size: 30px;
font-weight: bold;
font-weight: bold;
Line 53: Line 56:
margin-bottom: 12px;
margin-bottom: 12px;
padding: 4px 12px;
padding: 4px 12px;
border: 1px solid #c3b9e4;
border: 1px solid #aebbc6;
background: #efe9ff;
background: #9cebff;
color: #7c4dff;
color: #096390;
font-size: 12px;
font-size: 12px;
font-weight: bold;
font-weight: bold;
Line 62: Line 65:
.cp-desc {
.cp-desc {
margin: 0 0 16px;
margin: 0 0 16px;
color: #5d5779;
color: #4a6072;
max-width: 62ch;
max-width: 62ch;
}
}
Line 74: Line 77:
.cp-stat {
.cp-stat {
padding: 0 20px;
padding: 0 20px;
border-left: 1px solid #ddd7ef;
border-left: 1px solid #c5d0da;
}
}


Line 84: Line 87:
.cp-stat-label {
.cp-stat-label {
display: block;
display: block;
color: #5d5779;
color: #4a6072;
font-size: 12px;
font-size: 12px;
}
}
Line 90: Line 93:
.cp-stat-value {
.cp-stat-value {
display: block;
display: block;
color: #23203a;
color: #16293a;
font-weight: bold;
font-weight: bold;
}
}
Line 106: Line 109:
text-align: center;
text-align: center;
padding: 12px 16px;
padding: 12px 16px;
border: 1px solid #ddd7ef;
border: 1px solid #c5d0da;
background: #f4f2fb;
background: #dfe6ee;
color: #5d5779;
color: #4a6072;
font-family: inherit;
font-family: inherit;
font-size: 15px;
font-size: 15px;
Line 116: Line 119:


.cp-tab:hover {
.cp-tab:hover {
border-color: #c3b9e4;
border-color: #aebbc6;
color: #23203a;
color: #16293a;
}
}


.cp-tab.is-active {
.cp-tab.is-active {
border-color: #7c4dff;
border-color: #096390;
background: #efe9ff;
background: #9cebff;
color: #7c4dff;
color: #096390;
}
}


Line 131: Line 134:


/* --- Painéis -------------------------------------------------------------- */
/* --- Painéis -------------------------------------------------------------- */
/* stretch, nao flex-start: os dois paineis fecham na mesma altura e a base
  da linha fica reta. Com flex-start cada um tomava a altura do proprio
  conteudo (Requisitos 188px contra Recompensas 322px) e a pagina ficava
  com um degrau no meio. */
.cp-split {
.cp-split {
display: flex;
display: flex;
flex-wrap: wrap;
flex-wrap: wrap;
gap: 14px;
gap: 14px;
align-items: flex-start;
align-items: stretch;
}
}


Line 146: Line 153:
position: relative;
position: relative;
margin: 0 0 14px;
margin: 0 0 14px;
padding: 22px 18px 18px;
padding: 26px 18px 18px;
border: 1px solid #ddd7ef;
border: 1px solid #aebbc6;
background: #ffffff;
/* superficie propria: e o que faz cada painel ler como um bloco separado,
  e nao como uma moldura desenhada sobre a pagina */
background: #dfe6ee;
}
}


/* O título sobre a borda é o que dá cara de ficha, e não de card */
/* O título sobre a borda é o que dá cara de ficha, e não de card */
/* A legenda e uma caixa propria encaixada na borda do painel, nao apenas
  texto com fundo. E o que faz ela se destacar tanto do painel quanto da
  pagina, em vez de sumir na emenda entre os dois. */
.cp-panel-title {
.cp-panel-title {
position: absolute;
position: absolute;
top: -11px;
top: -13px;
left: 14px;
left: 14px;
margin: 0;
margin: 0;
padding: 0 10px;
padding: 3px 12px;
border: 0;
border: 1px solid #aebbc6;
background: #ffffff;
border-radius: 2px;
color: #23203a;
background: #ecf0f4;
color: #16293a;
font-family: inherit;
font-family: inherit;
font-size: 15px;
font-size: 14px;
font-weight: bold;
font-weight: bold;
line-height: 1.4;
}
}


Line 173: Line 187:
.cp-panel li {
.cp-panel li {
margin-bottom: 6px;
margin-bottom: 6px;
color: #5d5779;
color: #4a6072;
}
}


Line 179: Line 193:
.cp-rewards-label {
.cp-rewards-label {
margin: 10px 0 6px;
margin: 10px 0 6px;
color: #5d5779;
color: #4a6072;
font-size: 12px;
font-size: 12px;
font-weight: bold;
font-weight: bold;
Line 192: Line 206:
.cp-exp {
.cp-exp {
padding: 6px 12px;
padding: 6px 12px;
border: 1px solid #c3b9e4;
border: 1px solid #aebbc6;
background: #efe9ff;
background: #9cebff;
color: #7c4dff;
color: #096390;
font-weight: bold;
font-weight: bold;
}
}
Line 200: Line 214:
.cp-rewards-hint {
.cp-rewards-hint {
margin-top: 12px;
margin-top: 12px;
color: #5d5779;
color: #4a6072;
font-size: 12px;
font-size: 12px;
}
}
Line 210: Line 224:
width: 48px;
width: 48px;
height: 48px;
height: 48px;
border: 1px solid #ddd7ef;
border: 1px solid #c5d0da;
background: #f4f2fb;
background: #dfe6ee;
}
}


Line 226: Line 240:
}
}


/* Contador pendurado sob o icone, centralizado, em preto translucido.
  E o tratamento da referencia: mais limpo que um retangulo solido no canto,
  e nao tapa o sprite. */
.cp-item-qty {
.cp-item-qty {
position: absolute;
position: absolute;
right: 0;
bottom: -9px;
bottom: 0;
left: 50%;
padding: 0 4px;
transform: translateX(-50%);
background: #23203a;
padding: 1px 5px;
color: #ffffff;
background: rgba(0, 0, 0, 0.75);
color: #fff;
font-size: 11px;
font-size: 11px;
font-weight: bold;
font-weight: bold;
line-height: 1.5;
line-height: 1.45;
white-space: nowrap;
z-index: 2;
}
 
.cp-item-qty-x {
color: #bfbebe;
margin-right: 1px;
}
}


Line 247: Line 272:
margin-left: -95px;
margin-left: -95px;
padding: 8px 10px;
padding: 8px 10px;
border: 1px solid #c3b9e4;
border: 1px solid #aebbc6;
background: #ffffff;
background: #ecf0f4;
text-align: left;
text-align: left;
}
}
Line 258: Line 283:
.cp-tip-name {
.cp-tip-name {
display: block;
display: block;
color: #23203a;
color: #16293a;
font-weight: bold;
font-weight: bold;
}
}
Line 264: Line 289:
.cp-tip-qty {
.cp-tip-qty {
display: block;
display: block;
color: #5d5779;
color: #4a6072;
font-size: 12px;
font-size: 12px;
}
}
Line 271: Line 296:
.cp-skill {
.cp-skill {
padding: 10px 0;
padding: 10px 0;
border-top: 1px solid #ddd7ef;
border-top: 1px solid #c5d0da;
}
}


Line 279: Line 304:


.cp-skill-name {
.cp-skill-name {
color: #23203a;
color: #16293a;
font-weight: bold;
font-weight: bold;
}
}
Line 287: Line 312:
margin-left: 8px;
margin-left: 8px;
padding: 1px 8px;
padding: 1px 8px;
background: #efe9ff;
background: #9cebff;
color: #7c4dff;
color: #096390;
font-size: 12px;
font-size: 12px;
font-weight: bold;
font-weight: bold;
Line 295: Line 320:
.cp-skill-desc,
.cp-skill-desc,
.cp-empty {
.cp-empty {
color: #5d5779;
color: #4a6072;
}
}


Line 305: Line 330:
align-items: baseline;
align-items: baseline;
padding: 12px 16px;
padding: 12px 16px;
border: 1px solid #ddd7ef;
border: 1px solid #c5d0da;
background: #f4f2fb;
background: #dfe6ee;
color: #5d5779;
color: #4a6072;
}
}


.cp-tip-tag {
.cp-tip-tag {
color: #7c4dff;
color: #096390;
font-weight: bold;
font-weight: bold;
}
}
Line 320: Line 345:
float: right;
float: right;
padding: 5px 12px;
padding: 5px 12px;
border: 1px solid #ddd7ef;
border: 1px solid #c5d0da;
background: #f4f2fb;
background: #dfe6ee;
color: #5d5779;
color: #4a6072;
font-family: inherit;
font-family: inherit;
font-size: 12px;
font-size: 12px;
Line 342: Line 367:
.cp-head {
.cp-head {
gap: 14px;
gap: 14px;
}
/* Sem o filete vertical os stats encostam e os valores viram uma
  palavra so ("TyranitarExpedition Palmer3"). Vira grade de duas
  colunas, que separa por espaco em vez de por borda. */
.cp-stats {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px 18px;
}
}


.cp-stat {
.cp-stat {
padding: 4px 0;
padding: 0;
border-left: 0;
border-left: 0;
}
}
Line 352: Line 386:
font-size: 24px;
font-size: 24px;
}
}
}
/* No celular nem duas colunas cabem: cada stat vira uma linha, rotulo a
  esquerda e valor a direita. Nada de var() aqui dentro — o gerador do tema
  escuro nao entende media query e jogaria a regra para o escopo global. */
@media (max-width: 420px) {
.cp-stats {
grid-template-columns: minmax(0, 1fr);
gap: 8px;
}
.cp-stat {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 12px;
}
}
/* --- Painel de habilidades -------------------------------------------------
  Seletor em cima, detalhe da habilidade escolhida embaixo. As variaveis sao
  as mesmas do resto da ficha, entao o tema escuro sai automatico. */
.cp-skill-bar {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 16px;
padding-bottom: 14px;
border-bottom: 1px solid #c5d0da;
}
.cp-skill-pick {
padding: 7px 13px;
border: 1px solid #c5d0da;
background: #dfe6ee;
color: #4a6072;
font-size: 13px;
font-weight: bold;
cursor: pointer;
}
.cp-skill-pick:hover {
border-color: #aebbc6;
color: #16293a;
}
.cp-skill-pick.is-active {
border-color: #096390;
background: #9cebff;
color: #096390;
}
.cp-skill-name {
margin-bottom: 8px;
color: #16293a;
font-size: 19px;
font-weight: bold;
}
/* Linha de fichas tecnicas: tipo, elemento, alcance, recarga, dano */
.cp-skill-meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 12px;
}
.cp-skill-meta > span {
padding: 3px 10px;
border: 1px solid #c5d0da;
background: #dfe6ee;
color: #4a6072;
font-size: 12px;
}
.cp-skill-meta > .cp-skill-flag {
border-color: #096390;
color: #096390;
font-weight: bold;
}
.cp-skill-desc {
margin-bottom: 12px;
color: #4a6072;
}
.cp-skill-video {
color: #4a6072;
}
/* Campo ainda nao preenchido: presente, mas discreto */
.cp-empty {
color: #4a6072;
font-style: italic;
opacity: 0.75;
}
@media (max-width: 760px) {
.cp-skill-pick {
flex: 1 1 auto;
text-align: center;
}
}
/* --- Seletor de habilidade em quadrados ------------------------------------
  Como na referencia: uma fileira centralizada de icones, e abaixo o detalhe
  em duas colunas — texto a esquerda, video a direita. */
.cp-skill-bar {
justify-content: center;
}
.cp-skill-pick {
display: flex;
align-items: center;
justify-content: center;
width: 46px;
height: 46px;
padding: 0;
overflow: hidden;
}
.cp-skill-pick img {
max-width: 100%;
height: auto;
}
/* Sem icone ainda: quadrado neutro com a marca do lugar */
.cp-skill-pick--vazio {
color: #4a6072;
font-size: 11px;
font-weight: normal;
opacity: 0.7;
}
.cp-skill-body {
display: flex;
flex-wrap: wrap;
gap: 20px;
align-items: flex-start;
}
.cp-skill-texto {
flex: 1 1 260px;
min-width: 0;
}
.cp-skill-midia {
flex: 0 1 480px;
max-width: 100%;
}
.cp-skill-midia img,
.cp-skill-midia video {
max-width: 100%;
height: auto;
}
/* Placeholder do video: bloco preto na proporcao em que o video vai entrar */
.cp-skill-video-vazio {
width: 100%;
aspect-ratio: 16 / 9;
min-height: 200px;
background: #000;
}
@media (max-width: 760px) {
.cp-skill-midia {
flex-basis: 100%;
}
}
/* --- Escala de arredondamento ----------------------------------------------
  Medida no CSS da referencia: o raio cresce com o tamanho da caixa.
  4px em icone, 6px em midia, 8px em etiqueta, 10px em controle, 12px em
  painel. Nao e decoracao solta: e o que evita o visual de tabela de planilha
  sem transformar tudo em bolha.
  -------------------------------------------------------------------------- */
.cp-panel {
border-radius: 12px;
}
.cp-art {
border-radius: 12px;
}
.cp-art img {
border-radius: 8px;
}
.cp-tab,
.cp-badge,
.cp-exp,
.cp-tema {
border-radius: 8px;
}
.cp-skill-pick,
.cp-tip-bar {
border-radius: 10px;
}
.cp-panel-title,
.cp-tip,
.cp-skill-midia img,
.cp-skill-midia video,
.cp-skill-video-vazio {
border-radius: 6px;
}
.cp-item,
.cp-skill-meta > span {
border-radius: 4px;
}
/* O contador do item mora no canto do chip: so a ponta de fora acompanha */
.cp-item-qty {
border-radius: 4px 0 4px 0;
}
/* --- Lavagem no lugar de preenchimento solido -------------------------------
  Na referencia o estado ativo nao e um bloco de cor: e fundo a 18% da matiz,
  borda a 42% e texto num tom fundo. Le como selecionado sem virar mancha. */
.cp-tab.is-active {
background: rgba(9, 99, 144, 0.16);
border-color: rgba(9, 99, 144, 0.45);
color: #0a4f74;
}
.cp-tab.is-active[data-dif="hard"] {
background: rgba(192, 57, 43, 0.16);
border-color: rgba(192, 57, 43, 0.45);
color: #a93226;
}
.cp-tab.is-active:hover {
background: rgba(9, 99, 144, 0.26);
}
.cp-tab.is-active[data-dif="hard"]:hover {
background: rgba(192, 57, 43, 0.26);
}
/* Mesma logica nos outros elementos que estavam solidos */
.cp-badge,
.cp-exp,
.cp-skill-pick.is-active,
.cp-skill-meta > .cp-skill-flag {
background: rgba(9, 99, 144, 0.14);
border-color: rgba(9, 99, 144, 0.42);
color: #0a4f74;
}
/* No escuro a lavagem precisa de mais opacidade e texto claro */
.cp-boss[data-tema="escuro"] .cp-tab.is-active,
.cp-boss[data-tema="escuro"] .cp-badge,
.cp-boss[data-tema="escuro"] .cp-exp,
.cp-boss[data-tema="escuro"] .cp-skill-pick.is-active,
.cp-boss[data-tema="escuro"] .cp-skill-meta > .cp-skill-flag {
background: rgba(78, 168, 214, 0.24);
border-color: rgba(126, 190, 230, 0.45);
color: #9ecbff;
}
.cp-boss[data-tema="escuro"] .cp-tab.is-active[data-dif="hard"] {
background: rgba(214, 88, 74, 0.26);
border-color: rgba(240, 140, 128, 0.45);
color: #ffb3a7;
}
/* O contador precisa de espaco para pendurar sem encostar na linha de baixo */
.cp-rewards-row {
gap: 14px 10px;
padding-bottom: 4px;
}
.cp-item {
margin-bottom: 8px;
}
}


Line 357: Line 668:


.cp-boss[data-tema="escuro"] {
.cp-boss[data-tema="escuro"] {
color: #e9e6f2;
color: #e3eaf2;
}
 
.cp-boss[data-tema="escuro"] .cp-head {
border: 1px solid #3d3950;
background: #24222e;
}
}


.cp-boss[data-tema="escuro"] .cp-art {
.cp-boss[data-tema="escuro"] .cp-art {
border: 1px solid #3d3950;
border: 1px solid #3b4551;
background: #2c2939;
background: #2b323c;
}
}


.cp-boss[data-tema="escuro"] .cp-title {
.cp-boss[data-tema="escuro"] .cp-title {
color: #e9e6f2;
color: #e3eaf2;
}
}


.cp-boss[data-tema="escuro"] .cp-badge {
.cp-boss[data-tema="escuro"] .cp-badge {
border: 1px solid #574f75;
border: 1px solid #52606f;
background: #352f4a;
background: #173444;
color: #a98bff;
color: #6fc9ee;
}
}


.cp-boss[data-tema="escuro"] .cp-desc {
.cp-boss[data-tema="escuro"] .cp-desc {
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-stat {
.cp-boss[data-tema="escuro"] .cp-stat {
border-left: 1px solid #3d3950;
border-left: 1px solid #3b4551;
}
}


.cp-boss[data-tema="escuro"] .cp-stat-label {
.cp-boss[data-tema="escuro"] .cp-stat-label {
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-stat-value {
.cp-boss[data-tema="escuro"] .cp-stat-value {
color: #e9e6f2;
color: #e3eaf2;
}
}


.cp-boss[data-tema="escuro"] .cp-tab {
.cp-boss[data-tema="escuro"] .cp-tab {
border: 1px solid #3d3950;
border: 1px solid #3b4551;
background: #2c2939;
background: #2b323c;
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-tab:hover {
.cp-boss[data-tema="escuro"] .cp-tab:hover {
border-color: #574f75;
border-color: #52606f;
color: #e9e6f2;
color: #e3eaf2;
}
}


.cp-boss[data-tema="escuro"] .cp-tab.is-active {
.cp-boss[data-tema="escuro"] .cp-tab.is-active {
border-color: #a98bff;
border-color: #6fc9ee;
background: #352f4a;
background: #173444;
color: #a98bff;
color: #6fc9ee;
}
}


.cp-boss[data-tema="escuro"] .cp-panel {
.cp-boss[data-tema="escuro"] .cp-panel {
border: 1px solid #3d3950;
border: 1px solid #52606f;
background: #24222e;
background: #2b323c;
}
}


.cp-boss[data-tema="escuro"] .cp-panel-title {
.cp-boss[data-tema="escuro"] .cp-panel-title {
background: #24222e;
border: 1px solid #52606f;
color: #e9e6f2;
background: #222831;
color: #e3eaf2;
}
}


.cp-boss[data-tema="escuro"] .cp-panel li {
.cp-boss[data-tema="escuro"] .cp-panel li {
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-rewards-label {
.cp-boss[data-tema="escuro"] .cp-rewards-label {
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-exp {
.cp-boss[data-tema="escuro"] .cp-exp {
border: 1px solid #574f75;
border: 1px solid #52606f;
background: #352f4a;
background: #173444;
color: #a98bff;
color: #6fc9ee;
}
}


.cp-boss[data-tema="escuro"] .cp-rewards-hint {
.cp-boss[data-tema="escuro"] .cp-rewards-hint {
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-item {
.cp-boss[data-tema="escuro"] .cp-item {
border: 1px solid #3d3950;
border: 1px solid #3b4551;
background: #2c2939;
background: #2b323c;
}
 
.cp-boss[data-tema="escuro"] .cp-item-qty {
background: #e9e6f2;
color: #24222e;
}
}


.cp-boss[data-tema="escuro"] .cp-tip {
.cp-boss[data-tema="escuro"] .cp-tip {
border: 1px solid #574f75;
border: 1px solid #52606f;
background: #24222e;
background: #222831;
}
}


.cp-boss[data-tema="escuro"] .cp-tip-name {
.cp-boss[data-tema="escuro"] .cp-tip-name {
color: #e9e6f2;
color: #e3eaf2;
}
}


.cp-boss[data-tema="escuro"] .cp-tip-qty {
.cp-boss[data-tema="escuro"] .cp-tip-qty {
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-skill {
.cp-boss[data-tema="escuro"] .cp-skill {
border-top: 1px solid #3d3950;
border-top: 1px solid #3b4551;
}
}


.cp-boss[data-tema="escuro"] .cp-skill-name {
.cp-boss[data-tema="escuro"] .cp-skill-name {
color: #e9e6f2;
color: #e3eaf2;
}
}


.cp-boss[data-tema="escuro"] .cp-skill-hp {
.cp-boss[data-tema="escuro"] .cp-skill-hp {
background: #352f4a;
background: #173444;
color: #a98bff;
color: #6fc9ee;
}
}


.cp-boss[data-tema="escuro"] .cp-skill-desc,
.cp-boss[data-tema="escuro"] .cp-skill-desc,
.cp-boss[data-tema="escuro"] .cp-empty {
.cp-boss[data-tema="escuro"] .cp-empty {
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-tip-bar {
.cp-boss[data-tema="escuro"] .cp-tip-bar {
border: 1px solid #3d3950;
border: 1px solid #3b4551;
background: #2c2939;
background: #2b323c;
color: #a9a3bd;
color: #a0b0bd;
}
}


.cp-boss[data-tema="escuro"] .cp-tip-tag {
.cp-boss[data-tema="escuro"] .cp-tip-tag {
color: #a98bff;
color: #6fc9ee;
}
}


.cp-boss[data-tema="escuro"] .cp-tema {
.cp-boss[data-tema="escuro"] .cp-tema {
border: 1px solid #3d3950;
border: 1px solid #3b4551;
background: #2c2939;
background: #2b323c;
color: #a9a3bd;
color: #a0b0bd;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-bar {
border-bottom: 1px solid #3b4551;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-pick {
border: 1px solid #3b4551;
background: #2b323c;
color: #a0b0bd;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-pick:hover {
border-color: #52606f;
color: #e3eaf2;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-pick.is-active {
border-color: #6fc9ee;
background: #173444;
color: #6fc9ee;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-name {
color: #e3eaf2;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-meta > span {
border: 1px solid #3b4551;
background: #2b323c;
color: #a0b0bd;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-meta > .cp-skill-flag {
border-color: #6fc9ee;
color: #6fc9ee;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-desc {
color: #a0b0bd;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-video {
color: #a0b0bd;
}
 
.cp-boss[data-tema="escuro"] .cp-empty {
color: #a0b0bd;
}
 
.cp-boss[data-tema="escuro"] .cp-skill-pick--vazio {
color: #a0b0bd;
}
}

Latest revision as of 16:29, 12 September 2026

/* Ficha de Campeao do Champion's Path — carregado por Module:Campeao.
   Gerado por gen_css.py: nao editar a mao, editar o gerador. */

.cp-boss {
	margin: 0 0 1.5em;
	color: #16293a;
	font-size: 14px;
	line-height: 1.6;
}
/* Ficha de Campeão do Champion's Path.
   Carregado por Module:Campeao via <templatestyles>.
   Tema claro por padrão; o escuro entra com data-tema="escuro" na raiz. */

/* --- Cabeçalho ----------------------------------------------------------- */
/* O cabecalho fica solto sobre a pagina, sem caixa. E o contraste com ele
   que faz os paineis abaixo lerem como blocos destacados; se tudo for caixa,
   nada e caixa. */
.cp-head {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: flex-start;
	padding: 4px 0 18px;
	border: 0;
	background: transparent;
}

.cp-art {
	flex: 0 0 200px;
	max-width: 200px;
	border: 1px solid #c5d0da;
	background: #dfe6ee;
	line-height: 0;
}

.cp-art img {
	width: 100%;
	height: auto;
}

.cp-head-info {
	flex: 1 1 380px;
	min-width: 0;
}

.cp-title {
	margin-bottom: 8px;
	color: #16293a;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.15;
}

.cp-badge {
	display: inline-block;
	margin-bottom: 12px;
	padding: 4px 12px;
	border: 1px solid #aebbc6;
	background: #9cebff;
	color: #096390;
	font-size: 12px;
	font-weight: bold;
}

.cp-desc {
	margin: 0 0 16px;
	color: #4a6072;
	max-width: 62ch;
}

/* Linha de stats separados por filete, como na referência */
.cp-stats {
	display: flex;
	flex-wrap: wrap;
}

.cp-stat {
	padding: 0 20px;
	border-left: 1px solid #c5d0da;
}

.cp-stat:first-child {
	padding-left: 0;
	border-left: 0;
}

.cp-stat-label {
	display: block;
	color: #4a6072;
	font-size: 12px;
}

.cp-stat-value {
	display: block;
	color: #16293a;
	font-weight: bold;
}

/* --- Abas de dificuldade -------------------------------------------------- */
.cp-tabs {
	display: flex;
	gap: 10px;
	margin: 14px 0;
}

.cp-tab {
	display: block;
	flex: 1 1 0;
	text-align: center;
	padding: 12px 16px;
	border: 1px solid #c5d0da;
	background: #dfe6ee;
	color: #4a6072;
	font-family: inherit;
	font-size: 15px;
	font-weight: bold;
	cursor: pointer;
}

.cp-tab:hover {
	border-color: #aebbc6;
	color: #16293a;
}

.cp-tab.is-active {
	border-color: #096390;
	background: #9cebff;
	color: #096390;
}

.cp-boss .is-hidden {
	display: none;
}

/* --- Painéis -------------------------------------------------------------- */
/* stretch, nao flex-start: os dois paineis fecham na mesma altura e a base
   da linha fica reta. Com flex-start cada um tomava a altura do proprio
   conteudo (Requisitos 188px contra Recompensas 322px) e a pagina ficava
   com um degrau no meio. */
.cp-split {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: stretch;
}

.cp-split > .cp-panel {
	flex: 1 1 320px;
	min-width: 0;
}

.cp-panel {
	position: relative;
	margin: 0 0 14px;
	padding: 26px 18px 18px;
	border: 1px solid #aebbc6;
	/* superficie propria: e o que faz cada painel ler como um bloco separado,
	   e nao como uma moldura desenhada sobre a pagina */
	background: #dfe6ee;
}

/* O título sobre a borda é o que dá cara de ficha, e não de card */
/* A legenda e uma caixa propria encaixada na borda do painel, nao apenas
   texto com fundo. E o que faz ela se destacar tanto do painel quanto da
   pagina, em vez de sumir na emenda entre os dois. */
.cp-panel-title {
	position: absolute;
	top: -13px;
	left: 14px;
	margin: 0;
	padding: 3px 12px;
	border: 1px solid #aebbc6;
	border-radius: 2px;
	background: #ecf0f4;
	color: #16293a;
	font-family: inherit;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.4;
}

.cp-panel ul {
	margin: 0 0 0 20px;
	padding: 0;
}

.cp-panel li {
	margin-bottom: 6px;
	color: #4a6072;
}

/* --- Recompensas ---------------------------------------------------------- */
.cp-rewards-label {
	margin: 10px 0 6px;
	color: #4a6072;
	font-size: 12px;
	font-weight: bold;
}

.cp-rewards-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cp-exp {
	padding: 6px 12px;
	border: 1px solid #aebbc6;
	background: #9cebff;
	color: #096390;
	font-weight: bold;
}

.cp-rewards-hint {
	margin-top: 12px;
	color: #4a6072;
	font-size: 12px;
}

/* --- Chip de item com tooltip ---------------------------------------------- */
.cp-item {
	position: relative;
	display: inline-block;
	width: 48px;
	height: 48px;
	border: 1px solid #c5d0da;
	background: #dfe6ee;
}

.cp-item-icon {
	display: block;
	line-height: 0;
	text-align: center;
	padding: 4px;
}

.cp-item-icon img {
	max-width: 100%;
	height: auto;
}

/* Contador pendurado sob o icone, centralizado, em preto translucido.
   E o tratamento da referencia: mais limpo que um retangulo solido no canto,
   e nao tapa o sprite. */
.cp-item-qty {
	position: absolute;
	bottom: -9px;
	left: 50%;
	transform: translateX(-50%);
	padding: 1px 5px;
	background: rgba(0, 0, 0, 0.75);
	color: #fff;
	font-size: 11px;
	font-weight: bold;
	line-height: 1.45;
	white-space: nowrap;
	z-index: 2;
}

.cp-item-qty-x {
	color: #bfbebe;
	margin-right: 1px;
}

.cp-tip {
	position: absolute;
	bottom: 54px;
	left: 50%;
	z-index: 5;
	display: none;
	width: 190px;
	margin-left: -95px;
	padding: 8px 10px;
	border: 1px solid #aebbc6;
	background: #ecf0f4;
	text-align: left;
}

.cp-item:hover .cp-tip {
	display: block;
}

.cp-tip-name {
	display: block;
	color: #16293a;
	font-weight: bold;
}

.cp-tip-qty {
	display: block;
	color: #4a6072;
	font-size: 12px;
}

/* --- Mecânicas ------------------------------------------------------------- */
.cp-skill {
	padding: 10px 0;
	border-top: 1px solid #c5d0da;
}

.cp-skill:first-of-type {
	border-top: 0;
}

.cp-skill-name {
	color: #16293a;
	font-weight: bold;
}

.cp-skill-hp {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 8px;
	background: #9cebff;
	color: #096390;
	font-size: 12px;
	font-weight: bold;
}

.cp-skill-desc,
.cp-empty {
	color: #4a6072;
}

/* --- Faixa de dica --------------------------------------------------------- */
.cp-tip-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: baseline;
	padding: 12px 16px;
	border: 1px solid #c5d0da;
	background: #dfe6ee;
	color: #4a6072;
}

.cp-tip-tag {
	color: #096390;
	font-weight: bold;
}

/* --- Botão de tema --------------------------------------------------------- */
.cp-tema {
	display: inline-block;
	float: right;
	padding: 5px 12px;
	border: 1px solid #c5d0da;
	background: #dfe6ee;
	color: #4a6072;
	font-family: inherit;
	font-size: 12px;
	cursor: pointer;
}

/* --- Telas estreitas ------------------------------------------------------- */
@media (max-width: 1050px) {
	.cp-art {
		flex-basis: 140px;
	}

	.cp-stat {
		padding: 0 12px;
	}
}

@media (max-width: 760px) {
	.cp-head {
		gap: 14px;
	}

	/* Sem o filete vertical os stats encostam e os valores viram uma
	   palavra so ("TyranitarExpedition Palmer3"). Vira grade de duas
	   colunas, que separa por espaco em vez de por borda. */
	.cp-stats {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 18px;
	}

	.cp-stat {
		padding: 0;
		border-left: 0;
	}

	.cp-title {
		font-size: 24px;
	}
}

/* No celular nem duas colunas cabem: cada stat vira uma linha, rotulo a
   esquerda e valor a direita. Nada de var() aqui dentro — o gerador do tema
   escuro nao entende media query e jogaria a regra para o escopo global. */
@media (max-width: 420px) {
	.cp-stats {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.cp-stat {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 12px;
	}
}

/* --- Painel de habilidades -------------------------------------------------
   Seletor em cima, detalhe da habilidade escolhida embaixo. As variaveis sao
   as mesmas do resto da ficha, entao o tema escuro sai automatico. */
.cp-skill-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #c5d0da;
}

.cp-skill-pick {
	padding: 7px 13px;
	border: 1px solid #c5d0da;
	background: #dfe6ee;
	color: #4a6072;
	font-size: 13px;
	font-weight: bold;
	cursor: pointer;
}

.cp-skill-pick:hover {
	border-color: #aebbc6;
	color: #16293a;
}

.cp-skill-pick.is-active {
	border-color: #096390;
	background: #9cebff;
	color: #096390;
}

.cp-skill-name {
	margin-bottom: 8px;
	color: #16293a;
	font-size: 19px;
	font-weight: bold;
}

/* Linha de fichas tecnicas: tipo, elemento, alcance, recarga, dano */
.cp-skill-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}

.cp-skill-meta > span {
	padding: 3px 10px;
	border: 1px solid #c5d0da;
	background: #dfe6ee;
	color: #4a6072;
	font-size: 12px;
}

.cp-skill-meta > .cp-skill-flag {
	border-color: #096390;
	color: #096390;
	font-weight: bold;
}

.cp-skill-desc {
	margin-bottom: 12px;
	color: #4a6072;
}

.cp-skill-video {
	color: #4a6072;
}

/* Campo ainda nao preenchido: presente, mas discreto */
.cp-empty {
	color: #4a6072;
	font-style: italic;
	opacity: 0.75;
}

@media (max-width: 760px) {
	.cp-skill-pick {
		flex: 1 1 auto;
		text-align: center;
	}
}

/* --- Seletor de habilidade em quadrados ------------------------------------
   Como na referencia: uma fileira centralizada de icones, e abaixo o detalhe
   em duas colunas — texto a esquerda, video a direita. */
.cp-skill-bar {
	justify-content: center;
}

.cp-skill-pick {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	overflow: hidden;
}

.cp-skill-pick img {
	max-width: 100%;
	height: auto;
}

/* Sem icone ainda: quadrado neutro com a marca do lugar */
.cp-skill-pick--vazio {
	color: #4a6072;
	font-size: 11px;
	font-weight: normal;
	opacity: 0.7;
}

.cp-skill-body {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
}

.cp-skill-texto {
	flex: 1 1 260px;
	min-width: 0;
}

.cp-skill-midia {
	flex: 0 1 480px;
	max-width: 100%;
}

.cp-skill-midia img,
.cp-skill-midia video {
	max-width: 100%;
	height: auto;
}

/* Placeholder do video: bloco preto na proporcao em que o video vai entrar */
.cp-skill-video-vazio {
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 200px;
	background: #000;
}

@media (max-width: 760px) {
	.cp-skill-midia {
		flex-basis: 100%;
	}
}

/* --- Escala de arredondamento ----------------------------------------------
   Medida no CSS da referencia: o raio cresce com o tamanho da caixa.
   4px em icone, 6px em midia, 8px em etiqueta, 10px em controle, 12px em
   painel. Nao e decoracao solta: e o que evita o visual de tabela de planilha
   sem transformar tudo em bolha.
   -------------------------------------------------------------------------- */
.cp-panel {
	border-radius: 12px;
}

.cp-art {
	border-radius: 12px;
}

.cp-art img {
	border-radius: 8px;
}

.cp-tab,
.cp-badge,
.cp-exp,
.cp-tema {
	border-radius: 8px;
}

.cp-skill-pick,
.cp-tip-bar {
	border-radius: 10px;
}

.cp-panel-title,
.cp-tip,
.cp-skill-midia img,
.cp-skill-midia video,
.cp-skill-video-vazio {
	border-radius: 6px;
}

.cp-item,
.cp-skill-meta > span {
	border-radius: 4px;
}

/* O contador do item mora no canto do chip: so a ponta de fora acompanha */
.cp-item-qty {
	border-radius: 4px 0 4px 0;
}

/* --- Lavagem no lugar de preenchimento solido -------------------------------
   Na referencia o estado ativo nao e um bloco de cor: e fundo a 18% da matiz,
   borda a 42% e texto num tom fundo. Le como selecionado sem virar mancha. */
.cp-tab.is-active {
	background: rgba(9, 99, 144, 0.16);
	border-color: rgba(9, 99, 144, 0.45);
	color: #0a4f74;
}

.cp-tab.is-active[data-dif="hard"] {
	background: rgba(192, 57, 43, 0.16);
	border-color: rgba(192, 57, 43, 0.45);
	color: #a93226;
}

.cp-tab.is-active:hover {
	background: rgba(9, 99, 144, 0.26);
}

.cp-tab.is-active[data-dif="hard"]:hover {
	background: rgba(192, 57, 43, 0.26);
}

/* Mesma logica nos outros elementos que estavam solidos */
.cp-badge,
.cp-exp,
.cp-skill-pick.is-active,
.cp-skill-meta > .cp-skill-flag {
	background: rgba(9, 99, 144, 0.14);
	border-color: rgba(9, 99, 144, 0.42);
	color: #0a4f74;
}

/* No escuro a lavagem precisa de mais opacidade e texto claro */
.cp-boss[data-tema="escuro"] .cp-tab.is-active,
.cp-boss[data-tema="escuro"] .cp-badge,
.cp-boss[data-tema="escuro"] .cp-exp,
.cp-boss[data-tema="escuro"] .cp-skill-pick.is-active,
.cp-boss[data-tema="escuro"] .cp-skill-meta > .cp-skill-flag {
	background: rgba(78, 168, 214, 0.24);
	border-color: rgba(126, 190, 230, 0.45);
	color: #9ecbff;
}

.cp-boss[data-tema="escuro"] .cp-tab.is-active[data-dif="hard"] {
	background: rgba(214, 88, 74, 0.26);
	border-color: rgba(240, 140, 128, 0.45);
	color: #ffb3a7;
}

/* O contador precisa de espaco para pendurar sem encostar na linha de baixo */
.cp-rewards-row {
	gap: 14px 10px;
	padding-bottom: 4px;
}

.cp-item {
	margin-bottom: 8px;
}

/* --- Tema escuro ---------------------------------------------------------- */

.cp-boss[data-tema="escuro"] {
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-art {
	border: 1px solid #3b4551;
	background: #2b323c;
}

.cp-boss[data-tema="escuro"] .cp-title {
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-badge {
	border: 1px solid #52606f;
	background: #173444;
	color: #6fc9ee;
}

.cp-boss[data-tema="escuro"] .cp-desc {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-stat {
	border-left: 1px solid #3b4551;
}

.cp-boss[data-tema="escuro"] .cp-stat-label {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-stat-value {
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-tab {
	border: 1px solid #3b4551;
	background: #2b323c;
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-tab:hover {
	border-color: #52606f;
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-tab.is-active {
	border-color: #6fc9ee;
	background: #173444;
	color: #6fc9ee;
}

.cp-boss[data-tema="escuro"] .cp-panel {
	border: 1px solid #52606f;
	background: #2b323c;
}

.cp-boss[data-tema="escuro"] .cp-panel-title {
	border: 1px solid #52606f;
	background: #222831;
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-panel li {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-rewards-label {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-exp {
	border: 1px solid #52606f;
	background: #173444;
	color: #6fc9ee;
}

.cp-boss[data-tema="escuro"] .cp-rewards-hint {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-item {
	border: 1px solid #3b4551;
	background: #2b323c;
}

.cp-boss[data-tema="escuro"] .cp-tip {
	border: 1px solid #52606f;
	background: #222831;
}

.cp-boss[data-tema="escuro"] .cp-tip-name {
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-tip-qty {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-skill {
	border-top: 1px solid #3b4551;
}

.cp-boss[data-tema="escuro"] .cp-skill-name {
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-skill-hp {
	background: #173444;
	color: #6fc9ee;
}

.cp-boss[data-tema="escuro"] .cp-skill-desc,
.cp-boss[data-tema="escuro"] .cp-empty {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-tip-bar {
	border: 1px solid #3b4551;
	background: #2b323c;
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-tip-tag {
	color: #6fc9ee;
}

.cp-boss[data-tema="escuro"] .cp-tema {
	border: 1px solid #3b4551;
	background: #2b323c;
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-skill-bar {
	border-bottom: 1px solid #3b4551;
}

.cp-boss[data-tema="escuro"] .cp-skill-pick {
	border: 1px solid #3b4551;
	background: #2b323c;
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-skill-pick:hover {
	border-color: #52606f;
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-skill-pick.is-active {
	border-color: #6fc9ee;
	background: #173444;
	color: #6fc9ee;
}

.cp-boss[data-tema="escuro"] .cp-skill-name {
	color: #e3eaf2;
}

.cp-boss[data-tema="escuro"] .cp-skill-meta > span {
	border: 1px solid #3b4551;
	background: #2b323c;
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-skill-meta > .cp-skill-flag {
	border-color: #6fc9ee;
	color: #6fc9ee;
}

.cp-boss[data-tema="escuro"] .cp-skill-desc {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-skill-video {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-empty {
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-skill-pick--vazio {
	color: #a0b0bd;
}