diff --git a/Candela-Obscura-PT-BR/candela-obscura-pt-br.css b/Candela-Obscura-PT-BR/candela-obscura-pt-br.css new file mode 100644 index 0000000000..cba28cec12 --- /dev/null +++ b/Candela-Obscura-PT-BR/candela-obscura-pt-br.css @@ -0,0 +1,1000 @@ +/* CONFIGURAÇÃO GERAL */ +.sheet-candela-dark { + background-color: #ffffff; + padding: 10px; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; +} +.sheet-candela-dark * { + box-sizing: border-box; +} +/* CORES E CAIXAS PRETAS */ +.sheet-dark-box { + background-color: #0c0c0c; + border: 1px solid #1a1a1a; + padding: 15px; + width: 100%; + box-sizing: border-box; /* Impede que o padding vaze o tamanho da caixa */ +} +.sheet-title-gold { + color: #c4a464; + font-size: 16px; + font-weight: bold; + text-transform: uppercase; + margin: 0 !important; + white-space: nowrap; +} +.sheet-text-teal { + color: #cb706d; + font-weight: bold; +} +.sheet-diamond { + color: #ffffff; + font-size: 10px; +} +/* ================= CABEÇALHO ================= */ +.sheet-header-top { + display: flex; + gap: 20px; + align-items: center; + margin-bottom: 15px; +} +.sheet-logo-placeholder img { + max-width: 130px; + height: auto; +} +.sheet-header-fields { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 10px 30px; + flex-grow: 1; +} +.sheet-header-field { + display: flex; + align-items: flex-end; + font-weight: bold; + color: #c4a464; + font-size: 16px; +} +.sheet-header-field input { + flex-grow: 1; + border: none; + border-bottom: 2px solid #000; + background: transparent; + margin-left: 5px; + font-size: 14px; + color: #000; + outline: none; +} +/* ================= GRID 3 COLUNAS (ATRIBUTOS) ================= */ +.sheet-grid-3 { + display: grid; + grid-template-columns: repeat(3, 1fr); /* Divide a tela em 3 colunas exatamente iguais */ + gap: 15px; /* Espaço entre as caixas. IMPORTANTE: tem que ser igual ao de baixo */ + width: 100%; /* Força a esticar até os limites da ficha */ + box-sizing: border-box; + margin-bottom: 20px; +} +/* ================= ALINHAMENTO DO CABEÇALHO (VIGOR, ASTÚCIA, INTUIÇÃO) ================= */ +/* Blindagem total com .sheet-candela-dark e Flexbox puro */ +.sheet-candela-dark .sheet-attr-head-aligned { + display: flex !important; + justify-content: space-between !important; + align-items: flex-start !important; + width: 100% !important; + margin-bottom: 15px !important; +} +.sheet-candela-dark .sheet-tracks-container-new { + display: flex !important; + flex-direction: column !important; + align-items: flex-end !important; + gap: 4px !important; +} +.sheet-candela-dark .sheet-track-row-new { + display: flex !important; + align-items: center !important; + justify-content: flex-end !important; +} +.sheet-candela-dark .sheet-input-group { + display: flex !important; + align-items: center !important; +} +.sheet-candela-dark .sheet-track-label { + color: #d2a679 !important; + margin-right: 8px !important; + font-size: 13px !important; + white-space: nowrap !important; +} +.sheet-candela-dark .sheet-track-slash { + color: #555 !important; + margin: 0 4px !important; + font-weight: bold !important; +} +/* ================= CAIXAS DE MOTIVAÇÃO E RESISTÊNCIA ================= */ +.sheet-square-input { + width: 24px !important; + height: 24px !important; + background-color: #ffffff !important; + border: 2px solid #000 !important; + border-radius: 0 !important; + margin: 0 !important; + padding: 0 !important; + text-align: center !important; + font-weight: bold !important; + font-size: 14px !important; + color: #000 !important; + -moz-appearance: textfield !important; +} +.sheet-square-input::-webkit-outer-spin-button, +.sheet-square-input::-webkit-inner-spin-button { + -webkit-appearance: none !important; + margin: 0 !important; +} +.sheet-square-input:focus { + outline: 2px solid #c4a464 !important; + background-color: #fdfaf2 !important; +} +/* ================= LINHAS DE AÇÃO ================= */ +.sheet-action-row { + margin-bottom: 10px; +} +.sheet-action-title { + display: flex; + align-items: baseline; + gap: 5px; +} +.sheet-action-btn { + background: transparent !important; + border: none !important; + color: #00b3b3 !important; + font-weight: bold !important; + font-size: 14px !important; + padding: 0 !important; + margin: 0 !important; + box-shadow: none !important; + text-shadow: none !important; + cursor: pointer; +} +.sheet-action-btn:hover { + color: #ffffff !important; + text-shadow: 0 0 5px #00b3b3 !important; +} +.sheet-action-desc { + color: #cccccc; + font-size: 9px; + white-space: nowrap; +} +.sheet-dots { + display: flex; + gap: 5px; + margin-top: 3px; + padding-left: 15px; +} +.sheet-circle-check { + appearance: none !important; + -webkit-appearance: none !important; + width: 14px !important; + height: 14px !important; + background: #ffffff !important; + border-radius: 50% !important; + border: 1px solid #777 !important; + cursor: pointer !important; + display: inline-block !important; + margin: 0 !important; +} +.sheet-circle-check:checked { + background: #00b3b3 !important; + border-color: #00b3b3 !important; +} +/* ================= MEIO DA FICHA (2 COLUNAS) ================= */ +.sheet-main-grid { + display: grid; + grid-template-columns: 1fr 1fr; /* Divide em 2 colunas iguais */ + gap: 15px; /* DEVE SER O MESMO VALOR do grid-3 para as linhas baterem */ + width: 100%; /* Força a esticar */ + box-sizing: border-box; + margin-bottom: 20px; +} +.sheet-col-left, +.sheet-col-right { + display: flex; + flex-direction: column; + height: 100%; + min-width: 0; +} +.sheet-relacoes-box { + flex-grow: 1; + margin-bottom: 0 !important; +} +.sheet-line-row { + display: flex; + align-items: flex-end; + gap: 8px; + margin-bottom: 8px; +} +.sheet-line-input { + background: transparent; + border: none; + border-bottom: 1px solid #c4a464; + color: #ffffff; + width: 100%; + font-size: 14px; + padding-bottom: 2px; + outline: none; +} +.sheet-short-input { + width: 30%; +} +/* ================= MARCAS E CICATRIZES ================= */ +.sheet-marcas-cicatrizes { + display: grid; + grid-template-columns: 140px 1fr; + gap: 30px; +} +.sheet-marca-row, +.sheet-cicatrizes-col .sheet-line-row { + display: flex; + justify-content: space-between; + align-items: center !important; + height: 22px !important; + margin-bottom: 12px !important; +} +.sheet-marca-dots { + display: flex; + gap: 6px; + flex-shrink: 0; +} +.sheet-circle-check-marcas { + appearance: none !important; + -webkit-appearance: none !important; + width: 14px !important; + height: 14px !important; + background: #ffffff !important; + border-radius: 50% !important; + border: 1px solid #777 !important; + cursor: pointer !important; + display: inline-block !important; + margin: 0 !important; +} +.sheet-circle-check-marcas:checked { + background: #cb706d !important; + border-color: #cb706d !important; +} +/* ================= PAPEL E ESPECIALIDADE ================= */ +.sheet-papel-head { + display: flex; + align-items: baseline; + gap: 10px; + margin-bottom: 15px; +} +.sheet-papel-head input { + background: transparent; + border: none; + border-bottom: 1px solid #c4a464; + color: #ffffff; + font-size: 16px; + flex-grow: 1; + outline: none; +} +/* ================= ANOTAÇÕES E RODAPÉ ================= */ +.sheet-anotacoes-container { + flex-grow: 1; + display: flex; + flex-direction: column; +} +.sheet-anotacoes-textarea { + width: 100%; + flex-grow: 1; + background: #ffffff; + border: none; + padding: 10px; + font-family: 'Arial', sans-serif; + color: #000000; + resize: none; + outline: none; +} +.sheet-footer-box { + text-align: center; +} +.sheet-footer-lines { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + gap: 20px; + margin-top: 15px; +} +textarea { + min-height: 80px; + height: auto; + resize: vertical !important; + box-sizing: border-box; +} +/* ================= HABILIDADES / RECURSOS ================= */ +.sheet-linha-recurso { + display: grid; + grid-template-columns: auto 1fr 24px; + align-items: center; + gap: 10px; + margin-bottom: 5px; +} +.sheet-btn-chat { + background: transparent !important; + border: none !important; + font-size: 16px !important; + cursor: pointer; + padding: 0 !important; + margin: 0 !important; + color: #c4a464 !important; + box-shadow: none !important; + text-shadow: none !important; +} +.sheet-btn-chat:hover { + color: #ffffff !important; +} +.sheet-input-linha { + border: none; + border-bottom: 1px solid #c4a464; + background: transparent; + padding: 2px 5px; + font-size: 14px; + color: #ffffff; + outline: none; + width: 100%; +} +.sheet-toggle-detalhes { + grid-column: 3; + grid-row: 1; + width: 24px !important; + height: 24px !important; + opacity: 0; + cursor: pointer; + z-index: 2; + margin: 0 !important; +} +.sheet-icone-lapis { + grid-column: 3; + grid-row: 1; + font-size: 16px; + text-align: center; + z-index: 1; + color: #c4a464; + pointer-events: none; +} +.sheet-recurso-detalhes { + display: none; + grid-column: 1 / -1; + background-color: #0c0c0c; + border: 1px solid #c4a464; + padding: 10px; + margin-top: 5px; + border-radius: 4px; +} +.sheet-toggle-detalhes:checked ~ .sheet-recurso-detalhes { + display: block; +} +.sheet-label-desc { + color: #c4a464; + font-weight: bold; + font-size: 13px; + display: block; + margin-bottom: 5px; +} +.sheet-recurso-detalhes textarea { + background-color: transparent; + border: none; + color: #ffffff; + width: 100%; + min-height: 80px; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + resize: vertical; + outline: none; +} +/* ================= ROLL TEMPLATE ================= */ +.sheet-rolltemplate-habilidade .sheet-template-container { + background-color: #0c0c0c; + color: #ffffff; + border-radius: 8px; + padding: 15px; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + border: 1px solid #c4a464; + box-shadow: 0 4px 6px rgba(0,0,0,0.5); +} +.sheet-rolltemplate-habilidade .sheet-template-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 5px; + border-bottom: 1px solid #c4a464; + padding-bottom: 5px; +} +.sheet-rolltemplate-habilidade .sheet-template-title { + font-size: 1.3em; + font-weight: bold; + color: #c4a464; + width: 60%; + line-height: 1.2; +} +.sheet-rolltemplate-habilidade .sheet-template-charname { + font-size: 1em; + font-weight: bold; + text-align: right; + width: 40%; + color: #888; +} +.sheet-rolltemplate-habilidade .sheet-template-info { + margin-bottom: 8px; +} +.sheet-rolltemplate-habilidade .sheet-template-desc { + font-size: 14px; + line-height: 1.4; + color: #cccccc; +} +button[type="roll"].sheet-btn-balao::before { + content: none !important; + display: none !important; +} +/* ================= VISUAL DA JANELA DO MODAL ================= */ +input.sheet-modal-estado[value="0"] ~ div.sheet-janela-modal { + display: none; +} +input.sheet-modal-estado[value="1"] ~ div.sheet-janela-modal { + display: flex; +} +.sheet-janela-modal { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: rgba(0, 0, 0, 0.8); + z-index: 9999; + justify-content: center; + align-items: center; +} +.sheet-modal-conteudo { + background: #111111; + border: 1px solid #c4a464; + border-radius: 8px; + padding: 20px; + width: 320px; + color: #ffffff; + font-family: Arial, sans-serif; + box-shadow: 0 0 15px rgba(0,0,0,0.8); +} +.sheet-modal-titulo { + color: #c4a464; + text-align: center; + margin-top: 0; + border-bottom: 1px solid #333; + padding-bottom: 10px; + font-size: 18px; +} +.sheet-modal-linha { + display: flex; + justify-content: space-between; + margin-bottom: 12px; + align-items: center; + font-size: 14px; + font-weight: bold; +} +.sheet-modal-linha input[type="number"] { + width: 50px; + text-align: center; + background: #1a1a1a; + color: white; + border: 1px solid #555; + border-radius: 4px; + padding: 4px; +} +.sheet-input-readonly { + border: none !important; + background: transparent !important; + color: #c4a464 !important; + font-size: 16px; +} +.sheet-modal-botoes { + display: flex; + justify-content: space-between; + margin-top: 20px; +} +.sheet-btn-cancelar { + background: #333 !important; + color: white !important; + border: 1px solid #555 !important; + cursor: pointer; + padding: 5px 15px; +} +.sheet-btn-rolar { + background: #1e3b22 !important; + color: #81c784 !important; + border: 1px solid #81c784 !important; + cursor: pointer; + padding: 5px 15px; +} +/* ================= NOVO LOSANGO SELECIONÁVEL (DADOS DOURADOS) ================= */ +input[type="checkbox"].sheet-diamond-check { + appearance: none !important; + -webkit-appearance: none !important; + display: inline-block !important; + cursor: pointer !important; + font-size: 16px !important; + color: #ffffff !important; /* Cor quando não é treinado */ + margin: 0 5px 0 0 !important; + padding: 0 !important; + border: none !important; + background: transparent !important; +} +input[type="checkbox"].sheet-diamond-check::before { + content: "♦" !important; +} +input[type="checkbox"].sheet-diamond-check:checked { + color: #c4a464 !important; /* Cor Dourada quando treinado */ + text-shadow: 0 0 5px rgba(196, 164, 100, 0.5) !important; +} +/* Estilo das caixinhas de número e menus dropdown no Modal */ +.sheet-modal-linha input[type="number"], +.sheet-modal-linha select { + width: 50px; + text-align: center; + background: #1a1a1a; + color: white; + border: 1px solid #555; + border-radius: 4px; + padding: 4px; + cursor: pointer; +} +.sheet-modal-linha select:focus { + outline: 1px solid #c4a464; +} +/* ========================================================== */ +/* CORREÇÃO DA LIXEIRA NAS LISTAS DE REPETIÇÃO (PAPEL/ESPECIALIDADE) */ +/* ========================================================== */ +/* Garante que os controles do Roll20 fiquem na camada mais alta da tela */ +.itemcontrol { + z-index: 9999 !important; +} +/* Garante que a lixeira vermelha não fique escondida atrás do lápis */ +.itemcontrol .repcontrol_del { + z-index: 9999 !important; + position: relative !important; +} +/* Dá um pequeno empurrãozinho na lixeira para separar do seu botão de lápis */ +.itemcontrol .btn.btn-danger { + margin-left: 8px !important; + padding: 2px 6px !important; +} +/* ========================================================== */ +/* PERSONALIZAÇÃO DOS BOTÕES ADD E MODIFY (LISTAS DE REPETIÇÃO) */ +/* ========================================================== */ +/* Esconde o texto original, tira o estilo padrão do Roll20 e aplica o visual Candela */ +.repcontrol_add, +.repcontrol_edit { + font-size: 0 !important; /* Esconde o "Add" e "Modify" */ + background: #1a1a1a !important; /* Fundo escuro */ + border: 1px solid #c4a464 !important; /* Borda dourada */ + color: #c4a464 !important; /* Cor do texto que vamos injetar */ + border-radius: 4px !important; + padding: 5px 12px !important; + box-shadow: none !important; + text-shadow: none !important; + transition: all 0.2s ease; + margin-top: 5px; +} +/* Efeito ao passar o mouse por cima (Hover) */ +.repcontrol_add:hover, +.repcontrol_edit:hover { + background: #2a2211 !important; /* Fundo levemente mais claro */ + border-color: #f2d06b !important; /* Dourado mais brilhante */ + color: #f2d06b !important; +} +/* Injeta o texto em Português no botão de Adicionar */ +.repcontrol_add::after { + content: "+ Add"; + font-size: 12px !important; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-weight: bold; +} +/* Injeta o texto em Português no botão de Editar */ +.repcontrol_edit::after { + content: "Editar"; + font-size: 12px !important; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-weight: bold; +} +/* Quando o botão "Editar" for clicado, ele precisa virar "Concluir" */ +.editmode ~ .repcontrol .repcontrol_edit::after { + content: "✓"; +} + +/* ================= MENSAGENS DE ERRO NO MODAL ================= */ +.sheet-erro-msg-caixa { + display: none; + color: #e57373; + font-size: 13px; + font-weight: bold; + text-align: center; + margin-top: 10px; + border: 1px solid #e57373; + background: #3b1212; + padding: 10px; + border-radius: 4px; + line-height: 1.4; +} + +/* Mostra a caixa correta dependendo de qual erro ativou */ +input.sheet-erro-mot-toggle[value="1"] ~ .sheet-erro-mot-msg, +input.sheet-erro-max-dados-toggle[value="1"] ~ .sheet-erro-max-dados-msg, +input.sheet-erro-max-dourados-toggle[value="1"] ~ .sheet-erro-max-dourados-msg { + display: block; +} + +/* Se QUALQUER UM dos erros estiver ativo (1), esconde o botão Rolar */ +input.sheet-erro-mot-toggle[value="1"] ~ .sheet-modal-botoes .sheet-btn-rolar, +input.sheet-erro-max-dados-toggle[value="1"] ~ .sheet-modal-botoes .sheet-btn-rolar, +input.sheet-erro-max-dourados-toggle[value="1"] ~ .sheet-modal-botoes .sheet-btn-rolar { + display: none !important; +} + +/* ================= PLACAR DO MODAL (COLUNAS) ================= */ +.sheet-modal-placar { + display: flex; + justify-content: space-between; + gap: 15px; + margin-bottom: 5px; +} + +.sheet-placar-box { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + padding: 10px; + border-radius: 6px; + border: 1px solid #555; + background: #1a1a1a; +} + +.sheet-placar-dourado { + border-color: #c4a464; + background: #2a2211; + box-shadow: 0 0 5px rgba(196,164,100,0.2); +} + +.sheet-placar-label { + font-size: 10px; + font-weight: bold; + color: #ffffff; + margin-bottom: 5px; +} + +.sheet-placar-dourado .sheet-placar-label { + color: #c4a464; +} + +.sheet-placar-valor { + background: transparent !important; + border: none !important; + font-size: 28px !important; + font-weight: bold !important; + color: #ffffff !important; + text-align: center; + width: 100% !important; + padding: 0 !important; + pointer-events: none; + -moz-appearance: textfield !important; +} + +.sheet-placar-valor::-webkit-outer-spin-button, +.sheet-placar-valor::-webkit-inner-spin-button { + -webkit-appearance: none !important; + margin: 0 !important; +} + +.sheet-placar-dourado .sheet-placar-valor { + color: #c4a464 !important; +} + +.sheet-btn-balao { + font-family: 'Pictos'; /* Ativa a fonte de ícones do Roll20 */ + color: #d4af37; /* Pinta o balão com o dourado de Candela Obscura */ + font-size: 14px; /* Ajuste o tamanho conforme preferir */ + background: none; + border: none; + cursor: pointer; +} + +/* ================= COR E FORMATO DOS DADOS NO CHAT (COMPACTO) ================= */ +.sheet-rolltemplate-habilidade .inlinerollresult { + background-color: #000000 !important; /* Fundo claro perfeitamente legível */ + color: #ffffff !important; /* Texto preto */ + border: 1px solid #555555 !important; /* Borda fina e escura */ + border-radius: 2px !important; /* Cantos quase quadrados (padrão clássico) */ + padding: 2px 5px !important; /* Espaçamento pequeno para não inflar a caixa */ + font-size: 14px !important; /* Tamanho de texto equilibrado com o resto */ + font-weight: bold !important; /* Negrito para destaque */ + display: inline-block !important; + text-align: center; + box-shadow: none !important; /* Tira o efeito 3D nativo do Roll20 */ +} + +/* ================= ACERTOS E FALHAS CRÍTICAS ================= */ +.sheet-rolltemplate-habilidade .inlinerollresult.fullcrit { + border: 2px solid #3fb315 !important; /* Borda verde mais grossa para acerto crítico */ +} + +.sheet-rolltemplate-habilidade .inlinerollresult.fullfail { + border: 2px solid #b31515 !important; /* Borda vermelha mais grossa para falha crítica */ +} + +.sheet-rolltemplate-habilidade .inlinerollresult.importantroll { + border: 2px solid #4a57ed !important; /* Borda azul para rolagem mista */ +} + +/* 1. Remove o ícone de d20 nativo que o Roll20 força nos botões de rolagem */ +button[type="roll"]::before { + content: "" !important; + display: none !important; +} + +/* 2. Limpa a barra cinza nativa e espaçamentos do container de Adicionar/Editar */ +.repcontrol { + background: transparent !important; + padding: 5px 0 !important; + border: none !important; +} + +/* 3. Esconde as tags de versão e compêndio que poluem o topo da ficha */ +.sheet-core-version, +.sheet-compendium-drop-target { + display: none !important; +} + +/* 4. Blinda a ficha contra o Dark Mode nativo do Roll20, mantendo o fundo branco geral */ +.ui-dialog .charsheet .sheet-candela-dark { + background-color: #ffffff !important; + color: #000000 !important; +} + +.sheet-credit-footer { + text-align: center; + color: #000000; + font-size: 13px; + font-style: italic; + letter-spacing: 0.5px; + opacity: 1; + padding: 12px 0 4px 0; + line-height: 1.35; +} + +/* ================= ROLL TEMPLATE CANDELA CARD - SEM TABLES ================= */ +/* Bloco revisado para o template candela_card. Mantém o layout sem