// ─── Variables CSS (couleurs + typo) ──────────────────────────────────────── .fvtt-celestopol .window-title { color: var(--cel-orange, #c49a1a); } :root { // ── Palette Art Déco / nuit lunaire ────────────────────────────────────── --cel-green: #1b3828; // jade profond, désaturé --cel-green-light: #2c5a3f; // jade moyen --cel-green-dark: #0d1f14; // jade très sombre --cel-orange: #c49a1a; // or antique --cel-orange-light: #ddb84a; // or clair --cel-cream: #f0e8d4; // parchemin chaud --cel-cream-dark: #e0d4b8; // parchemin foncé (rangées alternées) --cel-border: #7a5c20; // bordure dorée --cel-accent: #6b1e28; // bordeaux profond (échecs, accents) --cel-shadow: rgba(10,15,10,0.5); --cel-font-title: "CopaseticNF", "Palatino Linotype", serif; --cel-font-body: "Palatino Linotype", "Book Antiqua", Palatino, serif; --cel-font-ui: "Signika", "Palatino Linotype", sans-serif; } // ─── Sheet base layout ─────────────────────────────────────────────────────── .fvtt-celestopol { &.sheet { background: var(--cel-cream); font-family: var(--cel-font-body); color: #1a1209; .window-content { padding: 0; overflow: hidden; display: flex; flex-direction: column; background-color: var(--cel-cream); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: multiply; background-size: auto; background-repeat: repeat; } // Tous les éléments de contenu au-dessus du fond de texture .sheet-header, .sheet-tabs, .sheet-body, .tab, .item-header, .item-tabs, section.tab, .item-sheet { position: relative; z-index: 1; } } // ─── Header ────────────────────────────────────────────────────────────── .sheet-header { display: flex; align-items: stretch; background-color: var(--cel-green-dark); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: soft-light; background-size: auto; padding: 10px 12px 10px 10px; gap: 10px; border-bottom: 3px solid var(--cel-orange); box-shadow: 0 3px 0 0 rgba(196,154,26,0.25); .actor-portrait { width: 84px; height: 84px; object-fit: cover; border: 2px solid var(--cel-orange); box-shadow: inset 0 0 6px rgba(196,154,26,0.4), 0 0 4px rgba(0,0,0,0.5); cursor: pointer; } .header-fields { flex: 1; display: flex; flex-direction: column; gap: 4px; color: var(--cel-cream); input[type="text"] { background: transparent; border: none; border-bottom: 1px solid rgba(196,154,26,0.5); color: var(--cel-orange); font-family: var(--cel-font-title); font-size: 1.4em; font-weight: bold; letter-spacing: 0.06em; padding: 2px 4px; &::placeholder { color: rgba(196,154,26,0.5); } } .actor-name { font-family: var(--cel-font-title); font-size: 1.4em; color: var(--cel-orange); letter-spacing: 0.06em; margin: 0; } .concept-display, input[name="system.concept"] { font-style: italic; font-size: 0.9em; color: var(--cel-cream); background: transparent; border-bottom: 1px solid rgba(240,232,212,0.25); } .identity-row { display: flex; flex-wrap: wrap; gap: 6px 14px; .identity-field { display: flex; align-items: baseline; gap: 4px; label { font-size: 0.6em; text-transform: uppercase; letter-spacing: 0.06em; color: var(--cel-orange-light); white-space: nowrap; font-style: normal; } span, input[type="text"] { font-size: 0.82em; color: var(--cel-cream); background: transparent; border: none; border-bottom: 1px solid rgba(240,232,212,0.2); padding: 0 2px; font-style: italic; min-width: 60px; &::placeholder { color: rgba(240,232,212,0.3); } } } } .header-stats-row { display: flex; gap: 10px; align-items: center; .header-stat { display: flex; flex-direction: column; align-items: center; background: rgba(0,0,0,0.35); border: 1px solid var(--cel-orange); border-radius: 2px; padding: 4px 10px; min-width: 52px; label { font-size: 0.62em; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cel-orange-light); } .stat-value { font-size: 1.4em; font-family: var(--cel-font-title); color: var(--cel-orange); font-weight: bold; } } } } // ─── Tabs ──────────────────────────────────────────────────────────────── .sheet-tabs { display: flex; background: var(--cel-green-dark); padding: 0; border-top: 1px solid rgba(196,154,26,0.3); border-bottom: 2px solid var(--cel-orange); .item { padding: 8px 16px; color: rgba(240,232,212,0.8); font-family: var(--cel-font-title); font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.07em; cursor: pointer; border-right: 1px solid rgba(196,154,26,0.2); border-bottom: 3px solid transparent; transition: background 0.15s, color 0.15s; &:hover { color: var(--cel-orange-light); background: rgba(196,154,26,0.12); } // Onglet actif : gradient or avec texte sombre (bon contraste) &.active { color: var(--cel-green-dark); background: linear-gradient(to bottom, var(--cel-orange-light), var(--cel-orange)); border-bottom: 3px solid var(--cel-accent); font-weight: bold; transform: translateY(-1px); position: relative; z-index: 2; } } } // ─── Sheet body / tabs content ─────────────────────────────────────────── .sheet-body { flex: 1; overflow-y: auto; padding: 8px; } .tab { display: none; padding: 8px; overflow-y: auto; &.active { display: block; } } // ─── Faction checkboxes (pointer-events dans les fiches) ───────────────── .faction-checkboxes-container { display: flex; align-items: center; gap: 8px; pointer-events: auto !important; } .faction-checkboxes { display: inline-flex; gap: 2px; pointer-events: auto !important; } .faction-checkbox-wrapper { display: inline-block; pointer-events: auto !important; position: relative; z-index: 101; label { cursor: pointer; pointer-events: auto !important; display: inline-block; } } .faction-checkbox { width: 14px; height: 14px; cursor: pointer; pointer-events: auto !important; margin: 0; padding: 0; position: relative; z-index: 100; &:disabled { cursor: default; opacity: 0.7; } } .faction-count { margin-left: 8px; font-weight: bold; color: var(--cel-orange); min-width: 20px; text-align: right; } .faction-value-input { width: 40px; margin-left: 8px; } .faction-row { pointer-events: auto !important; td { pointer-events: auto !important; } } }