466 lines
9.7 KiB
Plaintext
466 lines
9.7 KiB
Plaintext
.mgne-chat-card {
|
|
.panel-shell();
|
|
.ornate-frame();
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
padding: 0.62rem 0.68rem;
|
|
color: @iron;
|
|
background:
|
|
radial-gradient(circle at top right, fade(@verdigris, 10%), transparent 22%),
|
|
linear-gradient(135deg, fade(@ember, 10%), transparent 38%),
|
|
linear-gradient(180deg, fade(@bone, 4%), transparent 24%),
|
|
linear-gradient(180deg, fade(@bg-char, 22%), fade(@bg-void, 18%)),
|
|
url("@{page-bg-url}") right bottom / cover no-repeat,
|
|
@bg-panel;
|
|
}
|
|
|
|
.mgne-chat-card .chat-card-header {
|
|
display: flex;
|
|
gap: 0.55rem;
|
|
align-items: center;
|
|
padding-bottom: 0.4rem;
|
|
border-bottom: 1px solid fade(@gold-acid, 14%);
|
|
}
|
|
|
|
.mgne-chat-card .chat-card-header img {
|
|
width: 34px;
|
|
height: 34px;
|
|
object-fit: cover;
|
|
border-radius: 50%;
|
|
border: 1px solid fade(@gold-acid, 32%);
|
|
box-shadow: 0 0 0 2px fade(@parchment, 5%);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.mgne-chat-card .chat-header-text {
|
|
flex: 1;
|
|
min-width: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.05rem;
|
|
}
|
|
|
|
.mgne-chat-card h3 {
|
|
.caps-heading();
|
|
margin: 0;
|
|
color: darken(@label-ink, 22%);
|
|
font-size: 0.78rem;
|
|
line-height: 1.2;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.mgne-chat-card .chat-actor {
|
|
margin: 0;
|
|
color: darken(@label-ink, 12%);
|
|
font-size: 0.68rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.mgne-chat-card .chat-mode-badge {
|
|
.caps-heading();
|
|
font-size: 0.6rem;
|
|
letter-spacing: 0.1em;
|
|
padding: 0.15rem 0.45rem;
|
|
border-radius: 999px;
|
|
background: fade(@bg-void, 70%);
|
|
border: 1px solid fade(@bone, 22%);
|
|
color: @ash;
|
|
flex-shrink: 0;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.mgne-chat-card .chat-card-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.4rem;
|
|
}
|
|
|
|
// Subtitle line
|
|
.mgne-chat-card .chat-subtitle {
|
|
margin: 0;
|
|
color: darken(@label-soft, 10%);
|
|
font-size: 0.72rem;
|
|
letter-spacing: 0.03em;
|
|
}
|
|
|
|
// Formula display
|
|
.mgne-chat-card .chat-formula-wrap {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.25rem 0.5rem;
|
|
background: fade(@bg-void, 60%);
|
|
border-radius: @radius-sm;
|
|
border: 1px solid fade(@bone, 10%);
|
|
}
|
|
|
|
.mgne-chat-card .chat-formula-label {
|
|
.caps-heading();
|
|
font-size: 0.6rem;
|
|
color: @gold-acid;
|
|
letter-spacing: 0.08em;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.mgne-chat-card .chat-formula-code {
|
|
font-family: "Courier New", monospace;
|
|
font-size: 0.76rem;
|
|
color: @parchment;
|
|
background: fade(@bg-void, 50%);
|
|
padding: 0.08rem 0.45rem;
|
|
border-radius: 3px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
// Outcome display (check results, morale)
|
|
.mgne-chat-card .chat-outcome {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.4rem 0.55rem;
|
|
border-radius: @radius-sm;
|
|
background: fade(@bg-void, 68%);
|
|
border-left: 3px solid fade(@ember-bright, 60%);
|
|
|
|
&.has-tooltip {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
&:hover { filter: brightness(1.1); }
|
|
}
|
|
|
|
.chat-outcome-icon {
|
|
flex-shrink: 0;
|
|
font-size: 0.85rem;
|
|
width: 1.2rem;
|
|
text-align: center;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.chat-outcome-label {
|
|
.caps-heading();
|
|
flex: 1;
|
|
font-size: 0.72rem;
|
|
letter-spacing: 0.06em;
|
|
color: lighten(@ember-bright, 12%);
|
|
}
|
|
|
|
.chat-outcome-total {
|
|
font-family: @font-display;
|
|
font-size: 1.18rem;
|
|
font-weight: 700;
|
|
color: @parchment;
|
|
line-height: 1;
|
|
}
|
|
|
|
.chat-tooltip-icon {
|
|
opacity: 0.5;
|
|
font-size: 0.7rem;
|
|
margin-left: 0.15rem;
|
|
flex-shrink: 0;
|
|
transition: opacity 0.15s;
|
|
}
|
|
|
|
&.tooltip-open .chat-tooltip-icon { opacity: 1; }
|
|
}
|
|
|
|
// Damage total display
|
|
.mgne-chat-card .chat-damage-total {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.45rem 0.6rem;
|
|
border-radius: @radius-sm;
|
|
background: fade(@bg-void, 68%);
|
|
border-left: 3px solid fade(@ember-bright, 60%);
|
|
|
|
&.has-tooltip {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
&:hover { filter: brightness(1.1); }
|
|
}
|
|
|
|
.chat-damage-label {
|
|
.caps-heading();
|
|
font-size: 0.65rem;
|
|
letter-spacing: 0.06em;
|
|
color: @ash;
|
|
flex: 1;
|
|
}
|
|
|
|
.chat-damage-number {
|
|
font-family: @font-display;
|
|
font-size: 1.3rem;
|
|
font-weight: 700;
|
|
color: lighten(@ember-bright, 8%);
|
|
line-height: 1;
|
|
}
|
|
|
|
.chat-tooltip-icon {
|
|
opacity: 0.5;
|
|
font-size: 0.7rem;
|
|
flex-shrink: 0;
|
|
transition: opacity 0.15s;
|
|
}
|
|
|
|
&.tooltip-open .chat-tooltip-icon { opacity: 1; }
|
|
}
|
|
|
|
// Outcome classes — success/crit/steady color
|
|
.mgne-chat-card.outcome-critical-success,
|
|
.mgne-chat-card.outcome-success,
|
|
.mgne-chat-card.outcome-steady {
|
|
.chat-outcome {
|
|
border-left-color: fade(@verdigris, 75%);
|
|
.chat-outcome-label { color: lighten(@verdigris, 28%); }
|
|
.chat-outcome-icon { color: lighten(@verdigris, 30%); }
|
|
}
|
|
.chat-damage-total {
|
|
border-left-color: fade(@verdigris, 60%);
|
|
.chat-damage-number { color: lighten(@verdigris, 25%); }
|
|
}
|
|
}
|
|
|
|
// Outcome classes — failure/broken/fumble color
|
|
.mgne-chat-card.outcome-failure,
|
|
.mgne-chat-card.outcome-broken,
|
|
.mgne-chat-card.outcome-fumble {
|
|
.chat-outcome {
|
|
border-left-color: fade(@ember-bright, 75%);
|
|
.chat-outcome-label { color: lighten(@ember-bright, 18%); }
|
|
.chat-outcome-icon { color: lighten(@blood, 10%); }
|
|
}
|
|
.chat-damage-total {
|
|
border-left-color: fade(@ember-bright, 60%);
|
|
}
|
|
}
|
|
|
|
// Dice tooltip reveal panel
|
|
.mgne-chat-card .chat-dice-tooltip {
|
|
padding: 0.35rem 0.5rem;
|
|
background: fade(@bg-void, 85%);
|
|
border: 1px solid fade(@bone, 18%);
|
|
border-radius: @radius-sm;
|
|
|
|
.dice-roll {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.15rem;
|
|
}
|
|
.dice-formula {
|
|
font-family: "Courier New", monospace;
|
|
font-size: 0.7rem;
|
|
color: fade(@parchment, 72%);
|
|
}
|
|
.dice-tooltip {
|
|
font-size: 0.75rem;
|
|
}
|
|
.dice {
|
|
margin: 0.1rem 0;
|
|
}
|
|
.die-icon, .die-face {
|
|
color: @gold-acid;
|
|
font-size: 0.78rem;
|
|
}
|
|
.part-formula { color: fade(@parchment, 78%); font-size: 0.7rem; }
|
|
.part-total { color: @parchment; font-weight: 600; }
|
|
.max { color: lighten(@verdigris, 20%); }
|
|
.min { color: lighten(@ember-bright, 10%); }
|
|
.dice-total {
|
|
font-family: @font-display;
|
|
font-size: 1rem;
|
|
color: @gold-acid;
|
|
text-align: center;
|
|
border-top: 1px solid fade(@bone, 16%);
|
|
padding-top: 0.2rem;
|
|
margin-top: 0.1rem;
|
|
}
|
|
}
|
|
|
|
// Special text
|
|
.mgne-chat-card .chat-special-wrap {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 0.4rem;
|
|
padding: 0.35rem 0.5rem;
|
|
border-left: 2px solid fade(@ember-bright, 40%);
|
|
background: fade(@bg-input, 80%);
|
|
border-radius: @radius-sm;
|
|
}
|
|
|
|
.mgne-chat-card .chat-special-icon {
|
|
flex-shrink: 0;
|
|
font-size: 0.7rem;
|
|
color: @ember-bright;
|
|
margin-top: 0.08rem;
|
|
}
|
|
|
|
.mgne-chat-card .chat-special-text {
|
|
color: @parchment;
|
|
font-size: 0.72rem;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
// Omen reminders
|
|
.mgne-chat-card .chat-omen-remind,
|
|
.mgne-chat-card .chat-omen-used {
|
|
margin: 0;
|
|
padding: 0.35rem 0.5rem;
|
|
border-radius: @radius-sm;
|
|
font-size: 0.7rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
}
|
|
|
|
.mgne-chat-card .chat-omen-remind {
|
|
background: fade(@gold-acid, 18%);
|
|
border: 1px solid fade(@gold-acid, 35%);
|
|
color: lighten(@gold-acid, 18%);
|
|
|
|
i {
|
|
color: @gold-acid;
|
|
font-size: 0.7rem;
|
|
}
|
|
}
|
|
|
|
.mgne-chat-card .chat-omen-neutralize {
|
|
background: fade(@ember-bright, 18%);
|
|
border-color: fade(@ember-bright, 35%);
|
|
color: lighten(@ember-bright, 15%);
|
|
|
|
i {
|
|
color: @ember-bright;
|
|
}
|
|
}
|
|
|
|
.mgne-chat-card .chat-omen-used {
|
|
background: fade(@verdigris, 18%);
|
|
border: 1px solid fade(@verdigris, 32%);
|
|
color: lighten(@verdigris, 32%);
|
|
|
|
i {
|
|
color: lighten(@verdigris, 35%);
|
|
font-size: 0.7rem;
|
|
}
|
|
}
|
|
|
|
// Card action buttons container
|
|
.mgne-chat-card .chat-card-actions {
|
|
margin-top: 0.1rem;
|
|
}
|
|
|
|
// Roll damage button
|
|
.mgne-roll-damage-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.4rem;
|
|
width: 100%;
|
|
padding: 0.38rem 0.7rem;
|
|
border: 1px solid @ember-bright;
|
|
border-radius: @radius-sm;
|
|
background: @ember;
|
|
color: #f8ede0;
|
|
font-family: @font-display;
|
|
font-size: 0.76rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.06em;
|
|
cursor: pointer;
|
|
transition: background 0.15s, border-color 0.15s;
|
|
|
|
.dmg-formula {
|
|
color: #fff5e8;
|
|
font-size: 0.73rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
&:hover {
|
|
background: lighten(@ember, 8%);
|
|
border-color: lighten(@ember-bright, 12%);
|
|
color: #fff;
|
|
}
|
|
|
|
&.is-critical {
|
|
border: 1px solid @gold-acid;
|
|
background: darken(@gold-acid, 10%);
|
|
color: #fff5d0;
|
|
font-weight: 700;
|
|
|
|
.dmg-formula {
|
|
color: #fff;
|
|
}
|
|
|
|
&:hover {
|
|
background: @gold-acid;
|
|
color: #fff;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Omen reroll button
|
|
.mgne-omen-reroll-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.4rem;
|
|
width: 100%;
|
|
padding: 0.38rem 0.7rem;
|
|
border: 1px solid @gold-acid;
|
|
border-radius: @radius-sm;
|
|
background: darken(@gold-acid, 15%);
|
|
color: #fff5d0;
|
|
font-family: @font-display;
|
|
font-size: 0.76rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.06em;
|
|
cursor: pointer;
|
|
transition: background 0.15s, border-color 0.15s;
|
|
|
|
&:hover {
|
|
background: lighten(darken(@gold-acid, 15%), 8%);
|
|
border-color: lighten(@gold-acid, 12%);
|
|
color: #fff;
|
|
}
|
|
}
|
|
|
|
// Apply damage select
|
|
.chat-apply-actions {
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
.mgne-apply-damage-select {
|
|
width: 100%;
|
|
padding: 0.35rem 0.6rem;
|
|
border: 1px solid @ember-bright;
|
|
border-radius: @radius-sm;
|
|
background: @bg-char;
|
|
color: @bone;
|
|
font-family: @font-body;
|
|
font-size: 0.78rem;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: border-color 0.15s, background 0.15s;
|
|
|
|
option {
|
|
background: @bg-char;
|
|
color: @bone;
|
|
}
|
|
|
|
&:hover {
|
|
border-color: lighten(@ember-bright, 12%);
|
|
background: rgba(183, 70, 31, 0.18);
|
|
}
|
|
|
|
&:focus {
|
|
outline: none;
|
|
border-color: @ember-bright;
|
|
}
|
|
}
|