/* ================================================================== */ /* sotc-damage-wizard | sotc-dw.css — Style "Résolution de Clash" */ /* ================================================================== */ /* ------------------------------------------------------------------ */ /* Fenêtre FoundryVTT */ /* ------------------------------------------------------------------ */ .sotc-dw-window { background: #0e1018; border: 1px solid #2a2a3a; box-shadow: 0 0 30px rgba(0,0,0,0.9); font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; color: #c8c0d8; min-width: 560px; } .sotc-dw-window .window-header { background: #12141e; border-bottom: 1px solid #2a2a3a; color: #e0d8f0; font-family: 'Cinzel', serif; letter-spacing: 0.06em; } .sotc-dw-window .window-title { font-size: 13px; color: #e0d8f0; } .sotc-dw-window .window-content { background: transparent; padding: 0; overflow: hidden; } /* ------------------------------------------------------------------ */ /* Racine */ /* ------------------------------------------------------------------ */ .dw-root { display: flex; flex-direction: column; background: #0e1018; } /* ------------------------------------------------------------------ */ /* Zone principale 3 colonnes */ /* ------------------------------------------------------------------ */ .dw-main { display: grid; grid-template-columns: 1fr 220px 1fr; min-height: 200px; } /* ------------------------------------------------------------------ */ /* Colonnes */ /* ------------------------------------------------------------------ */ .dw-col { display: flex; flex-direction: column; border-right: 1px solid #1e2030; } .dw-col:last-child { border-right: none; } /* En-têtes colonnes */ .dw-col-header { display: flex; align-items: center; padding: 7px 10px; border-bottom: 1px solid #1e2030; } .dw-header-attacker { background: #181028; border-bottom-color: #4a2a8a; } .dw-header-resolution { background: #101018; border-bottom-color: #2a2a3a; justify-content: center; } .dw-header-defender { background: #101828; border-bottom-color: #1a4a7a; } .dw-header-label { font-family: 'Cinzel', serif; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #e0d8f0; } /* ------------------------------------------------------------------ */ /* Ligne compétence */ /* ------------------------------------------------------------------ */ .dw-skill-row { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-bottom: 1px solid #1a1a28; background: rgba(255,255,255,0.02); min-height: 36px; } .dw-skill-none { opacity: 0.5; font-style: italic; } .dw-skill-icon { width: 22px; height: 22px; border-radius: 2px; border: 1px solid #3a3a5a; object-fit: cover; flex-shrink: 0; } .dw-skill-label { font-size: 11px; color: #b0a8c8; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* ------------------------------------------------------------------ */ /* Cartes de dés */ /* ------------------------------------------------------------------ */ .dw-die-card { display: flex; align-items: center; gap: 6px; padding: 5px 10px; border-bottom: 1px solid #1a1a28; min-height: 34px; } .dw-die-card-preview { opacity: 0.6; } .dw-die-card-win { background: rgba(40, 80, 40, 0.25); } .dw-die-card-lose { background: rgba(80, 20, 20, 0.25); } .dw-die-card-free { background: rgba(60, 40, 80, 0.20); } /* Tag type de dé */ .dw-die-type-tag { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 5px; border-radius: 2px; flex-shrink: 0; } /* Score */ .dw-die-score { font-family: 'Cinzel', serif; font-size: 18px; font-weight: 700; min-width: 28px; text-align: center; color: #e0d8f0; } /* Formule (aperçu avant roll) */ .dw-die-formula-sm { font-size: 11px; color: #6a6a8a; } /* Verdict sur la carte */ .dw-die-verdict { font-size: 10px; font-weight: 700; letter-spacing: 0.05em; margin-left: auto; } /* Couleurs des verdicts */ .dw-verdict-win, .dw-die-card-defender .dw-die-verdict { color: #60d060; } .dw-verdict-lose { color: #e04040; } .dw-verdict-free { color: #a060e0; } .dw-verdict-def-win { color: #4080e0; } .dw-verdict-def-lose { color: #e08040; } /* ------------------------------------------------------------------ */ /* Couleurs par type de dé (tag) */ /* ------------------------------------------------------------------ */ .dw-tag-slash, .dw-tag-counter-slash { background: rgba(180,40,40,0.3); color: #e06060; border: 1px solid #8a2020; } .dw-tag-pierce,.dw-tag-counter-pierce { background: rgba(180,120,40,0.3); color: #e0a040; border: 1px solid #8a6020; } .dw-tag-blunt, .dw-tag-counter-blunt { background: rgba(100,60,180,0.3); color: #a080e0; border: 1px solid #503090; } .dw-tag-block, .dw-tag-counter-block { background: rgba(40,80,180,0.3); color: #6090e0; border: 1px solid #204090; } .dw-tag-evade, .dw-tag-counter-evade { background: rgba(40,160,100,0.3); color: #50c080; border: 1px solid #206040; } /* ------------------------------------------------------------------ */ /* Colonne Résolution — matchups */ /* ------------------------------------------------------------------ */ .dw-matchup { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 5px 8px; border-bottom: 1px solid #1a1a28; min-height: 34px; } .dw-matchup-defender { background: rgba(20,40,60,0.3); } .dw-matchup-type, .dw-matchup-vstype { font-size: 9px; font-weight: 700; text-transform: uppercase; padding: 2px 4px; border-radius: 2px; flex-shrink: 0; } .dw-matchup-score, .dw-matchup-vsscore { font-family: 'Cinzel', serif; font-size: 15px; font-weight: 700; color: #e0d8f0; min-width: 22px; text-align: center; } .dw-matchup-vs { font-size: 9px; color: #4a4a6a; font-weight: 700; letter-spacing: 0.04em; } .dw-matchup-none { font-size: 13px; color: #3a3a5a; } .dw-matchup-verdict { width: 100%; font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-align: center; padding: 2px 4px; border-radius: 2px; margin-top: 2px; } /* Fonds de verdict */ .dw-verdict-bg-win { background: rgba(40,100,40,0.4); color: #70e070; border: 1px solid #306030; } .dw-verdict-bg-lose { background: rgba(100,20,20,0.4); color: #e06060; border: 1px solid #602020; } .dw-verdict-bg-free { background: rgba(60,30,100,0.4); color: #b080f0; border: 1px solid #402060; } .dw-verdict-bg-def-win { background: rgba(30,60,120,0.4); color: #70a0f0; border: 1px solid #204080; } .dw-verdict-bg-def-lose { background: rgba(100,60,20,0.4); color: #e0a060; border: 1px solid #604020; } .dw-verdict-bg-def-atk-win { background: rgba(80,40,120,0.4); color: #c080f0; border: 1px solid #502080; } .dw-verdict-bg-def-atk-lose { background: rgba(60,20,20,0.4); color: #c06060; border: 1px solid #401010; } .dw-resolution-hint { padding: 20px 10px; text-align: center; color: #3a3a5a; font-size: 11px; font-style: italic; } /* ------------------------------------------------------------------ */ /* Pied de page */ /* ------------------------------------------------------------------ */ .dw-footer { border-top: 1px solid #1e2030; background: #0c0e16; padding: 8px 12px; display: flex; flex-direction: column; gap: 6px; } /* Résumé des dégâts */ .dw-summary { display: flex; flex-direction: column; gap: 2px; font-size: 12px; padding: 4px 0; } .dw-summary-defender { color: #c0a0e0; } .dw-summary-attacker { color: #e0b080; } .dw-summary-clash { color: #a080d0; font-size: 11px; } .dw-sum-hp { color: #e04040; font-weight: 700; } .dw-sum-stg { color: #4080c0; font-weight: 700; } /* Boutons */ .dw-footer-btns { display: flex; gap: 8px; } .dw-foot-btn { flex: 1; padding: 9px 12px; border-radius: 3px; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.05em; cursor: pointer; border: 1px solid; transition: background 0.15s, box-shadow 0.15s; } .dw-foot-btn:active:not([disabled]) { transform: scale(0.97); } .dw-foot-btn[disabled] { opacity: 0.4; cursor: default; } .dw-foot-cancel { background: #1a1a28; border-color: #3a3a5a; color: #8080a0; } .dw-foot-cancel:hover { background: #222238; } .dw-foot-roll { background: linear-gradient(135deg, #1a301a, #0e1e0e); border-color: #3a7a3a; color: #70d070; } .dw-foot-roll:hover { background: linear-gradient(135deg, #243424, #162016); box-shadow: 0 0 8px rgba(60,120,60,0.4); } .dw-foot-apply { background: linear-gradient(135deg, #3a3010, #221e08); border-color: #c0a020; color: #e8d060; text-shadow: 0 0 6px rgba(232,208,96,0.3); } .dw-foot-apply:hover { background: linear-gradient(135deg, #4a4018, #2c2810); box-shadow: 0 0 8px rgba(192,160,32,0.4); } .dw-foot-apply[disabled] { background: #1a1a1a; border-color: #3a3a3a; color: #5a5a5a; } /* ------------------------------------------------------------------ */ /* Bouton injecté dans le panneau SBSA */ /* ------------------------------------------------------------------ */ .dw-open-btn-wrapper { padding: 4px 8px; } .dw-open-btn { width: 100%; background: linear-gradient(135deg, #3a0a0a, #1e0505); border: 1px solid #8b3a3a; color: #e8c97a; font-weight: bold; padding: 6px 8px; cursor: pointer; border-radius: 3px; font-family: 'Cinzel Decorative', 'Cinzel', serif; font-size: 12px; letter-spacing: 0.05em; transition: background 0.15s, box-shadow 0.15s; } .dw-open-btn:hover { background: linear-gradient(135deg, #5a1a1a, #2e0808); box-shadow: 0 0 8px rgba(139,58,58,0.5); } .dw-open-btn:active { transform: scale(0.97); } /* ------------------------------------------------------------------ */ /* Chat message */ /* ------------------------------------------------------------------ */ .sotc-dw-chat { background: #0e1018; border: 1px solid #2a2a3a; border-radius: 4px; padding: 8px 10px; color: #c8c0d8; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; } .sotc-dw-chat h3 { font-family: 'Cinzel', serif; color: #e0d8f0; font-size: 13px; margin: 0 0 8px 0; } .sotc-dw-chat p { margin: 3px 0; font-size: 12px; } .sotc-dw-chat hr { border: none; border-top: 1px solid #2a2a3a; margin: 6px 0; } /* ------------------------------------------------------------------ */ /* Classes manquantes / nouvelles (v2 - logique officielle) */ /* ------------------------------------------------------------------ */ /* Stats block dans les colonnes */ .dw-stats-block { padding: 6px 10px; border-bottom: 1px solid #1a1a28; display: flex; flex-direction: column; gap: 4px; } .dw-stat-row { display: flex; align-items: center; gap: 5px; font-size: 11px; } .dw-stat-inline { display: flex; align-items: center; gap: 4px; font-size: 11px; } .dw-stat-lbl { font-size: 10px; color: #6a6a8a; text-transform: uppercase; letter-spacing: 0.04em; min-width: 24px; } .dw-stat-val { font-size: 11px; color: #b0a8c8; min-width: 36px; text-align: right; } .dw-bar-wrap { flex: 1; height: 5px; background: rgba(0,0,0,0.4); border-radius: 3px; overflow: hidden; border: 1px solid #2a2a3a; } .dw-bar { height: 100%; border-radius: 3px; } .dw-bar-hp { background: linear-gradient(90deg, #7a1a1a, #c04040); } .dw-bar-stg { background: linear-gradient(90deg, #1a3a7a, #3a6abf); } /* Image dé dans les cartes */ .dw-die-img { width: 20px; height: 20px; border: none; object-fit: contain; flex-shrink: 0; } /* Formule petite */ .dw-die-formula-sm { font-size: 10px; color: #5a5a7a; margin-left: auto; white-space: nowrap; } /* ── Matchup colonne centre v2 ── */ .dw-matchup { padding: 6px 8px; border-bottom: 1px solid #1a1a28; display: flex; flex-direction: column; gap: 3px; } .dw-matchup-atk { background: rgba(30,20,50,0.3); } .dw-matchup-def { background: rgba(20,30,50,0.3); } .dw-matchup-main { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; } .dw-matchup-tag { font-size: 9px; font-weight: 700; text-transform: uppercase; padding: 2px 4px; border-radius: 2px; flex-shrink: 0; } .dw-matchup-score { font-family: 'Cinzel', serif; font-size: 16px; font-weight: 700; color: #e0d8f0; min-width: 22px; text-align: center; } .dw-matchup-vs { font-size: 12px; color: #6a6a8a; } .dw-matchup-unopposed { font-size: 10px; color: #4a4a6a; font-style: italic; } /* Verdict chip */ .dw-matchup-verdict { font-size: 10px; font-weight: 700; letter-spacing: 0.05em; text-align: center; padding: 2px 6px; border-radius: 2px; width: 100%; } /* Effets */ .dw-matchup-effects { display: flex; flex-wrap: wrap; gap: 3px; } .dw-effect-tag { font-size: 9px; background: rgba(255,255,255,0.04); border: 1px solid #2a2a3a; border-radius: 2px; padding: 1px 4px; color: #8080a0; } /* ── Chips de verdict ── */ .dw-verdict-chip-off-win { background: rgba(40,100,40,0.4); color: #70e070; border: 1px solid #306030; } .dw-verdict-chip-off-lose { background: rgba(80,20,20,0.4); color: #e06060; border: 1px solid #601818; } .dw-verdict-chip-tie { background: rgba(60,60,30,0.4); color: #c0c060; border: 1px solid #606018; } .dw-verdict-chip-off-win-vs-block { background: rgba(40,80,40,0.4); color: #60d060; border: 1px solid #204020; } .dw-verdict-chip-off-lose-vs-block { background: rgba(40,60,120,0.4); color: #70a0f0; border: 1px solid #204080; } .dw-verdict-chip-off-win-vs-evade { background: rgba(40,80,40,0.4); color: #60d060; border: 1px solid #204020; } .dw-verdict-chip-off-lose-vs-evade { background: rgba(60,30,100,0.4); color: #c080f0; border: 1px solid #402070; } .dw-verdict-chip-block-win-vs-off { background: rgba(40,60,120,0.4); color: #70a0f0; border: 1px solid #204080; } .dw-verdict-chip-block-lose-vs-off { background: rgba(80,40,20,0.4); color: #e0a060; border: 1px solid #604020; } .dw-verdict-chip-block-win-vs-def { background: rgba(40,60,120,0.4); color: #70a0f0; border: 1px solid #204080; } .dw-verdict-chip-block-lose-vs-def { background: rgba(60,30,20,0.4); color: #c08060; border: 1px solid #402010; } .dw-verdict-chip-evade-win-vs-off { background: rgba(60,30,100,0.4); color: #c080f0; border: 1px solid #402070; } .dw-verdict-chip-evade-lose-vs-off { background: rgba(80,40,20,0.4); color: #e0a060; border: 1px solid #604020; } .dw-verdict-chip-evade-win-vs-def { background: rgba(30,80,50,0.4); color: #60d090; border: 1px solid #204030; } .dw-verdict-chip-evade-lose-vs-def { background: rgba(60,30,20,0.4); color: #c08060; border: 1px solid #402010; } .dw-verdict-chip-unopposed-off { background: rgba(40,100,40,0.4); color: #70e070; border: 1px solid #306030; } .dw-verdict-chip-unopposed-saved { background: rgba(40,60,100,0.4); color: #70a8f0; border: 1px solid #204060; } .dw-verdict-chip-unopposed-counter-noop { background: rgba(30,30,30,0.4); color: #606080; border: 1px solid #303030; } /* ── Fonds de carte de dé par verdict ── */ .dw-verdict-bg-off-win, .dw-verdict-bg-unopposed-off { background: rgba(40,80,40,0.15); } .dw-verdict-bg-off-lose { background: rgba(80,20,20,0.15); } .dw-verdict-bg-tie { background: rgba(60,60,20,0.10); } .dw-verdict-bg-unopposed-saved { background: rgba(30,50,100,0.15); } .dw-verdict-bg-evade-win-vs-off { background: rgba(60,30,100,0.15); } .dw-verdict-bg-block-win-vs-off, .dw-verdict-bg-block-win-vs-def { background: rgba(30,60,120,0.15); } /* ── Résumé footer ── */ .dw-summary { display: flex; flex-direction: column; gap: 3px; font-size: 12px; padding: 4px 0; } .dw-summary-line { color: #b0a8c8; } .dw-pe-line { color: #c080f0; } .dw-saved-line { color: #70a8f0; } .dw-sum-hp { color: #e04040; font-weight: 700; margin: 0 4px; } .dw-sum-stg { color: #4080c0; font-weight: 700; margin: 0 4px; } .dw-sum-gain { color: #60d090; font-weight: 700; margin: 0 4px; }