Jump to content

Template:Campeao/styles.css

From WikiPStory
Revision as of 15:11, 12 September 2026 by WikiSysop (talk | contribs) (Legenda do painel vira caixa com borda propria, destacada do painel e da pagina)
/* 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 ----------------------------------------------------------- */
.cp-head {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: flex-start;
	padding: 20px;
	border: 1px solid #d5eaf3;
	background: #ffffff;
}

.cp-art {
	flex: 0 0 200px;
	max-width: 200px;
	border: 1px solid #d5eaf3;
	background: #eef7fc;
	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 #b3dbeb;
	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 #d5eaf3;
}

.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 #d5eaf3;
	background: #eef7fc;
	color: #4a6072;
	font-family: inherit;
	font-size: 15px;
	font-weight: bold;
	cursor: pointer;
}

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

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

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

/* --- Painéis -------------------------------------------------------------- */
.cp-split {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: flex-start;
}

.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 #b3dbeb;
	/* superficie propria: e o que faz cada painel ler como um bloco separado,
	   e nao como uma moldura desenhada sobre a pagina */
	background: #eef7fc;
}

/* 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 #b3dbeb;
	border-radius: 2px;
	background: #ffffff;
	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 #b3dbeb;
	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 #d5eaf3;
	background: #eef7fc;
}

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

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

.cp-item-qty {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 0 4px;
	background: #16293a;
	color: #ffffff;
	font-size: 11px;
	font-weight: bold;
	line-height: 1.5;
}

.cp-tip {
	position: absolute;
	bottom: 54px;
	left: 50%;
	z-index: 5;
	display: none;
	width: 190px;
	margin-left: -95px;
	padding: 8px 10px;
	border: 1px solid #b3dbeb;
	background: #ffffff;
	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 #d5eaf3;
}

.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 #d5eaf3;
	background: #eef7fc;
	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 #d5eaf3;
	background: #eef7fc;
	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;
	}

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

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

/* --- 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 #d5eaf3;
}

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

.cp-skill-pick:hover {
	border-color: #b3dbeb;
	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 #d5eaf3;
	background: #eef7fc;
	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%;
	}
}

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

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

.cp-boss[data-tema="escuro"] .cp-head {
	border: 1px solid #36414d;
	background: #1e242e;
}

.cp-boss[data-tema="escuro"] .cp-art {
	border: 1px solid #36414d;
	background: #252c39;
}

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

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

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

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

.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 #36414d;
	background: #252c39;
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-tab:hover {
	border-color: #4a5b6f;
	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 #4a5b6f;
	background: #252c39;
}

.cp-boss[data-tema="escuro"] .cp-panel-title {
	border: 1px solid #4a5b6f;
	background: #1e242e;
	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 #4a5b6f;
	background: #173444;
	color: #6fc9ee;
}

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

.cp-boss[data-tema="escuro"] .cp-item {
	border: 1px solid #36414d;
	background: #252c39;
}

.cp-boss[data-tema="escuro"] .cp-item-qty {
	background: #e3eaf2;
	color: #1e242e;
}

.cp-boss[data-tema="escuro"] .cp-tip {
	border: 1px solid #4a5b6f;
	background: #1e242e;
}

.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 #36414d;
}

.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 #36414d;
	background: #252c39;
	color: #a0b0bd;
}

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

.cp-boss[data-tema="escuro"] .cp-tema {
	border: 1px solid #36414d;
	background: #252c39;
	color: #a0b0bd;
}

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

.cp-boss[data-tema="escuro"] .cp-skill-pick {
	border: 1px solid #36414d;
	background: #252c39;
	color: #a0b0bd;
}

.cp-boss[data-tema="escuro"] .cp-skill-pick:hover {
	border-color: #4a5b6f;
	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 #36414d;
	background: #252c39;
	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;
}