// ─── Roll dialog ───────────────────────────────────────────────────────────── .application.roll-dialog .window-content { padding: 0 !important; } .application.roll-dialog .dialog-content { padding: 0 !important; display: block !important; } .application.roll-dialog .roll-dialog-content { padding: 10px 14px 14px; font-family: var(--cel-font-body, "Palatino Linotype", serif); min-width: 360px; display: flex; flex-direction: column; gap: 0; // ── Bloc info acteur ── .roll-info-block { background: var(--cel-green, #0c4c0c); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: soft-light; border-bottom: 2px solid var(--cel-orange, #e07b00); padding: 10px 14px 12px; margin: -10px -14px 12px; text-align: center; .roll-actor { font-family: var(--cel-font-title, "CopaseticNF", serif); color: var(--cel-orange-light, #ddb84a); font-size: 0.78em; letter-spacing: 0.07em; text-transform: uppercase; opacity: 0.9; } .roll-skill-line { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 1.25em; color: var(--cel-cream, #f0e8d4); margin-top: 2px; .stat-label { color: var(--cel-orange-light, #ddb84a); } .sep { color: rgba(196,154,26,0.45); margin: 0 5px; } } .roll-dice-summary { margin-top: 8px; padding: 5px 12px; background: rgba(0,0,0,0.28); border-radius: 4px; .dice-breakdown { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 4px; font-size: 0.82em; color: var(--cel-cream, #f0e8d4); .dval, .nb-dice { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 1.7em; color: var(--cel-orange, #e07b00); font-weight: bold; line-height: 1; } .dlabel { font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.75; } .dminus { color: #f0a0a0; font-weight: bold; } .deq { opacity: 0.55; } .ddice { color: var(--cel-orange, #e07b00); } } .wound-info { font-size: 0.73em; color: #f0a0a0; margin-top: 3px; } } } // ── Ligne Dé de la Lune ── .form-moon-row { border: 1px solid rgba(122,92,32,0.35); border-radius: 4px; background: rgba(255,255,255,0.3); padding: 7px 10px; .moon-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; appearance: none; -webkit-appearance: none; border: 2px solid var(--cel-border, #7a5c20); border-radius: 2px; background: white; cursor: pointer; position: relative; &:checked { background: var(--cel-orange, #e07b00); border-color: var(--cel-orange, #e07b00); &::after { content: "✦"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.65em; color: white; } } } .moon-icon { font-size: 1.2em; flex-shrink: 0; } .moon-text { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 0.88em; color: var(--cel-green, #0c4c0c); } } } // ── Lignes de formulaire ── .roll-form-rows { display: flex; flex-direction: column; gap: 7px; margin-bottom: 10px; background: var(--cel-cream, #f0e8d4); border: 1px solid rgba(122,92,32,0.3); border-radius: 4px; padding: 10px 12px; } .form-row-line { display: flex; align-items: center; gap: 8px; label { flex: 0 0 110px; font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.04em; color: var(--cel-border, #7a5c20); } select, input[type="number"] { flex: 1; border: 1px solid rgba(122,92,32,0.5); border-radius: 3px; padding: 3px 7px; background: rgba(255,255,255,0.85); font-family: inherit; font-size: 0.85em; color: #333; &:focus { outline: 1px solid var(--cel-orange, #e07b00); } } } .form-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; .form-row-line { flex-direction: column; align-items: stretch; gap: 2px; label { flex: none; text-align: left; } input, select { width: 100%; box-sizing: border-box; } } } // ── Ligne Destin ── .form-destin-row { border: 1px solid var(--cel-orange, #e07b00); border-radius: 4px; background: rgba(196,154,26,0.08); padding: 7px 10px; &.destin-disabled { border-color: rgba(122,92,32,0.3); background: rgba(0,0,0,0.04); opacity: 0.7; } .destin-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; width: 100%; input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; appearance: none; -webkit-appearance: none; border: 2px solid var(--cel-border, #7a5c20); border-radius: 2px; background: white; cursor: pointer; position: relative; &:checked { background: var(--cel-orange, #e07b00); border-color: var(--cel-orange, #e07b00); &::after { content: "✦"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.65em; color: white; } } &:disabled { opacity: 0.5; cursor: not-allowed; } } .destin-icon { font-size: 1.1em; color: var(--cel-orange, #e07b00); flex-shrink: 0; } .destin-text { flex: 1; .destin-main { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 0.9em; color: var(--cel-green, #0c4c0c); display: block; } .destin-bonus { font-size: 0.72em; color: var(--cel-border, #7a5c20); font-style: italic; } } .destin-count { font-size: 0.75em; font-weight: bold; color: var(--cel-green, #0c4c0c); background: rgba(196,154,26,0.2); border: 1px solid rgba(196,154,26,0.4); border-radius: 10px; padding: 1px 8px; white-space: nowrap; &.no-destin { color: #888; background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.1); } } } } .form-visibility label { color: #888; } .form-faction-aspect select { font-weight: bold; color: var(--cel-green, #0c4c0c); } // ── Ligne Puiser dans ses ressources ── .form-puiser-row { border: 1px solid rgba(139,62,72,0.4); border-radius: 4px; background: rgba(107,30,40,0.06); padding: 7px 10px; .puiser-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; width: 100%; input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; appearance: none; -webkit-appearance: none; border: 2px solid rgba(139,62,72,0.6); border-radius: 2px; background: white; cursor: pointer; position: relative; &:checked { background: var(--cel-accent, #6b1e28); border-color: var(--cel-accent, #6b1e28); &::after { content: "✓"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.75em; color: white; } } } .puiser-icon { font-size: 1em; flex-shrink: 0; } .puiser-text { flex: 1; .puiser-main { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 0.9em; color: var(--cel-accent, #6b1e28); display: block; } .puiser-sub { font-size: 0.7em; color: #888; font-style: italic; } } .puiser-cost { font-size: 0.8em; font-weight: bold; color: var(--cel-accent, #6b1e28); background: rgba(107,30,40,0.1); border: 1px solid rgba(139,62,72,0.35); border-radius: 10px; padding: 1px 8px; white-space: nowrap; } } } // ── Ligne Fortune ── .form-fortune-row { border: 1px solid rgba(12,76,12,0.4); border-radius: 4px; background: rgba(12,76,12,0.06); padding: 7px 10px; .fortune-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; width: 100%; input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; appearance: none; -webkit-appearance: none; border: 2px solid var(--cel-border, #7a5c20); border-radius: 2px; background: white; cursor: pointer; position: relative; &:checked { background: var(--cel-green, #0c4c0c); border-color: var(--cel-green, #0c4c0c); &::after { content: "⚜"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.6em; color: white; } } } .fortune-icon { font-size: 1.1em; color: var(--cel-green, #0c4c0c); flex-shrink: 0; } .fortune-text { flex: 1; .fortune-main { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 0.9em; color: var(--cel-green, #0c4c0c); display: block; } .fortune-bonus { font-size: 0.72em; color: var(--cel-border, #7a5c20); font-style: italic; } } .fortune-badge { font-size: 0.8em; font-weight: bold; color: var(--cel-green, #0c4c0c); background: rgba(12,76,12,0.12); border: 1px solid rgba(12,76,12,0.3); border-radius: 10px; padding: 1px 8px; } } } // ── Prévisualisation ── .dice-preview { text-align: center; padding: 10px 8px; background: linear-gradient(160deg, rgba(12,76,12,0.06), rgba(12,76,12,0.12)); border-radius: 4px; border: 1px solid rgba(12,76,12,0.2); display: flex; align-items: center; justify-content: center; gap: 10px; .preview-label { font-size: 0.7em; text-transform: uppercase; letter-spacing: 0.07em; color: var(--cel-border, #7a5c20); opacity: 0.8; } .preview-formula { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 1.6em; color: var(--cel-orange, #e07b00); font-weight: bold; letter-spacing: 0.04em; } } } // ─── Chat message ───────────────────────────────────────────────────────────── .celestopol.chat-roll { border: 1px solid var(--cel-border, #7a5c20); border-radius: 3px; overflow: hidden; font-family: var(--cel-font-body, "Palatino Linotype", serif); // ── En-tête ── .roll-header { display: flex; align-items: center; gap: 8px; background-color: var(--cel-green, #0c4c0c); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: soft-light; padding: 6px 8px; border-bottom: 2px solid var(--cel-orange, #e07b00); .actor-img { width: 40px; height: 40px; object-fit: cover; border: 1px solid var(--cel-orange, #e07b00); border-radius: 2px; flex-shrink: 0; } .roll-info { flex: 1; display: flex; flex-direction: column; gap: 1px; .actor-name { font-family: var(--cel-font-title, "CopaseticNF", serif); color: var(--cel-orange, #e07b00); font-weight: bold; letter-spacing: 0.05em; font-size: 0.92em; } .skill-info { color: var(--cel-cream, #f0e8d4); font-size: 0.77em; font-style: italic; .stat-lbl { color: var(--cel-orange-light, #ddb84a); } .sep { margin: 0 2px; opacity: 0.5; } } .wound-info { font-size: 0.7em; color: #f0a0a0; } } .moon-badge { display: none; } } // ── Zone dés ── .dice-zone { display: flex; flex-wrap: wrap; gap: 5px; padding: 8px 10px 5px; background: var(--cel-cream, #f0e8d4); justify-content: center; .die-face { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 2px solid var(--cel-border, #7a5c20); border-radius: 4px; background: white; font-weight: bold; font-size: 1.05em; font-family: var(--cel-font-title, "CopaseticNF", serif); box-shadow: 1px 1px 2px rgba(0,0,0,0.12); color: #222; &.max { background: var(--cel-green, #0c4c0c); color: var(--cel-orange, #e07b00); border-color: var(--cel-orange, #e07b00); box-shadow: 0 0 5px rgba(224,123,0,0.3); } &.min { background: #fae8e8; color: #a03030; border-color: #c07070; } } } // ── Formule ── .formula-line { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px; padding: 5px 10px 4px; background: var(--cel-cream, #f0e8d4); border-top: 1px solid rgba(122,92,32,0.2); font-size: 0.83em; color: #555; .fl-label { color: #999; font-size: 0.88em; text-transform: uppercase; letter-spacing: 0.04em; margin-right: 2px; } .fl-ndice { color: var(--cel-green, #0c4c0c); font-weight: bold; } .fl-sum { font-weight: bold; color: #333; } .fl-total { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 1.5em; color: var(--cel-orange, #e07b00); font-weight: bold; line-height: 1; } .fl-mod { color: #444; font-weight: bold; } .fl-mod.fortune { color: var(--cel-green, #0c4c0c); font-weight: bold; } .fl-mod.wound { color: #922; } .fl-asp { color: var(--cel-orange, #e07b00); font-weight: bold; } .fl-faction { color: var(--cel-green, #0c4c0c); font-weight: bold; } .fl-sep { font-weight: bold; color: var(--cel-border, #7a5c20); margin: 0 2px; } .fl-eq { color: #aaa; } .fl-op { color: #aaa; } } // ── Seuil et marge ── .threshold-line { display: flex; align-items: center; justify-content: space-between; padding: 5px 12px 6px; background: var(--cel-cream, #f0e8d4); border-top: 1px solid rgba(122,92,32,0.2); font-size: 0.82em; .vs-wrap { display: flex; align-items: baseline; gap: 5px; } .vs-label { color: #aaa; text-transform: uppercase; font-size: 0.8em; } .diff-label{ font-style: italic; color: var(--cel-green, #0c4c0c); } .diff-val { color: #888; } .margin-badge { padding: 2px 10px; border-radius: 12px; font-weight: bold; font-size: 1.05em; font-family: var(--cel-font-title, "CopaseticNF", serif); letter-spacing: 0.05em; &.above { background: var(--cel-green, #0c4c0c); color: var(--cel-orange, #e07b00); border: 1px solid var(--cel-orange, #e07b00); } &.below { background: var(--cel-accent, #6b1e28); color: #f0d0d0; border: 1px solid #8b3e48; } } } // ── Destin utilisé ── .used-info { text-align: center; font-size: 0.77em; color: var(--cel-orange, #e07b00); padding: 3px 8px; background: rgba(196,154,26,0.1); border-top: 1px dashed var(--cel-border, #7a5c20); .used-destin { font-weight: bold; } .used-fortune { font-weight: bold; color: var(--cel-green, #0c4c0c); } } .used-info.used-puiser { color: var(--cel-accent, #6b1e28); background: rgba(107,30,40,0.08); border-top-color: rgba(139,62,72,0.3); font-style: italic; } .used-info.used-faction-aspect { color: var(--cel-green, #0c4c0c); background: rgba(12,76,12,0.08); border-top-color: rgba(12,76,12,0.3); } .weapon-damage-summary { padding: 8px 12px 10px; background: linear-gradient(180deg, rgba(224,123,0,0.08), rgba(224,123,0,0.02)); border-top: 1px solid rgba(122,92,32,0.25); text-align: center; &.is-applied { background: linear-gradient(180deg, rgba(12,76,12,0.1), rgba(12,76,12,0.03)); } &.is-pending { background: linear-gradient(180deg, rgba(122,92,32,0.14), rgba(122,92,32,0.04)); } .damage-header { font-size: 0.72em; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cel-border, #7a5c20); opacity: 0.85; } .damage-main { margin-top: 2px; display: flex; align-items: baseline; justify-content: center; gap: 6px; } .damage-value { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 1.9em; line-height: 1; color: var(--cel-orange, #e07b00); } .damage-unit { font-size: 0.82em; color: var(--cel-green, #0c4c0c); font-weight: bold; } .damage-breakdown, .damage-note { margin-top: 6px; font-size: 0.76em; line-height: 1.4; color: #5c4630; } .weapon-damage-actions { margin-top: 8px; display: flex; gap: 8px; justify-content: center; align-items: center; select { min-width: 170px; border: 1px solid rgba(122,92,32,0.45); border-radius: 3px; padding: 3px 7px; background: rgba(255,255,255,0.9); } .damage-apply-button { border: 1px solid var(--cel-green, #0c4c0c); border-radius: 4px; background: var(--cel-green, #0c4c0c); color: var(--cel-orange-light, #ddb84a); padding: 4px 10px; font-size: 0.78em; font-weight: bold; cursor: pointer; &:disabled { opacity: 0.7; cursor: default; } } } .damage-application-status { margin-top: 8px; padding: 6px 8px; border-radius: 4px; font-size: 0.76em; line-height: 1.4; &.is-applied { background: rgba(12,76,12,0.12); border: 1px solid rgba(12,76,12,0.28); color: var(--cel-green, #0c4c0c); } &.is-pending { background: rgba(122,92,32,0.12); border: 1px solid rgba(122,92,32,0.28); color: #6b4b12; } } } // ── Fortune fixe badge dans zone dés ── .fortune-fixed-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; border-radius: 4px; border: 2px solid var(--cel-green, #0c4c0c); background: rgba(12,76,12,0.1); color: var(--cel-green, #0c4c0c); font-weight: bold; font-size: 0.9em; } // ── Résultat dé de lune ── .moon-die-result { display: flex; align-items: center; gap: 10px; padding: 6px 12px; border-top: 1px solid rgba(122,92,32,0.2); font-family: var(--cel-font-body, serif); .moon-die-face { font-size: 1.8em; line-height: 1; flex-shrink: 0; } .moon-die-info { flex: 1; display: flex; flex-direction: column; gap: 1px; } .moon-die-phase { font-size: 0.72em; opacity: 0.75; text-transform: uppercase; letter-spacing: 0.05em; } .moon-die-type { font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 1em; font-weight: bold; letter-spacing: 0.06em; text-transform: uppercase; } .moon-die-desc { font-size: 0.72em; font-style: italic; opacity: 0.85; line-height: 1.3; } // Couleurs par type de résultat &.moon-triomphe { background: linear-gradient(90deg, rgba(12,76,12,0.12), rgba(12,76,12,0.05)); .moon-die-type { color: var(--cel-green, #0c4c0c); } } &.moon-brio { background: linear-gradient(90deg, rgba(196,154,26,0.12), rgba(196,154,26,0.04)); .moon-die-type { color: var(--cel-border, #7a5c20); } } &.moon-contrecoup { background: linear-gradient(90deg, rgba(120,80,0,0.1), rgba(120,80,0,0.03)); .moon-die-type { color: #7a4a00; } } &.moon-catastrophe { background: linear-gradient(90deg, rgba(107,30,40,0.15), rgba(107,30,40,0.05)); .moon-die-type { color: #6b1e28; } } } // ── Bandeau résultat ── .roll-result-banner { display: flex; flex-direction: column; align-items: center; padding: 7px 8px; font-family: var(--cel-font-title, "CopaseticNF", serif); text-transform: uppercase; letter-spacing: 0.1em; border-top: 2px solid rgba(0,0,0,0.1); .result-icon { font-size: 0.85em; opacity: 0.85; letter-spacing: 0.15em; } .result-label { font-size: 1.2em; line-height: 1.2; } .result-desc { font-size: 0.65em; letter-spacing: 0.08em; margin-top: 2px; opacity: 0.8; text-transform: none; font-style: italic; font-family: var(--cel-font-body, serif); } &.success { background-color: var(--cel-green, #0c4c0c); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: soft-light; color: #ffd870; text-shadow: 0 1px 3px rgba(0,0,0,0.7), 0 0 8px rgba(0,0,0,0.4); } &.critical-success { background: linear-gradient(135deg, #0c4c0c 0%, #1a6e1a 50%, #0c4c0c 100%); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: soft-light; color: #ffd870; border-top: 3px solid var(--cel-orange, #e07b00); border-bottom: 3px solid var(--cel-orange, #e07b00); text-shadow: 0 0 10px rgba(255,216,112,0.6); } &.failure { background: #4a1520; color: #f0c0c0; } &.critical-failure { background: linear-gradient(135deg, #3d0f18 0%, #5c1a25 50%, #3d0f18 100%); color: #ffd0d0; border-top: 3px solid #8b3e48; border-bottom: 3px solid #8b3e48; } } } .application.faction-aspect-dialog { width: min(540px, 92vw); } .application.faction-aspect-dialog .window-content { padding: 0 !important; display: flex; flex-direction: column; max-height: min(70vh, 680px); overflow: hidden; background: var(--cel-cream, #f0e8d4); border-top: 2px solid var(--cel-orange, #e07b00); > form { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; } .dialog-content.standard-form { display: grid; grid-template-columns: 1fr; gap: 6px; padding: 8px 10px 6px !important; overflow-y: auto; scrollbar-gutter: stable; overscroll-behavior: contain; min-height: 0; flex: 1 1 auto; align-content: start; } .form-footer { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 5px; padding: 6px 10px 8px; margin: 0; border-top: 1px solid rgba(122,92,32,0.18); background: rgba(255,255,255,0.28); button { min-height: 28px; padding: 3px 8px; border: 1px solid rgba(122,92,32,0.35); border-radius: 4px; background: linear-gradient(180deg, rgba(12,76,12,0.1), rgba(12,76,12,0.03)); color: var(--cel-green, #0c4c0c); font-family: var(--cel-font-title, "CopaseticNF", serif); letter-spacing: 0.03em; &:hover { border-color: var(--cel-orange, #e07b00); background: linear-gradient(180deg, rgba(224,123,0,0.18), rgba(224,123,0,0.06)); color: #7a3e00; } } } .faction-aspect-box { border: 1px solid rgba(122,92,32,0.22); border-radius: 4px; background: linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0.34)); box-shadow: inset 0 1px 0 rgba(255,255,255,0.55); padding: 6px 7px; min-width: 0; &:first-child { background: linear-gradient(180deg, rgba(12,76,12,0.08), rgba(255,255,255,0.42)); } } .faction-aspect-box-title { margin-bottom: 4px; color: var(--cel-green, #0c4c0c); font-family: var(--cel-font-title, "CopaseticNF", serif); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.88em; } .faction-aspect-points { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 4px; font-size: 0.8em; } .faction-aspect-point-card { display: inline-flex; flex-direction: column; gap: 2px; min-width: 92px; padding: 4px 6px; border-radius: 4px; background: rgba(255,255,255,0.5); border: 1px solid rgba(122,92,32,0.18); strong { font-size: 0.72em; text-transform: uppercase; letter-spacing: 0.04em; color: var(--cel-border, #7a5c20); } em { font-style: normal; font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 1.05em; color: var(--cel-orange, #e07b00); line-height: 1; } } .faction-aspect-source-line { font-size: 0.78em; color: var(--cel-border, #7a5c20); } .faction-aspect-warning { padding: 7px 9px; border-left: 3px solid #b84a2e; border-radius: 4px; background: rgba(184, 74, 46, 0.08); color: #8b3e2b; font-size: 0.8em; } .faction-aspect-tag-list, .faction-aspect-source-list { display: flex; flex-wrap: wrap; gap: 3px 4px; } .faction-aspect-tag { display: inline-flex; align-items: center; padding: 1px 6px; border-radius: 999px; background: rgba(12, 76, 12, 0.08); border: 1px solid rgba(12, 76, 12, 0.18); color: var(--cel-green, #0c4c0c); font-size: 0.72em; font-weight: bold; } .form-group { margin-bottom: 4px; &:last-child { margin-bottom: 0; } label { display: block; margin-bottom: 2px; font-size: 0.68em; text-transform: uppercase; letter-spacing: 0.04em; color: var(--cel-border, #7a5c20); } input[type="number"], input[type="text"], select { width: 100%; min-height: 28px; border: 1px solid rgba(122,92,32,0.32); border-radius: 3px; padding: 2px 6px; background: rgba(255,255,255,0.9); font-size: 0.78em; color: #2f2413; box-sizing: border-box; } select option { color: #2f2413; background: #fffaf0; } } .faction-aspect-pool-group { margin-bottom: 6px; input[type="number"] { max-width: 180px; font-weight: bold; } } .faction-aspect-help-tip { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; margin-left: 4px; border-radius: 50%; border: 1px solid rgba(122,92,32,0.28); background: rgba(224,123,0,0.12); color: var(--cel-orange, #e07b00); font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 0.72em; line-height: 1; cursor: help; vertical-align: middle; } .faction-aspect-cell-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 6px; } .faction-aspect-advanced { margin-top: 2px; padding-top: 3px; border-top: 1px dashed rgba(122,92,32,0.18); summary { cursor: pointer; color: var(--cel-orange, #e07b00); font-family: var(--cel-font-title, "CopaseticNF", serif); margin-bottom: 4px; font-size: 0.82em; } } .faction-aspect-cell-option { display: flex; align-items: center; gap: 4px; font-size: 0.74em; } .faction-aspect-active-list { display: flex; flex-direction: column; gap: 3px; } .faction-aspect-active-row { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 3px 6px; border-radius: 4px; background: rgba(255,255,255,0.7); color: #2f2413; font-size: 0.76em; &.is-relevant { border-left: 3px solid var(--cel-green, #0c4c0c); } } .faction-aspect-active-name { color: #2f2413; font-weight: 600; } .faction-aspect-active-value { color: var(--cel-orange, #e07b00); font-family: var(--cel-font-title, "CopaseticNF", serif); font-size: 0.92em; } .faction-aspect-empty { color: #666; font-style: italic; font-size: 0.74em; } .faction-aspect-remove-block { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(122,92,32,0.18); } @media (max-width: 720px) { .faction-aspect-cell-grid { grid-template-columns: 1fr; } } } // Notification de blessure cochée lors d'un test de résistance raté .celestopol.chat-roll { .resistance-wound-notice { display: flex; align-items: center; gap: 0.4em; margin-top: 0.4em; padding: 0.4em 0.8em; background: #4a1520; border-left: 3px solid #c0392b; border-radius: 4px; color: #f0c0c0; font-size: 0.85em; .wound-icon { font-size: 1em; } } } // Bandeau "Égalité" en combat .celestopol.chat-roll { .roll-result-banner.tie { background: #3a2e1a; color: #d4b870; border-top: 2px solid #7a6230; border-bottom: 2px solid #7a6230; text-shadow: 0 1px 2px rgba(0,0,0,0.6); } .weapon-info-header { display: flex; align-items: center; gap: 0.3em; margin-bottom: 1px; font-size: 0.85em; color: var(--cel-orange, #e07b00); .weapon-icon-small { font-size: 0.9em; } .weapon-degats-small { font-weight: bold; color: #f0c060; } } } // Zone arme dans le dialog (combat) .fvtt-celestopol.roll-dialog { .roll-weapon-line { display: flex; align-items: center; gap: 0.4em; margin-bottom: 2px; font-size: 0.9em; color: var(--cel-orange, #e07b00); .weapon-icon { font-size: 1em; } .weapon-degats { font-weight: bold; color: #f0c060; font-size: 0.85em; } } .form-corps-pnj { .corps-pnj-input { width: 70px; font-size: 1.1em; font-weight: bold; text-align: center; font-family: var(--cel-font-title, "CopaseticNF", serif); background: rgba(0,0,0,0.3); color: var(--cel-orange, #e07b00); border: 1px solid var(--cel-orange, #e07b00); border-radius: 4px; padding: 2px 4px; } } .form-target-row { background: rgba(12, 76, 12, 0.12); border: 1px solid rgba(196, 154, 26, 0.3); border-radius: 4px; padding: 4px 8px; label { color: var(--cel-orange, #e07b00); font-weight: bold; font-size: 0.85em; display: flex; align-items: center; gap: 5px; i { color: #e07b00; } } select { flex: 1; background: rgba(0, 0, 0, 0.25); color: #f0e0c0; border: 1px solid rgba(196, 154, 26, 0.5); border-radius: 3px; padding: 2px 4px; font-size: 0.85em; max-width: 200px; } } .form-target-confirmed { background: rgba(12, 76, 12, 0.2); border: 1px solid rgba(196, 154, 26, 0.5); border-radius: 4px; padding: 5px 10px; .target-confirmed-badge { display: flex; align-items: center; gap: 6px; color: var(--cel-orange, #e07b00); font-size: 0.88em; font-style: italic; i { opacity: 0.8; } } } .form-ranged-mod { background: rgba(60, 20, 0, 0.12); border: 1px solid rgba(200, 100, 60, 0.35); border-radius: 4px; padding: 4px 8px; label { color: #e08060; font-size: 0.85em; font-weight: bold; display: flex; align-items: center; gap: 5px; i { color: #e08060; } } select { flex: 1; background: rgba(0, 0, 0, 0.25); color: #f0e0c0; border: 1px solid rgba(200, 100, 60, 0.4); border-radius: 3px; padding: 2px 4px; font-size: 0.85em; } } .form-threshold-fixed { .threshold-value { font-size: 1.2em; font-weight: bold; font-family: var(--cel-font-title, "CopaseticNF", serif); color: var(--cel-orange, #e07b00); padding: 2px 10px; background: rgba(0,0,0,0.2); border: 1px solid rgba(224,123,0,0.4); border-radius: 4px; } } .form-opposition-row { padding: 5px 8px; border: 1px solid rgba(180, 140, 60, 0.35); border-radius: 5px; background: rgba(60, 30, 0, 0.15); .opposition-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; input[type="checkbox"] { flex-shrink: 0; } .opposition-icon { font-size: 1.2em; color: var(--cel-orange, #e07b00); } .opposition-text { display: flex; flex-direction: column; gap: 1px; .opposition-main { font-weight: bold; font-size: 0.9em; font-family: var(--cel-font-title, "CopaseticNF", serif); color: var(--cel-orange, #e07b00); } .opposition-sub { font-size: 0.75em; opacity: 0.7; font-style: italic; } } } } } // Bandeau opposition dans le chat .fvtt-celestopol .dice-roll .roll-result-banner.opposition { background: linear-gradient(135deg, rgba(60, 60, 80, 0.8), rgba(40, 40, 60, 0.9)); border-color: rgba(150, 140, 200, 0.5); color: #c8c0e0; } // ── Dé de la Lune — Carte autonome ────────────────────────────────────────── .celestopol-roll.moon-standalone-card { padding: 8px 12px; background: var(--cel-parchment, #f5eed8); border: 1px solid var(--cel-border, rgba(196,154,26,0.4)); border-radius: 4px; display: flex; flex-direction: column; gap: 6px; .moon-standalone-header { display: flex; align-items: baseline; gap: 6px; border-bottom: 1px solid rgba(196,154,26,0.3); padding-bottom: 4px; .moon-standalone-title { font-family: var(--cel-font-title); font-size: 1em; font-weight: bold; color: var(--cel-green-dark, #0c4c0c); text-transform: uppercase; letter-spacing: 0.06em; } .moon-standalone-actor { font-size: 0.85em; color: var(--cel-text, #333); font-style: italic; } } .moon-standalone-main { display: flex; align-items: center; gap: 10px; padding: 6px 8px; background: rgba(0,0,0,0.04); border-radius: 3px; border-left: 3px solid transparent; .moon-standalone-symbol { font-size: 2em; line-height: 1; flex-shrink: 0; } .moon-standalone-info { display: flex; flex-direction: column; gap: 2px; } .moon-standalone-phase { font-family: var(--cel-font-title); font-size: 0.95em; font-weight: bold; color: var(--cel-text, #333); } .moon-standalone-value { font-size: 0.8em; color: var(--cel-text-light, #666); font-style: italic; } &.moon-triomphe { border-left-color: var(--cel-green, #0c4c0c); } &.moon-brio { border-left-color: var(--cel-border, #7a5c20); } &.moon-contrecoup { border-left-color: #c07800; } &.moon-catastrophe{ border-left-color: #8b1e2e; } } .moon-interpret-row { display: flex; align-items: center; gap: 8px; .moon-interpret-label { font-size: 0.72em; text-transform: uppercase; letter-spacing: 0.07em; color: #888; white-space: nowrap; } .moon-fortune { font-size: 0.85em; font-weight: bold; border-radius: 3px; padding: 1px 8px; &.bonne-fortune { background: rgba(12, 76, 12, 0.12); color: var(--cel-green, #0c4c0c); border: 1px solid rgba(12,76,12,0.3); } &.mauvaise-fortune { background: rgba(139, 30, 46, 0.1); color: #8b1e2e; border: 1px solid rgba(139,30,46,0.3); } } } // Réutilise les styles .moon-die-result existants pour le bloc narratif .moon-die-result { margin-top: 2px; padding: 6px 8px; } } // ── Message d'initiative ────────────────────────────────────────────────────── .celestopol.chat-initiative { border: 1px solid var(--cel-orange, #e07b00); border-radius: 4px; overflow: hidden; font-family: var(--cel-font-body, "Palatino Linotype", serif); .roll-header { display: flex; align-items: center; gap: 8px; background-color: var(--cel-green, #0c4c0c); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: soft-light; padding: 6px 8px; border-bottom: 2px solid var(--cel-orange, #e07b00); .actor-img { width: 40px; height: 40px; object-fit: cover; border: 1px solid var(--cel-orange, #e07b00); border-radius: 2px; flex-shrink: 0; } .roll-info { flex: 1; display: flex; flex-direction: column; gap: 1px; .actor-name { font-family: var(--cel-font-title, "CopaseticNF", serif); color: var(--cel-orange, #e07b00); font-weight: bold; letter-spacing: 0.05em; font-size: 0.92em; } .skill-info { color: var(--cel-cream, #f0e8d4); font-size: 0.77em; font-style: italic; } } } .initiative-banner { display: flex; flex-direction: column; align-items: center; padding: 10px 8px 8px; background-color: var(--cel-green, #0c4c0c); background-image: url("../assets/ui/fond_cadrille.jpg"); background-blend-mode: soft-light; color: #ffd870; font-family: var(--cel-font-title, "CopaseticNF", serif); text-transform: uppercase; letter-spacing: 0.1em; text-shadow: 0 1px 3px rgba(0,0,0,0.7); .initiative-score-wrap { display: flex; align-items: center; gap: 6px; line-height: 1; } .initiative-icon { font-size: 1.1em; opacity: 0.9; font-style: normal; } .initiative-score { font-size: 2.4em; font-weight: bold; line-height: 1; } .initiative-detail { font-size: 0.65em; opacity: 0.75; font-style: italic; font-family: var(--cel-font-body, serif); text-transform: none; letter-spacing: 0.03em; margin-top: 4px; } } }