.dnc-chat-card { position: relative; border: 2px solid @color-border; border-radius: 16px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(245, 234, 210, 0.92) 100%), linear-gradient(135deg, #fdf6e7 0%, #e7d2ab 100%); color: @color-ink; padding: @spacing-lg; box-shadow: 0 12px 30px fade(@color-shadow, 18%), inset 0 1px 0 rgba(255, 255, 255, 0.65); overflow: hidden; } .chat-message .message-content .dnc-chat-card h2 { margin: 0 !important; font-size: 0.82rem !important; line-height: 1.1 !important; letter-spacing: 0.02em !important; } .dnc-chat-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.45), transparent 30%), linear-gradient(90deg, fade(@color-accent, 14%) 0, fade(@color-accent, 14%) 0.3rem, transparent 0.3rem); } .chat-card-header { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: @spacing-md; margin-bottom: @spacing-md; } .chat-card-heading { min-width: 0; } .chat-card-kicker { margin: 0 0 0.25rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: fade(@color-accent, 80%); } .chat-card-subtitle { margin: 0.2rem 0 0; color: @color-muted; } .chat-card-seal, .chat-card-total { position: relative; z-index: 1; flex: 0 0 auto; } .chat-card-seal { min-width: 3.4rem; border-radius: 999px; border: 1px solid fade(@color-border, 55%); background: rgba(255, 255, 255, 0.72); padding: 0.4rem 0.7rem; text-align: center; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; } .chat-card-seal.success { color: darken(@color-success, 18%); } .chat-card-seal.failure { color: darken(@color-failure, 12%); } .chat-card-total { min-width: 5.75rem; border-radius: 14px; border: 1px solid fade(@color-border, 45%); background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(247, 232, 198, 0.95) 100%); padding: 0.45rem 0.8rem; text-align: center; } .chat-card-total span { display: block; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: @color-muted; } .chat-card-total strong { display: block; margin-top: 0.15rem; font-size: 1.8rem; line-height: 1; color: @color-accent; } .chat-pill-row { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: @spacing-sm; margin-bottom: @spacing-md; } .chat-pill { border: 1px solid fade(@color-border, 55%); border-radius: 999px; background: rgba(255, 255, 255, 0.66); color: @color-ink; font-size: 0.78rem; font-weight: 700; padding: 0.2rem 0.7rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55); } .chat-pill.success { background: fade(@color-success, 16%); color: darken(@color-success, 18%); border-color: fade(@color-success, 32%); } .chat-pill.failure { background: fade(@color-failure, 16%); color: darken(@color-failure, 12%); border-color: fade(@color-failure, 32%); } .chat-keyline { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: @spacing-sm; margin-bottom: @spacing-md; } .chat-keyline-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: @color-muted; } .roll-values { display: flex; gap: @spacing-sm; flex-wrap: wrap; margin: 0; } .roll-values span { border: 1px solid fade(@color-border, 45%); border-radius: 999px; background: rgba(255, 255, 255, 0.72); padding: 0.22rem 0.55rem; font-weight: 700; } .chat-details { position: relative; z-index: 1; margin: @spacing-md 0 0; padding-left: 1.1rem; } .chat-details-ornate { margin-top: @spacing-lg; padding-top: @spacing-md; border-top: 1px solid fade(@color-border, 35%); } .chat-details li + li { margin-top: 0.25rem; } .chat-actions { position: relative; z-index: 1; margin-top: @spacing-md; } .chat-action-button { border: 1px solid @color-border; border-radius: 999px; background: linear-gradient(180deg, #f9f0da 0%, #dcb772 100%); color: @color-ink; min-height: 2rem; padding: 0.45rem 0.9rem; font-weight: 800; letter-spacing: 0.04em; box-shadow: 0 6px 14px fade(@color-shadow, 16%); } .chat-action-button[disabled] { opacity: 0.55; cursor: not-allowed; box-shadow: none; } .chat-actions-inline { display: flex; flex-wrap: wrap; gap: @spacing-sm; } .chat-targeting { position: relative; z-index: 1; display: grid; gap: @spacing-sm; margin-top: @spacing-sm; } .chat-control { display: grid; gap: 0.2rem; } .chat-select { min-height: 2rem; border: 1px solid fade(@color-border, 55%); border-radius: 999px; background: rgba(255, 255, 255, 0.82); color: @color-ink; padding: 0.3rem 0.75rem; } .chat-formula, .chat-note { position: relative; z-index: 1; margin: 0 0 @spacing-md; } .chat-formula { display: inline-flex; align-items: center; min-height: 2rem; padding: 0.25rem 0.7rem; border-radius: 999px; border: 1px solid fade(@color-border, 38%); background: rgba(255, 255, 255, 0.5); font-family: @font-display; color: @color-muted; } .chat-item-image { width: 64px; height: 64px; object-fit: cover; border-radius: @radius-sm; border: 1px solid @color-border; } .chat-item-body { position: relative; z-index: 1; display: grid; grid-template-columns: 64px 1fr; gap: @spacing-md; align-items: start; margin-bottom: @spacing-md; } .chat-item-content { min-width: 0; } .chat-description { position: relative; z-index: 1; margin-top: @spacing-md; padding-top: @spacing-md; border-top: 1px solid fade(@color-border, 35%); } .warning { color: @color-failure; font-weight: 700; } .dnc-chat-card-roll { background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(236, 228, 205, 0.92) 100%), linear-gradient(135deg, #fcf8ee 0%, #e4d1af 100%); } .dnc-chat-card-damage { padding: @spacing-md; background: linear-gradient(180deg, rgba(255, 252, 247, 0.76) 0%, rgba(238, 213, 194, 0.92) 100%), linear-gradient(135deg, #fff4e8 0%, #d7a884 100%); } .dnc-chat-card-damage .chat-card-header, .dnc-chat-card-damage .chat-pill-row, .dnc-chat-card-damage .chat-keyline, .dnc-chat-card-damage .chat-formula, .dnc-chat-card-damage .chat-note { margin-bottom: @spacing-sm; } .dnc-chat-card-damage .chat-card-total { min-width: 4.8rem; padding: 0.35rem 0.65rem; } .dnc-chat-card-damage .chat-card-total strong { font-size: 1.45rem; } .dnc-chat-card-damage .chat-formula { min-height: 1.7rem; padding: 0.15rem 0.6rem; font-size: 0.82rem; } .dnc-chat-card-damage .chat-note { font-size: 0.82rem; } .dnc-chat-card-damage-application .chat-pill.success { background: fade(@color-success, 18%); } .dnc-chat-card-usage { background: linear-gradient(180deg, rgba(255, 255, 255, 0.76) 0%, rgba(222, 230, 214, 0.92) 100%), linear-gradient(135deg, #f6f6ef 0%, #bfcbb1 100%); } .dnc-chat-card-item { background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(223, 216, 201, 0.92) 100%), linear-gradient(135deg, #fef9ef 0%, #d1c4aa 100%); } .dnc-chat-card-initiative { background: linear-gradient(180deg, rgba(255, 248, 236, 0.82) 0%, rgba(228, 208, 170, 0.94) 100%), linear-gradient(135deg, #fff8ec 0%, #d7bf85 100%); } .dnc-chat-card-spell { background: linear-gradient(180deg, rgba(249, 246, 255, 0.8) 0%, rgba(222, 213, 244, 0.92) 100%), linear-gradient(135deg, #fcf8ff 0%, #b8abd9 100%); } .dnc-chat-card-chaos { background: linear-gradient(180deg, rgba(255, 247, 247, 0.82) 0%, rgba(232, 198, 198, 0.94) 100%), linear-gradient(135deg, #fff6f2 0%, #d49494 100%); } .dnc-chat-card-favor { background: linear-gradient(180deg, rgba(248, 251, 255, 0.8) 0%, rgba(205, 220, 238, 0.94) 100%), linear-gradient(135deg, #f7fbff 0%, #9fb8d7 100%); } .dnc-chat-card-spell .chat-actions + .chat-actions { margin-top: @spacing-sm; } .chat-chaos-result { position: relative; z-index: 1; margin-bottom: @spacing-md; padding: @spacing-sm @spacing-md; border-radius: @radius-sm; background: rgba(255, 255, 255, 0.45); border: 1px solid fade(@color-border, 35%); } .chat-chaos-result-title { margin: 0 0 0.25rem; font-weight: 800; } .initiative-header { margin-bottom: @spacing-lg; } .initiative-header p { margin: 0.15rem 0 0; color: @color-muted; } .initiative-total { min-width: 5.5rem; border: 2px solid fade(@color-accent, 65%); border-radius: @radius-md; background: rgba(255, 255, 255, 0.5); padding: 0.45rem 0.75rem; text-align: center; } .initiative-total-label, .initiative-part-label { display: block; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; color: @color-muted; } .initiative-total strong { display: block; font-size: 1.8rem; line-height: 1; color: @color-accent; } .initiative-breakdown { display: flex; flex-wrap: wrap; align-items: center; gap: @spacing-sm; margin-bottom: @spacing-md; } .initiative-part { min-width: 4.5rem; border-radius: @radius-sm; background: rgba(255, 255, 255, 0.55); border: 1px solid fade(@color-border, 40%); padding: 0.35rem 0.55rem; text-align: center; } .initiative-part strong, .initiative-operator { font-size: 1.1rem; font-weight: 700; } .initiative-formula { margin: 0 0 @spacing-md; font-family: @font-display; color: @color-muted; } .initiative-sync p { margin: @spacing-sm 0 0; }