Files
fvtt-chroniques-de-l-etrange/css/cde-theme.css
LeRatierBretonnier 068fca00e5 Neo-Tokyo Neon Noir design pour fiches items
- Nouvelle palette : #080c14 fond, accents néon par type (#00d4d4 item, #ff3d5a kungfu, #4a9eff spell, #cc44ff supernatural)
- Nouveaux composants LESS : .cde-neon-header (clip-path angulaire + accent line), .cde-avatar (clip-path), .cde-stat-grid/.cde-stat-cell (style terminal), .cde-badge (parallélogramme), .cde-neon-tabs (underline néon animé), .cde-check-cell
- Fix layout : .cde-sheet width: 100% + height: 100% + overflow: hidden, .cde-tab-body flex: 1 + min-height: 0, .cde-notes-editor flex stretch
- Fix positions : DEFAULT_OPTIONS height explicite pour tous les types (item 620x580, spell 660x680, kungfu 720x680, supernatural 560x520)
- 4 templates items reécrits avec nouvelles classes et structure épurée

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-26 00:18:04 +01:00

736 lines
15 KiB
CSS

/* -------------------------------------------
Fonts
---------------------------------------------*/
@font-face {
font-family: "DeliusUnicaseBold";
src: url(../fonts/DeliusUnicase-Bold.ttf);
}
@font-face {
font-family: "DeliusUnicase";
src: url(../fonts/DeliusUnicase-Regular.ttf);
}
.fvtt-chroniques-de-l-etrange {
--cde-bg: #080c14;
--cde-surface: #101622;
--cde-border: #1a2436;
--cde-text: #e2e8f4;
--cde-muted: #5b6b88;
--cde-item: #00d4d4;
--cde-kungfu: #ff3d5a;
--cde-spell: #4a9eff;
--cde-supernatural: #cc44ff;
color: #e2e8f4;
background: #080c14;
}
.cde-sheet {
background: #080c14;
color: #e2e8f4;
font-family: "DeliusUnicase", sans-serif;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
overflow: hidden;
}
.cde-sheet input,
.cde-sheet select,
.cde-sheet textarea {
font-family: inherit;
color: #e2e8f4;
background: transparent;
}
.cde-neon-header {
position: relative;
background: #101622;
display: grid;
grid-template-columns: 90px 1fr;
gap: 14px;
padding: 12px 14px 14px;
overflow: hidden;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
}
.cde-neon-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: #263853;
}
.cde-neon-header::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 0% 0%, rgba(38, 56, 83, 0.3) 0%, transparent 50%);
pointer-events: none;
}
.cde-neon-header.item::before {
background: #00d4d4;
box-shadow: 0 0 10px rgba(0, 212, 212, 0.5);
}
.cde-neon-header.kungfu::before {
background: #ff3d5a;
box-shadow: 0 0 10px rgba(255, 61, 90, 0.5);
}
.cde-neon-header.spell::before {
background: #4a9eff;
box-shadow: 0 0 10px rgba(74, 158, 255, 0.5);
}
.cde-neon-header.supernatural::before {
background: #cc44ff;
box-shadow: 0 0 10px rgba(204, 68, 255, 0.5);
}
.cde-avatar {
width: 90px;
height: 90px;
object-fit: cover;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
border: 1px solid #263853;
background: #0d1520;
cursor: pointer;
position: relative;
z-index: 1;
}
.cde-header-content {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 8px;
min-width: 0;
}
.cde-item-name {
margin: 0;
}
.cde-item-name input {
width: 100%;
border: none;
border-bottom: 2px solid #263853;
background: transparent;
color: #e2e8f4;
font-size: 18px;
font-family: "DeliusUnicase", sans-serif;
font-weight: 700;
padding: 4px 0 6px;
letter-spacing: 0.04em;
text-transform: uppercase;
outline: none;
transition: border-color 0.15s;
}
.cde-item-name input:focus {
border-bottom-color: #00d4d4;
}
.cde-neon-header.kungfu .cde-item-name input:focus {
border-bottom-color: #ff3d5a;
}
.cde-neon-header.spell .cde-item-name input:focus {
border-bottom-color: #4a9eff;
}
.cde-neon-header.supernatural .cde-item-name input:focus {
border-bottom-color: #cc44ff;
}
.cde-stat-grid {
display: flex;
flex-wrap: wrap;
gap: 6px 10px;
align-items: flex-end;
}
.cde-stat-cell {
display: flex;
flex-direction: column;
gap: 3px;
min-width: 110px;
flex: 1 1 110px;
max-width: 200px;
}
.cde-stat-label {
font-size: 10px;
font-family: monospace;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #5b6b88;
white-space: nowrap;
}
.cde-stat-value {
font-size: 15px;
font-weight: 800;
color: #e2e8f4;
letter-spacing: 0.02em;
}
.cde-stat-cell input,
.cde-stat-cell select {
width: 100%;
background: transparent;
border: none;
border-bottom: 1px solid #1a2436;
color: #e2e8f4;
font-size: 14px;
padding: 4px 0;
outline: none;
transition: border-color 0.15s;
}
.cde-stat-cell input:focus,
.cde-stat-cell select:focus {
border-bottom-color: #00d4d4;
}
.cde-neon-header.kungfu .cde-stat-cell input:focus,
.cde-neon-header.kungfu .cde-stat-cell select:focus {
border-bottom-color: #ff3d5a;
}
.cde-neon-header.spell .cde-stat-cell input:focus,
.cde-neon-header.spell .cde-stat-cell select:focus {
border-bottom-color: #4a9eff;
}
.cde-neon-header.supernatural .cde-stat-cell input:focus,
.cde-neon-header.supernatural .cde-stat-cell select:focus {
border-bottom-color: #cc44ff;
}
.cde-badge {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 3px 14px 3px 10px;
clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
font-size: 11px;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #080c14;
cursor: default;
white-space: nowrap;
}
.cde-badge.item {
background: #00d4d4;
}
.cde-badge.kungfu {
background: #ff3d5a;
}
.cde-badge.spell {
background: #4a9eff;
}
.cde-badge.supernatural {
background: #cc44ff;
}
.cde-badge.character {
background: #00d4d4;
}
.cde-badge.npc {
background: #cc44ff;
}
.cde-neon-tabs {
display: flex;
gap: 0;
border-bottom: 1px solid #1a2436;
background: transparent;
margin-top: 8px;
overflow-x: auto;
}
.cde-neon-tabs .item {
padding: 8px 14px;
font-size: 11px;
font-family: monospace;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #5b6b88;
border-bottom: 2px solid transparent;
white-space: nowrap;
transition: color 0.15s, border-color 0.15s;
cursor: pointer;
}
.cde-neon-tabs .item:hover {
color: #e2e8f4;
}
.cde-neon-tabs .item.active {
color: #00d4d4;
border-bottom-color: #00d4d4;
}
.item.kungfu .cde-neon-tabs .item.active,
form.kungfu .cde-neon-tabs .item.active {
color: #ff3d5a;
border-bottom-color: #ff3d5a;
}
form.spell .cde-neon-tabs .item.active {
color: #4a9eff;
border-bottom-color: #4a9eff;
}
form.supernatural .cde-neon-tabs .item.active {
color: #cc44ff;
border-bottom-color: #cc44ff;
}
.cde-tab-body {
flex: 1 1 0;
min-height: 0;
padding: 12px;
background: #0d1520;
border: 1px solid #1a2436;
border-top: none;
border-radius: 0 0 8px 8px;
overflow-y: auto;
}
.cde-tab-body .tab {
display: none;
flex-direction: column;
gap: 12px;
height: 100%;
}
.cde-tab-body .tab.active {
display: flex;
}
.cde-card {
background: #101622;
border: 1px solid #1a2436;
border-radius: 8px;
padding: 12px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
.cde-card .tab-sous-titre {
font-family: monospace;
font-size: 10px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #5b6b88;
margin-bottom: 6px;
border-bottom: 1px solid #1a2436;
padding-bottom: 4px;
}
.cde-notes-editor {
flex: 1 1 0;
min-height: 0;
display: flex;
flex-direction: column;
}
.cde-notes-editor .editor {
flex: 1 1 0;
min-height: 200px;
border-radius: 8px;
border: 1px solid #1a2436;
background: #101622;
}
.cde-technique-card {
border-left: 3px solid #ff3d5a;
background: rgba(16, 22, 34, 0.8);
}
.cde-technique-header {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
gap: 10px;
margin-bottom: 10px;
}
.cde-technique-title {
display: flex;
align-items: center;
gap: 8px;
flex: 1 1 200px;
}
.cde-technique-title input {
flex: 1;
background: transparent;
border: none;
border-bottom: 1px solid #1a2436;
color: #e2e8f4;
font-size: 15px;
font-weight: 700;
padding: 4px 0;
outline: none;
}
.cde-technique-title input:focus {
border-bottom-color: #ff3d5a;
}
.cde-technique-meta {
display: flex;
gap: 8px;
flex-wrap: wrap;
align-items: flex-end;
}
.cde-technique-body .editor {
min-height: 180px;
}
.cde-check-cell {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
min-width: 70px;
}
.cde-check-cell label {
font-size: 10px;
font-family: monospace;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #5b6b88;
}
.cde-check-cell input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #ff3d5a;
cursor: pointer;
}
.cde-chip {
background: rgba(16, 22, 34, 0.75);
border: 1px solid #1a2436;
border-radius: 8px;
padding: 8px 10px;
display: inline-flex;
flex-direction: column;
gap: 6px;
min-width: 140px;
}
.cde-chip label {
font-size: 10px;
font-family: monospace;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #5b6b88;
margin: 0;
}
.cde-chip input,
.cde-chip select {
width: 100%;
border: none;
border-bottom: 1px solid #1a2436;
background: transparent;
color: #e2e8f4;
padding: 4px 0;
outline: none;
}
.cde-chip input:focus,
.cde-chip select:focus {
border-bottom-color: #00d4d4;
}
.cde-chip input[type="checkbox"] {
width: auto;
align-self: flex-start;
accent-color: #00d4d4;
}
.cde-chip.mini {
min-width: 100px;
padding: 6px 8px;
}
.cde-meta-row {
display: flex;
gap: 12px;
flex-wrap: wrap;
align-items: flex-end;
margin-top: 8px;
}
.cde-meta-row.compact {
gap: 8px;
}
.cde-pill {
display: inline-block;
padding: 3px 10px;
border-radius: 999px;
font-weight: 800;
font-size: 11px;
letter-spacing: 0.06em;
text-transform: uppercase;
color: #080c14;
}
.cde-pill.item {
background: #00d4d4;
}
.cde-pill.kungfu {
background: #ff3d5a;
}
.cde-pill.spell {
background: #4a9eff;
}
.cde-pill.supernatural {
background: #cc44ff;
}
.cde-pill.character {
background: #00d4d4;
}
.cde-pill.npc {
background: #cc44ff;
}
.cde-header {
background: #101622;
border: 1px solid #1a2436;
border-radius: 8px;
padding: 12px;
display: grid;
grid-template-columns: 120px 1fr;
gap: 12px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}
.cde-header .profile-img {
width: 100%;
border-radius: 8px;
border: 1px solid #1a2436;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
object-fit: cover;
}
.cde-header .header-fields h1.charname input {
width: 100%;
border: none;
border-bottom: 2px solid #263853;
background: transparent;
color: #e2e8f4;
font-size: 20px;
font-family: "DeliusUnicase", sans-serif;
padding: 4px 0 8px;
outline: none;
}
.cde-header .header-fields h1.charname input:focus {
border-bottom-color: #00d4d4;
}
.cde-actor-header {
grid-template-columns: 160px 1fr;
align-items: start;
}
.cde-header-top {
display: flex;
justify-content: space-between;
align-items: center;
gap: 8px;
}
.cde-icon-button {
border: 1px solid #1a2436;
background: rgba(16, 22, 34, 0.7);
color: #e2e8f4;
border-radius: 999px;
padding: 6px 10px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
cursor: pointer;
}
.cde-icon-button:hover {
border-color: #263853;
}
.cde-quick-meta {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}
.cde-initiative-card {
border: 1px solid #1a2436;
border-radius: 8px;
padding: 10px;
background: rgba(16, 22, 34, 0.7);
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
display: inline-flex;
flex-direction: column;
gap: 6px;
}
.cde-initiative-controls {
display: inline-flex;
align-items: center;
gap: 8px;
}
.cde-initiative-controls img {
width: 30px;
height: 30px;
border: 1px solid #1a2436;
border-radius: 5px;
background: rgba(8, 12, 20, 0.9);
cursor: pointer;
}
.cde-initiative-controls img:hover {
border-color: #4a9eff;
box-shadow: 0 0 0 2px rgba(74, 158, 255, 0.25);
}
.cde-initiative-value {
min-width: 28px;
text-align: center;
font-weight: 800;
}
.cde-grid {
display: grid;
gap: 12px;
}
.cde-grid.two {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cde-grid.three {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cde-field label {
display: block;
margin-bottom: 4px;
font-size: 10px;
font-family: monospace;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #5b6b88;
}
.cde-field input,
.cde-field select,
.cde-field textarea {
width: 100%;
border: none;
border-bottom: 1px solid #1a2436;
background: transparent;
color: #e2e8f4;
padding: 5px 0;
outline: none;
}
.cde-field input:focus,
.cde-field select:focus,
.cde-field textarea:focus {
border-bottom-color: #00d4d4;
}
.cde-section-title {
font-family: monospace;
font-size: 10px;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #5b6b88;
margin-bottom: 8px;
border-bottom: 1px solid #1a2436;
padding-bottom: 4px;
}
.cde-tag {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 3px 10px;
border-radius: 999px;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
background: rgba(26, 36, 54, 0.8);
color: #5b6b88;
border: 1px solid #1a2436;
}
.cde-data-table table {
width: 100%;
border-collapse: collapse;
color: #e2e8f4;
}
.cde-data-table td {
padding: 7px 8px;
border-bottom: 1px solid #1a2436;
}
.cde-data-table tr:nth-child(even) {
background: rgba(16, 22, 34, 0.5);
}
.cde-data-table tr:hover {
background: rgba(38, 56, 83, 0.2);
}
.cde-data-table input,
.cde-data-table select {
width: 100%;
border: none;
border-bottom: 1px solid #1a2436;
background: transparent;
color: #e2e8f4;
padding: 4px 0;
outline: none;
}
.cde-centered-card {
display: flex;
gap: 12px;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}
.cde-centered-card img {
max-height: 280px;
border-radius: 8px;
border: 1px solid #1a2436;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}
.loksyu_wrap .schema,
.tinji_wrap .schema {
display: grid;
gap: 12px;
align-items: center;
}
.loksyu-visual,
.tinji-visual {
max-width: 100%;
border-radius: 8px;
border: 1px solid #1a2436;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}
.cde-tabs {
margin-top: 12px;
border-bottom: 1px solid #1a2436;
}
.cde-tabs .item {
color: #5b6b88;
padding: 8px 12px;
font-size: 11px;
font-family: monospace;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.cde-tabs .item:hover {
color: #e2e8f4;
}
.cde-tabs .item.active {
color: #00d4d4;
background: #101622;
border: 1px solid #1a2436;
border-bottom: 1px solid #101622;
border-radius: 8px 8px 0 0;
}
/* =============================================
Global UI Rules
=============================================*/
#logo {
content: url("/systems/fvtt-chroniques-de-l-etrange/images/logo_jeu.png");
width: 100px;
height: 100px;
margin-left: 7px;
margin-top: -2px;
}
#pause > img {
content: url("/systems/fvtt-chroniques-de-l-etrange/images/wheel.webp");
height: 192px;
width: 192px;
top: -45px;
left: calc(50% - 96px);
}
#pause.paused {
animation: none;
}
a.compendium-name,
a.entry-name,
strong.ellipsis {
font-family: "DeliusUnicase";
}
/* concerne les pages de journaux */
.journal-header input {
font-family: "DeliusUnicase";
}
.journal-entry-page h1 {
font-family: "DeliusUnicaseBold";
text-align: center;
color: hsla(249, 66%, 58%, 0.874);
border-bottom: 1px solid orange;
border-top: 1px solid orange;
}
.journal-entry-page h2 {
font-family: "DeliusUnicaseBold";
color: orange;
border-bottom: 0px;
border-top: 1px solid orange;
}
.journal-entry-page h3,
.journal-entry-page h4,
.journal-entry-page h5,
.journal-entry-page h6 {
font-family: "DeliusUnicaseBold";
color: hsla(249, 66%, 58%, 0.874);
border-bottom: 0px;
}
/* concerne le Tchat */
#interface .chat-message .message-header img {
max-width: 80px;
border-radius: 5px;
border: 0.5px solid black;
/* max-width: 50px; */
/* max-height: 50px; */
margin-right: 4px;
}
#interface .chat-message .message-header .message-sender {
width: 100px;
}