/* ----------------------------------------- */ /* Post Item Chat Card */ /* ----------------------------------------- */ .bol-post-item { color: #191813; .bpi-header { display: flex; flex-direction: row; align-items: flex-start; gap: 8px; padding-bottom: 6px; border-bottom: 2px solid #8b7355; margin-bottom: 8px; .bpi-img { width: 52px; height: 52px; border: 1px outset lightgray; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5); object-fit: cover; flex: 0 0 52px; } .bpi-title-block { flex: 1; .bpi-name { margin: 0 0 2px 0; font-family: "Wolfsbane2Expanded", cursive; font-size: 1.1em; color: #4b4a44; line-height: 1.2; border: none; } .bpi-type { font-family: "IMFellDWPicaSC-Regular", serif; font-size: 0.8em; color: #7a7060; font-style: italic; } } } .bpi-stats-row { display: flex; flex-direction: row; flex-wrap: wrap; gap: 3px 12px; margin: 4px 0; padding: 4px 6px; background: rgba(139, 115, 85, 0.08); border: 1px solid rgba(139, 115, 85, 0.25); border-radius: 3px; .bpi-stat { display: flex; flex-direction: row; align-items: baseline; gap: 4px; .bpi-sl { font-family: "IMFellDWPicaSC-Regular", serif; font-size: 0.72em; color: #7a7060; font-style: italic; } .bpi-sv { font-weight: bold; font-size: 0.88em; color: #191813; } } } .bpi-tags { display: flex; flex-direction: row; flex-wrap: wrap; gap: 3px; margin: 3px 0; .bpi-tag { padding: 1px 7px; border: 1px solid #8b7355; border-radius: 10px; font-size: 0.7em; color: #4b4a44; background: rgba(139, 115, 85, 0.12); font-family: "IMFellDWPicaSC-Regular", serif; } .bpi-tag-magic { border-color: #6a4a9c; color: #5a3a8c; background: rgba(106, 74, 156, 0.1); } .bpi-tag-bonus { border-color: #2d7a2d; color: #1a5a1a; background: rgba(45, 122, 45, 0.1); } .bpi-tag-malus { border-color: #8b2020; color: #6a1a1a; background: rgba(139, 32, 32, 0.1); } } .bpi-conditions { margin: 3px 0; .bpi-cond-label { font-family: "IMFellDWPicaSC-Regular", serif; font-size: 0.75em; font-style: italic; color: #7a7060; } .bpi-condition { display: inline-block; margin: 1px 2px; padding: 1px 6px; border-radius: 3px; font-size: 0.8em; } .bpi-cond-req { border: 1px solid #8b2020; background: rgba(139, 32, 32, 0.08); color: #6a1a1a; } .bpi-cond-opt { border: 1px solid #6a7a30; background: rgba(106, 122, 48, 0.08); color: #4a5a20; } } .bpi-description { margin-top: 7px; padding-top: 6px; border-top: 1px dashed #c4a882; .bpi-desc-content { font-size: 0.85em; color: #191813; line-height: 1.45; p { margin: 0 0 4px 0; } } } } /* ----------------------------------------- */ /* Chat Messages */ /* ----------------------------------------- */ .message-header { h2.damage { color: orangered; font-weight: bold; } h2.critical { font-family: "Wolfsbane2Expanded", cursive; color: #1a7a1a; font-weight: bold; font-size: 1.1rem; text-shadow: 0 1px 2px rgba(0,0,0,0.15); } h2.fumble { font-family: "Wolfsbane2Expanded", cursive; color: #8b0000; font-weight: bold; font-size: 1.1rem; text-shadow: 0 1px 2px rgba(0,0,0,0.15); } h2.success { font-family: "Wolfsbane2Expanded", cursive; color: #1a5c1a; font-weight: bold; font-size: 1.05rem; } h2.failure { font-family: "Wolfsbane2Expanded", cursive; color: darkred; font-weight: bold; font-size: 1.05rem; } h2.roll { color: darkslategrey; font-weight: bold; } } h2.good { color: darkgreen; font-weight: bold; } h2.bad { color: darkred; font-weight: bold; } .chat-message { margin: 3px; padding: 6px 8px; font-size: 13px; border-radius: 3px; background-color: #faf7f2; border: 1px solid #d4c8b0; box-shadow: 0 1px 3px rgba(0,0,0,0.12); .message-header { .flavor-text { font-family: "IMFellDWPicaSC-Regular", serif; font-size: 14px; h2 { font-family: "Wolfsbane2Expanded", cursive; font-size: 1.1rem; margin: 2px 0; } } } // Status banner (success/failure h2) h2.success, h2.failure, h2.critical, h2.fumble { display: flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 4px; margin: 0 0 6px 0; font-size: 1rem; letter-spacing: 0.5px; i { font-size: 0.9em; } } h2.success, h2.critical { background: linear-gradient(135deg, #1a5c1a20, #2d7a2d15); border: 1px solid #4caf5040; color: #1a5c1a; } h2.critical { background: linear-gradient(135deg, #1a5c1a30, #2d7a2d25); border-color: #4caf5070; } h2.failure { background: linear-gradient(135deg, #7a000015, #8b000010); border: 1px solid #8b000030; color: #8b0000; } h2.fumble { background: linear-gradient(135deg, #7a000025, #8b000020); border: 1px solid #8b000060; color: #6b0000; } h3 { font-family: "Wolfsbane2Expanded", cursive; font-size: 0.95rem; color: #191813; margin: 2px 0 5px 0; border-bottom: 1px solid #d4c8b0; padding-bottom: 3px; letter-spacing: 0.3px; } .chat-icon { float: right; border: 1px solid #c4a882; box-shadow: 1px 1px 3px rgba(0,0,0,0.25); border-radius: 3px; margin: 0 0 4px 6px; width: 52px; height: 52px; object-fit: cover; } .actions-section { font-size: 0.82rem; color: #4b4a44; line-height: 1.4; & > div { margin: 2px 0; } } .chat-button, .chat-damage-roll, .chat-damage-apply, .damage-handling, .recup-vitalite { display: block; width: 100%; margin: 3px 0; padding: 4px 10px; background: linear-gradient(135deg, #2a2a2a, #4b4a44); color: #e8e0d0; border: 1px solid #2a2a2a; border-radius: 4px; font-family: "Wolfsbane2Expanded", cursive; font-size: 0.82rem; letter-spacing: 0.4px; cursor: pointer; text-align: center; transition: background 0.15s; &:hover { background: linear-gradient(135deg, #3a3a3a, #5b5a54); } &.hero-reroll { background: linear-gradient(135deg, #7a5500, #a07000); border-color: #6a4500; &:hover { background: linear-gradient(135deg, #9a6500, #c08000); } } &.transform-heroic-roll, &.transform-legendary-roll { background: linear-gradient(135deg, #7a0000, darkred); border-color: #6b0000; &:hover { background: linear-gradient(135deg, #9b0000, #c00000); } } } // Dommages normaux .chat-damage-roll[data-damage-mode="normal-damage"] { background: linear-gradient(135deg, #7a0000, darkred); border-color: #6b0000; &:hover { background: linear-gradient(135deg, #9b0000, #c00000); } } // Dommages +6 / +12 (critique) .chat-damage-roll[data-damage-mode^="damage-plus"] { background: linear-gradient(135deg, #5a0070, #7a00a0); border-color: #4a0060; &:hover { background: linear-gradient(135deg, #7a0090, #9a00c0); } } // Appliquer dommages .chat-damage-apply { background: linear-gradient(135deg, #7a0000, darkred); border-color: #6b0000; &:hover { background: linear-gradient(135deg, #9b0000, #c00000); } } // Récupération .recup-vitalite { background: linear-gradient(135deg, #1a5c1a, #2d7a2d); border-color: #1a4a1a; &:hover { background: linear-gradient(135deg, #2a7a2a, #3d9a3d); } } // Défense/gestion dommages .damage-handling { background: linear-gradient(135deg, #7a5500, #a07000); border-color: #6a4500; &:hover { background: linear-gradient(135deg, #9a6500, #c08000); } &[data-defense-mode="damage-not-applied"] { background: linear-gradient(135deg, #1a5c1a, #2d7a2d); border-color: #1a4a1a; &:hover { background: linear-gradient(135deg, #2a7a2a, #3d9a3d); } } &[data-defense-mode="hero-in-extremis"], &[data-defense-mode="hero-reduce-damage"] { background: linear-gradient(135deg, #7a0000, darkred); border-color: #6b0000; &:hover { background: linear-gradient(135deg, #9b0000, #c00000); } } } // Damage & defense cards .bol-damage-card, .bol-defense-card { .damage-card-header, .defense-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; padding-bottom: 5px; border-bottom: 1px solid #d4c8b0; .damage-weapon-img { width: 44px; height: 44px; border: 1px solid #c4a882; border-radius: 3px; box-shadow: 1px 1px 3px rgba(0,0,0,0.25); object-fit: cover; flex: 0 0 44px; } .damage-card-title { flex: 1; display: flex; flex-direction: column; gap: 2px; .damage-card-label { font-family: "Wolfsbane2Expanded", cursive; font-size: 0.75rem; color: #7a0000; letter-spacing: 0.5px; text-transform: uppercase; } .damage-weapon-name { font-family: "Wolfsbane2Expanded", cursive; font-size: 0.9rem; color: #191813; letter-spacing: 0.3px; } .damage-formula { font-size: 0.78rem; color: #6b6b5a; font-style: italic; } .damage-total-badge { display: inline-block; background: linear-gradient(135deg, #7a0000, darkred); color: #e8d890; font-family: "Wolfsbane2Expanded", cursive; font-size: 1.2rem; font-weight: bold; padding: 1px 10px; border-radius: 4px; letter-spacing: 1px; align-self: flex-start; &.damage-total-badge--hit { background: linear-gradient(135deg, #7a5500, #a07000); } } } } .damage-target { font-size: 0.8rem; color: #4b4a44; font-style: italic; margin-bottom: 4px; } .damage-note { font-size: 0.78rem; color: #4b4a44; padding: 2px 6px; margin-bottom: 4px; border-left: 2px solid #c4a882; &.damage-note--warn { border-left-color: darkred; color: darkred; } } .defense-hero-separator { text-align: center; font-size: 0.72rem; color: #8b7355; font-family: "IMFellDWPicaSC-Regular", serif; font-style: italic; margin: 3px 0 1px; } .defense-footer-note { font-size: 0.72rem; color: #8b7355; font-style: italic; text-align: center; margin-top: 4px; padding-top: 3px; border-top: 1px dashed #d4c8b0; } } .bol-defense-summary-card { .defense-summary-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; padding-bottom: 5px; border-bottom: 1px solid #d4c8b0; .damage-weapon-img { width: 44px; height: 44px; border: 1px solid #c4a882; border-radius: 3px; box-shadow: 1px 1px 3px rgba(0,0,0,0.25); object-fit: cover; flex: 0 0 44px; } } .defense-summary-details { display: flex; flex-direction: column; gap: 3px; } .defense-detail { font-size: 0.82rem; color: #4b4a44; padding: 1px 4px; border-left: 2px solid #c4a882; &.warning { border-left-color: darkred; color: darkred; } } .defense-final { margin-top: 5px; padding: 3px 8px; font-family: "Wolfsbane2Expanded", cursive; font-size: 0.9rem; color: #191813; background: #f0ece0; border-radius: 3px; border-left: 3px solid darkred; &.defense-final--safe { border-left-color: #4a7a4a; color: #2a5a2a; background: #e8f5e8; } } .damage-total-badge--none { background: linear-gradient(135deg, #4a7a4a, #2d5a2d) !important; } } // Vitality / death card .bol-vitality-card { .vitality-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; padding-bottom: 5px; border-bottom: 2px solid #4b1010; .damage-weapon-img { width: 44px; height: 44px; border: 1px solid #c4a882; border-radius: 3px; box-shadow: 1px 1px 3px rgba(0,0,0,0.25); object-fit: cover; flex: 0 0 44px; } } .vitality-card-body { display: flex; flex-direction: column; gap: 3px; } .vitality-detail { font-size: 0.82rem; color: #4b4a44; padding: 1px 4px; border-left: 2px solid #c4a882; } .vitality-hint { font-size: 0.78rem; color: #6b6b5a; font-style: italic; padding-left: 6px; } .vitality-dead { margin-top: 4px; padding: 3px 8px; font-family: "Wolfsbane2Expanded", cursive; font-size: 0.9rem; color: #f0e8d0; background: linear-gradient(135deg, #4b1010, #7a0000); border-radius: 3px; } .vitality-epitaph { font-size: 0.78rem; color: #6b6b5a; font-style: italic; text-align: center; margin-top: 3px; } } // Spell card .bol-spell-card { margin: 6px 0; .spell-card-header { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #d4c8b0; .spell-img { width: 40px; height: 40px; border: 1px solid #c4a882; border-radius: 3px; object-fit: cover; flex: 0 0 40px; } .spell-card-title { flex: 1; display: flex; flex-direction: column; gap: 3px; .spell-name { font-family: "Wolfsbane2Expanded", cursive; font-size: 0.9rem; color: #191813; } .spell-stats { display: flex; flex-wrap: wrap; gap: 4px; .spell-stat-badge { display: inline-block; font-family: "Wolfsbane2Expanded", cursive; font-size: 0.72rem; padding: 1px 7px; border-radius: 3px; letter-spacing: 0.3px; &.cost { background: linear-gradient(135deg, #3a0080, #6a00c0); color: #e8d0ff; border: 1px solid #5a00a0; } &.remaining { background: linear-gradient(135deg, #1a4a6a, #2a6a9a); color: #d0e8ff; border: 1px solid #1a3a5a; } } } } } } // Alchemy card .bol-alchemy-card { margin: 6px 0; .alchemy-card-header { display: flex; align-items: center; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid #d4c8b0; .alchemy-img { width: 40px; height: 40px; border: 1px solid #c4a882; border-radius: 3px; object-fit: cover; flex: 0 0 40px; } .alchemy-card-title { flex: 1; display: flex; flex-direction: column; gap: 3px; .alchemy-name { font-family: "Wolfsbane2Expanded", cursive; font-size: 0.9rem; color: #191813; } .alchemy-stat-badge { display: inline-block; font-family: "Wolfsbane2Expanded", cursive; font-size: 0.72rem; padding: 1px 7px; border-radius: 3px; background: linear-gradient(135deg, #5a3a00, #8a6000); color: #ffe0a0; border: 1px solid #4a3000; } } } .alchemy-result { font-size: 0.78rem; font-style: italic; padding: 4px 6px; margin-top: 5px; border-radius: 3px; line-height: 1.4; &.success { color: #1a4a1a; background: #e8f5e8; border: 1px solid #a0d0a0; } &.failure { color: #4a1a1a; background: #f5e8e8; border: 1px solid #d0a0a0; } } } // Horoscope card .bol-horoscope-card { margin: 6px 0; .horoscope-card-header { display: flex; align-items: center; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid #d4c8b0; .horoscope-icon { font-size: 1.6rem; color: #8a6500; flex: 0 0 auto; } .horoscope-card-title { flex: 1; display: flex; flex-direction: column; gap: 3px; .horoscope-type { font-family: "Wolfsbane2Expanded", cursive; font-size: 0.9rem; color: #191813; } .horoscope-stat-badge { display: inline-block; font-family: "Wolfsbane2Expanded", cursive; font-size: 0.72rem; padding: 1px 7px; border-radius: 3px; background: linear-gradient(135deg, #6a5500, #a08000); color: #ffe890; border: 1px solid #5a4500; } } } .horoscope-result { .horoscope-text { display: block; font-size: 0.78rem; font-style: italic; padding: 4px 6px; margin-top: 5px; border-radius: 3px; line-height: 1.4; &.success { color: #1a4a1a; background: #e8f5e8; border: 1px solid #a0d0a0; } &.failure { color: #4a1a1a; background: #f5e8e8; border: 1px solid #d0a0a0; } } } } .message-content { .dice-roll { .dice-result { .dice-formula { border-radius: 4px; border: 1px solid #555; background: linear-gradient(135deg, #1a1a1a, #2a2a2a); color: #d0c8b8; font-size: 0.8rem; padding: 2px 8px; text-align: center; margin-bottom: 3px; } .dice-tooltip { background: #1a1a1a; border: 1px solid #444; border-radius: 4px; .tooltip-part { .part-total { border-radius: 0; border: 1px inset #444; background-color: #2a2a2a; color: #d0c8b8; } } } .dice-total { border-radius: 4px; border: 2px solid #4b4a44; background: linear-gradient(135deg, #191813, #2a2a2a); color: #e8d890; font-family: "Wolfsbane2Expanded", cursive; font-size: 1.4rem; font-weight: bold; letter-spacing: 1px; padding: 2px 0; margin-top: 3px; } } } } } .bol-welcome-card { .welcome-header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 2px solid darkred; .welcome-logo { width: 52px; height: 52px; object-fit: contain; flex: 0 0 52px; } } .welcome-body { font-size: 0.82rem; color: #191813; line-height: 1.4; p { margin: 4px 0; padding-left: 4px; border-left: 2px solid #d4c8b0; } a { color: darkred; } } .welcome-footer { margin-top: 8px; padding: 4px 10px; font-family: "Wolfsbane2Expanded", cursive; font-size: 0.95rem; color: #e8d890; background: linear-gradient(135deg, #7a0000, darkred); border-radius: 4px; letter-spacing: 0.5px; } .welcome-warning { margin-top: 6px; padding: 4px 8px; font-size: 0.8rem; color: #7a0000; background: #fff3f3; border: 1px solid #e57373; border-radius: 3px; } }