// ─── 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.65em; text-transform: uppercase; letter-spacing: 0.06em; color: var(--cel-orange-light); white-space: nowrap; font-style: normal; } // Styles identiques play mode et edit mode span, input[type="text"] { font-size: 0.95em; font-family: inherit; font-style: italic; color: var(--cel-cream); background: transparent; border: none; border-bottom: 1px solid rgba(240,232,212,0.18); border-radius: 0; box-shadow: none; outline: none; padding: 0 2px; margin: 0; min-width: 64px; line-height: 1.3; &::placeholder { color: rgba(240,232,212,0.3); font-style: italic; } } // En mode édition, soulignement légèrement plus visible au focus input[type="text"]:focus { border-bottom-color: rgba(240,232,212,0.5); } } } } .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; } } } // Boutons d'action du header (toggle mode, dé de lune, etc.) .header-buttons { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 6px; padding-left: 4px; a { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 3px; color: var(--cel-orange-light); font-size: 1em; cursor: pointer; transition: background 0.15s, color 0.15s; text-decoration: none; &:hover { background: rgba(196,154,26,0.18); color: var(--cel-orange); } } .moon-standalone-btn { font-size: 1.3em; line-height: 1; width: 30px; height: 30px; } } } // ─── 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; } } // ── Badge d'état de blessure intégré dans header-stats-row ───────────────── .wound-status-badge { // Supprime le fond/bord générique du .header-stat background: transparent; border-color: currentColor; label { text-transform: uppercase; white-space: nowrap; } .wound-value { font-family: var(--cel-font-title); font-size: 0.95em; font-weight: bold; white-space: nowrap; line-height: 1.2; } .wound-duration { font-weight: normal; opacity: 0.85; } .wound-malus { opacity: 0.9; } // Niveaux 1-2 : aucun malus → vert doux &.wound-level-1, &.wound-level-2 { color: #6abf5e; background: rgba(106,191,94,0.10); label { color: #6abf5e; } } // Niveaux 3-4 : malus -1 → ambre &.wound-level-3, &.wound-level-4 { color: #e8a020; background: rgba(232,160,32,0.13); label { color: #e8a020; } } // Niveaux 5-6 : malus -2 → orange vif &.wound-level-5, &.wound-level-6 { color: #e06020; background: rgba(224,96,32,0.13); label { color: #e06020; } } // Niveau 7 : malus -3 → rouge &.wound-level-7 { color: #d43030; background: rgba(212,48,48,0.13); label { color: #d43030; } } // Niveau 8 : hors combat → rouge sombre + pulsation &.wound-level-8 { color: #c00; background: rgba(192,0,0,0.18); label { color: #c00; } animation: wound-pulse 1.4s ease-in-out infinite; } } @keyframes wound-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } } } // ─── Logo de pause ──────────────────────────────────────────────────────────── // #pause est lui-même un
(GamePause.tag = "figure" en v13) #pause { img { animation: none; // Supprime la rotation du logo Foundry par défaut filter: drop-shadow(0 0 24px rgba(196, 154, 26, 0.8)); max-width: 600px; width: 50vw; min-width: 280px; } figcaption { display: none; } // Le logo parle de lui-même }