diff --git a/less/actor-styles.less b/less/actor-styles.less index edb94b2..92ca2cb 100644 --- a/less/actor-styles.less +++ b/less/actor-styles.less @@ -790,6 +790,179 @@ } } } + + /* ==================== Adversité Cards ==================== */ + .adversite-section { + padding: 6px 8px 8px; + + .adversite-section-title { + font-family: "CentaurMT", "Palatino Linotype", serif; + font-size: 0.85rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 1.5px; + color: #c8a060; + text-align: center; + margin: 0 0 8px 0; + padding-bottom: 4px; + border-bottom: 1px solid rgba(180, 130, 40, 0.35); + text-shadow: 1px 1px 3px rgba(0,0,0,0.8); + } + + .adversite-cards { + display: flex; + flex-direction: row; + gap: 8px; + + .adversite-card { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; + padding: 6px 4px 8px; + border-radius: 5px; + border: 1px solid rgba(100,80,40,0.4); + border-top: 3px solid rgba(100,80,40,0.6); + background: rgba(8,4,0,0.55); + transition: box-shadow 0.2s; + + &:hover { + box-shadow: 0 0 10px rgba(200,160,60,0.2); + } + + // Couleur par type + &.adversite-bleue { + border-top-color: #2255bb; + background: rgba(4, 8, 30, 0.65); + .adversite-card-title { color: #88aaff; } + } + &.adversite-rouge { + border-top-color: #aa1818; + background: rgba(30, 4, 4, 0.65); + .adversite-card-title { color: #ff8888; } + } + &.adversite-noire { + border-top-color: #555555; + background: rgba(12, 12, 12, 0.75); + .adversite-card-title { color: #aaaaaa; } + } + + .adversite-card-title { + font-size: 0.62rem; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 1px; + text-shadow: 1px 1px 2px rgba(0,0,0,0.9); + } + + .adversite-gem { + width: 52px; + height: 52px; + object-fit: contain; + filter: drop-shadow(0 2px 6px rgba(0,0,0,0.7)); + transition: transform 0.15s, filter 0.15s; + + &:hover { + transform: scale(1.06); + filter: drop-shadow(0 3px 10px rgba(180,140,60,0.5)); + } + } + + .adversite-value { + font-family: "Signika", "Arial Narrow", sans-serif; + font-variant-numeric: lining-nums tabular-nums; + font-size: 1.6rem; + font-weight: 900; + color: #f5e0c0; + text-shadow: 1px 1px 4px rgba(0,0,0,0.9); + line-height: 1; + min-height: 1.8rem; + display: flex; + align-items: center; + justify-content: center; + } + + .adversite-controls { + display: flex; + gap: 6px; + align-items: center; + + .adv-btn { + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; + font-size: 1rem; + font-weight: 900; + border-radius: 4px; + border: 1px solid rgba(160,120,40,0.6); + background: linear-gradient(to bottom, rgba(60,35,8,0.9), rgba(30,15,3,0.9)); + color: #d4aa60; + cursor: pointer; + transition: all 0.12s; + text-decoration: none; + line-height: 1; + user-select: none; + + &:hover { + background: linear-gradient(to bottom, rgba(120,60,10,0.95), rgba(80,35,5,0.95)); + border-color: rgba(220,170,50,0.8); + color: #ffe090; + transform: scale(1.1); + } + &:active { + transform: scale(0.92); + } + + &.adv-minus { color: #ff9999; border-color: rgba(180,40,40,0.5); } + &.adv-plus { color: #99ffaa; border-color: rgba(40,160,60,0.5); } + } + } + } + } + + .adversite-modifiers { + display: flex; + flex-direction: row; + gap: 8px; + margin-top: 8px; + padding-top: 6px; + border-top: 1px solid rgba(120,80,20,0.3); + + .adversite-modifier-row { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + gap: 2px; + + label { + font-size: 0.58rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.5px; + color: #9a7a50; + white-space: nowrap; + cursor: default; + } + + input { + width: 40px; + height: 20px; + text-align: center; + font-size: 0.8rem; + font-weight: 600; + padding: 0 2px; + background: rgba(30,15,3,0.85); + border: 1px solid rgba(120,75,20,0.5); + border-radius: 2px; + color: #f0dfc0; + } + } + } + } } /* ==================== Creature Sheet Specific Styles ==================== */ diff --git a/styles/mournblade-cyd2.css b/styles/mournblade-cyd2.css index 0b3fa04..e7c9203 100644 --- a/styles/mournblade-cyd2.css +++ b/styles/mournblade-cyd2.css @@ -2388,6 +2388,7 @@ li { /* ==================== Actor Sheet Styles ==================== */ .fvtt-mournblade-cyd-2-0.actor { background: url("../assets/ui/pc_sheet_bg.webp") repeat; + /* ==================== Adversité Cards ==================== */ } .fvtt-mournblade-cyd-2-0.actor .window-content { height: 100%; @@ -3080,6 +3081,171 @@ li { margin: 0; cursor: pointer; } +.fvtt-mournblade-cyd-2-0.actor .adversite-section { + padding: 6px 8px 8px; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-section-title { + font-family: "CentaurMT", "Palatino Linotype", serif; + font-size: 0.85rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 1.5px; + color: #c8a060; + text-align: center; + margin: 0 0 8px 0; + padding-bottom: 4px; + border-bottom: 1px solid rgba(180, 130, 40, 0.35); + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards { + display: flex; + flex-direction: row; + gap: 8px; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; + padding: 6px 4px 8px; + border-radius: 5px; + border: 1px solid rgba(100, 80, 40, 0.4); + border-top: 3px solid rgba(100, 80, 40, 0.6); + background: rgba(8, 4, 0, 0.55); + transition: box-shadow 0.2s; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card:hover { + box-shadow: 0 0 10px rgba(200, 160, 60, 0.2); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card.adversite-bleue { + border-top-color: #2255bb; + background: rgba(4, 8, 30, 0.65); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card.adversite-bleue .adversite-card-title { + color: #88aaff; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card.adversite-rouge { + border-top-color: #aa1818; + background: rgba(30, 4, 4, 0.65); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card.adversite-rouge .adversite-card-title { + color: #ff8888; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card.adversite-noire { + border-top-color: #555555; + background: rgba(12, 12, 12, 0.75); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card.adversite-noire .adversite-card-title { + color: #aaaaaa; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-card-title { + font-size: 0.62rem; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 1px; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.9); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-gem { + width: 52px; + height: 52px; + object-fit: contain; + filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.7)); + transition: transform 0.15s, filter 0.15s; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-gem:hover { + transform: scale(1.06); + filter: drop-shadow(0 3px 10px rgba(180, 140, 60, 0.5)); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-value { + font-family: "Signika", "Arial Narrow", sans-serif; + font-variant-numeric: lining-nums tabular-nums; + font-size: 1.6rem; + font-weight: 900; + color: #f5e0c0; + text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9); + line-height: 1; + min-height: 1.8rem; + display: flex; + align-items: center; + justify-content: center; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-controls { + display: flex; + gap: 6px; + align-items: center; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-controls .adv-btn { + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; + font-size: 1rem; + font-weight: 900; + border-radius: 4px; + border: 1px solid rgba(160, 120, 40, 0.6); + background: linear-gradient(to bottom, rgba(60, 35, 8, 0.9), rgba(30, 15, 3, 0.9)); + color: #d4aa60; + cursor: pointer; + transition: all 0.12s; + text-decoration: none; + line-height: 1; + user-select: none; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-controls .adv-btn:hover { + background: linear-gradient(to bottom, rgba(120, 60, 10, 0.95), rgba(80, 35, 5, 0.95)); + border-color: rgba(220, 170, 50, 0.8); + color: #ffe090; + transform: scale(1.1); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-controls .adv-btn:active { + transform: scale(0.92); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-controls .adv-btn.adv-minus { + color: #ff9999; + border-color: rgba(180, 40, 40, 0.5); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-cards .adversite-card .adversite-controls .adv-btn.adv-plus { + color: #99ffaa; + border-color: rgba(40, 160, 60, 0.5); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-modifiers { + display: flex; + flex-direction: row; + gap: 8px; + margin-top: 8px; + padding-top: 6px; + border-top: 1px solid rgba(120, 80, 20, 0.3); +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-modifiers .adversite-modifier-row { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + gap: 2px; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-modifiers .adversite-modifier-row label { + font-size: 0.58rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.5px; + color: #9a7a50; + white-space: nowrap; + cursor: default; +} +.fvtt-mournblade-cyd-2-0.actor .adversite-section .adversite-modifiers .adversite-modifier-row input { + width: 40px; + height: 20px; + text-align: center; + font-size: 0.8rem; + font-weight: 600; + padding: 0 2px; + background: rgba(30, 15, 3, 0.85); + border: 1px solid rgba(120, 75, 20, 0.5); + border-radius: 2px; + color: #f0dfc0; +} /* ==================== Creature Sheet Specific Styles ==================== */ .fvtt-mournblade-cyd-2-0.actor.creature-sheet .background-sheet-header-creature { background: linear-gradient(135deg, rgba(0, 60, 0, 0.15) 0%, rgba(20, 80, 20, 0.1) 100%); diff --git a/templates/actor-sheet.hbs b/templates/actor-sheet.hbs index 05cd603..35bc089 100644 --- a/templates/actor-sheet.hbs +++ b/templates/actor-sheet.hbs @@ -156,34 +156,35 @@ -