Files
DeltaGreen/css/deltagreen.css
T
Aaron Lutomski 849c4de44d Added profession item type and partially automated chargen.
Overhauled modified roll dialog.

Added stylized chat card.
2026-06-21 13:44:54 -07:00

3109 lines
62 KiB
CSS

@import url("https://fonts.googleapis.com/css2?family=Martel:wght@400;800&family=Roboto:wght@300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Didact+Gothic");
@font-face {
font-family: "atwriter";
src: url("../assets/font/another-typewriter/atwriter.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
}
@font-face {
font-family: TypeWriterCondensed;
src: url("../assets/font/typewriter-condensed/typewcond_regular.otf")
format("opentype");
}
@font-face {
font-family: TypeWriterCondensed;
font-weight: bold;
src: url("../assets/font/typewriter-condensed/typewcond_bold.otf")
format("opentype");
}
@font-face {
font-family: TypeWriterCondensed;
font-weight: 600;
src: url("../assets/font/typewriter-condensed/typewcond_demi.otf")
format("opentype");
}
@font-face {
font-family: "SpecialElite";
src: url("../assets/font/special_elite/SpecialElite-Regular.ttf")
format("truetype"); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
}
@font-face {
font-family: "PublicSans";
src: url("../assets/font/public-sans/PublicSans-VariableFont_wght.ttf")
format("truetype"); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
}
/* Global styles */
.deltagreen section.window-content {
scrollbar-color: #215112 #111 !important;
padding: 0.5rem;
color: black; /* Override for when in Foundry's dark mode */
input[type="checkbox"]:checked::before {
color: black; /* Override for when in Foundry's dark mode */
}
input[type="text"],
input[type="number"],
input[type="password"] {
height: unset;
line-height: 1.5rem;
}
}
/* Character Sheet Style Options */
.window-content.outlaw-style,
.window-content.cowboy-style {
background: url("../assets/img/StainedPlainPaper10b.webp") !important;
background-size: 100% !important;
}
.window-content.program-style {
background: url("../assets/img/StainedPlainPaper10a.webp") !important;
background-size: 100% !important;
}
.cowboy-style {
font-family: "SpecialElite", sans-serif !important;
}
.outlaw-style,
.program-style {
font-family: "PublicSans", sans-serif !important;
}
.outlaw-style .cowboy-style .tabs [data-action="tab"] {
background: rgba(173, 151, 101, 0.3);
}
.program-style .tabs [data-action="tab"] {
background: rgba(138, 136, 133, 0.3);
}
.old-paper-background {
background: url("../assets/img/StainedPlainPaper10.webp") !important;
}
.default-parchment-background {
background: url("/ui/parchment.jpg") repeat !important;
}
.typewriter-condensed-font {
font-family: "TypeWriterCondensed", sans-serif !important;
}
.martel-font {
font-family: "Martel", sans-serif !important;
}
.signika-font {
font-family: "Signika", sans-serif !important;
}
.atwriter-font {
font-family: "atwriter", sans-serif !important;
}
.special-elite-font {
font-family: "SpecialElite", sans-serif !important;
}
.public-sans-font {
font-family: "PublicSans", sans-serif !important;
}
.rollable:hover,
.rollable:focus {
color: #000;
text-shadow: 0 0 5px #374e13;
cursor: pointer;
}
button.rollable.inline-roll {
display: inline;
margin: 0;
padding: 0;
border: none;
background: transparent;
font: inherit;
color: inherit;
line-height: inherit;
vertical-align: baseline;
}
.not-rollable {
color: #999999;
}
input.breaking-point-hit {
color: rgb(255, 255, 255);
background-color: rgb(117, 0, 0);
font-weight: bold;
}
.dg-red {
color: rgb(117, 0, 0);
}
.bottom-margin-5px {
margin-bottom: 5px !important;
}
.grid-1col {
display: grid;
grid-column: span 1 / span 1;
gap: 3px;
}
.grid,
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 3px;
margin: 0px 0;
padding: 0;
}
.grid-3col {
grid-column: span 3 / span 3;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-4col {
grid-column: span 4 / span 4;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-5col {
grid-column: span 5 / span 5;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-6col {
grid-column: span 5 / span 5;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-7col {
grid-column: span 7 / span 7;
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-8col {
grid-column: span 8 / span 8;
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-9col {
grid-column: span 9 / span 9;
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.grid-10col {
grid-column: span 10 / span 10;
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.grid-11col {
grid-column: span 11 / span 11;
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.grid-12col {
grid-column: span 12 / span 12;
grid-template-columns: repeat(12, minmax(0, 1fr));
}
/* If the user wishes to sort skills by column, we need to
explicitly define a number of rows, rather than columns. */
.grid-13row {
grid-template-rows: repeat(13, minmax(0, auto)) !important;
grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
grid-auto-flow: column !important;
}
.flex-group-center,
.flex-group-left,
.flex-group-right {
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
text-align: center;
padding: 2px;
}
.flex-thin-border {
border: 1px solid #999;
border-radius: 2px;
border-left-color: darkslategray;
border-left-width: 4px;
}
/* Make sure Special Training boxes are the same height
as all other skill boxes */
.flex-thin-border.special-training-box {
min-height: 27px;
}
.flex-mid-border {
border: 1.5px solid rgb(0, 0, 0);
border-radius: 2px;
}
.flex-group-left {
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
text-align: left;
padding: 0;
}
.flex-group-right {
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
text-align: right;
}
.flex-center {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
text-align: center;
}
.flex-between {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.horizontal-flex-column {
display: flex;
flex-direction: column;
}
.flex-left {
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
text-align: left;
}
.deltagreen .sheet-header {
-webkit-box-flex: 0;
-ms-flex: 0 0 400px;
flex: 0 0 auto;
overflow: hidden;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
margin-bottom: 8px;
}
.deltagreen .sheet-header .profile-img {
height: 100px;
flex: 0 0 100px;
-webkit-box-flex: 0;
-ms-flex: 0 0 100px;
cursor: var(--cursor-pointer); /* Variable name from Foundry */
border: 1px solid black;
margin-right: 5px;
}
.deltagreen .sheet-header .header-fields {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
}
.deltagreen .sheet-header h1.charname {
height: 55px;
font-family: inherit;
font-size: 2rem;
padding: 0px;
border-bottom: 0;
margin-bottom: 0;
}
.deltagreen .sheet-header h1.charname input {
width: 100%;
height: 100%;
margin: 0;
}
.deltagreen .resource-label {
font-weight: bold;
}
.sheet nav.sheet-tabs {
border-bottom: transparent !important;
border-top: transparent !important;
}
.deltagreen .tabs {
height: 1.5rem;
line-height: 1.5rem;
text-align: center;
vertical-align: middle;
margin-bottom: 0px !important;
padding-bottom: 0px !important;
}
.deltagreen .tabs [data-action="tab"] {
font-weight: bold;
color: inherit;
vertical-align: middle !important;
height: inherit;
line-height: inherit;
padding-inline: 5px;
border-radius: 5px 5px 0px 0px;
border-color: #000;
border: gray;
border-width: 1px 1px 0px 1px;
border-style: solid;
}
.deltagreen .tabs [data-action="tab"].active {
text-shadow: none;
font-style: italic;
border: #000;
border-width: 2px 2px 0px 2px;
border-style: solid;
}
.deltagreen .tab {
height: 100%;
overflow-y: auto;
border-color: #000;
border-width: 2px;
border-style: solid;
border-radius: 3px;
padding: 5px;
}
.deltagreen .program-style .tabs [data-action="tab"].active {
background-color: #000000;
color: #ffffff;
}
.deltagreen .cowboy-style .tabs [data-action="tab"].active {
background-color: rgba(156, 115, 18, 0.3);
color: #000000;
}
.deltagreen .items-list {
list-style: none;
/*margin: 7px 0; */
padding: 0;
overflow-y: auto;
}
.deltagreen .items-list .item-header {
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.deltagreen .items-list .item {
min-height: 30px;
line-height: 24px;
padding: 3px 0;
border-bottom: 1px solid #bbb;
}
.deltagreen .items-list .item .item-image {
-webkit-box-flex: 0;
-ms-flex: 0 0 24px;
flex: 0 0 24px;
margin-right: 5px;
}
.deltagreen .items-list .item .item-bond-damage {
-webkit-box-flex: 0;
-ms-flex: 0 0 24px;
flex: 0 0 24px;
margin: 0;
align-self: center;
justify-self: center;
}
.deltagreen .items-list .item img {
display: block;
}
.deltagreen .items-list .item-name {
display: flex;
align-content: center;
word-wrap: break-word;
margin: 0;
}
.deltagreen .items-list .item-controls {
-webkit-box-flex: 0;
-ms-flex: 0 0 86px;
flex: 0 0 86px;
text-align: right;
}
.deltagreen .skill-and-training-controls {
flex: 0 0 35px;
}
.deltagreen .action-pill,
.deltagreen button.action-pill {
padding: 2px;
border-radius: 2.5px;
font-size: 0.8rem;
font-weight: bold;
background-color: rgba(0, 0, 0, 0.185);
color: inherit;
text-decoration: none;
border: none;
cursor: pointer;
}
.deltagreen button.action-pill {
appearance: none;
}
.deltagreen[id^="dg-settings"] {
.window-content > div.flexcol {
gap: 1rem;
}
.form-group label {
flex: unset;
}
}
a.btn-tiny {
height: 26px;
margin-left: 5px;
margin-right: 5px;
font-size: 13px;
padding-top: 1px;
padding-bottom: 1px;
padding-right: 5px;
padding-left: 5px;
text-decoration: none;
background-color: #eeeeee;
color: #333333;
border-radius: 4px;
line-height: 25px;
border: 1px solid #333333;
min-width: 20px;
text-align: center;
}
span.left-aligned-label {
justify-content: left;
margin-left: 5px;
}
span.max-attribute-value-label {
border: 1px solid rgb(122, 121, 113);
border-radius: 3px;
padding-top: 3px;
padding-bottom: 1px;
padding-left: 3px;
padding-right: 3px;
height: 26px;
}
.deltagreen .skill-label {
margin: 2px;
align-content: flex-start;
}
.deltagreen .skill-type-label {
margin: 2px;
}
input.percentile-skill-input {
flex: 0 0 40px;
margin: 0 5px;
height: 1.2rem;
align-self: center;
text-align: center;
}
/* AE-backed inputs: overlay shows effective value; focus reveals base value for editing */
.deltagreen .ae-input-host {
position: relative;
display: inline-flex;
flex: 0 0 40px;
margin: 0 5px;
height: auto;
align-self: center;
min-width: 0;
box-sizing: border-box;
}
.deltagreen .ae-input-host input {
position: relative;
z-index: 0;
width: 100%;
margin: 0;
}
/* Typography + inset come from the input (mirrored in JS); only layer + AE colors here */
.deltagreen .ae-input-host .ae-input-display {
position: absolute;
z-index: 1;
display: block;
overflow: hidden;
box-sizing: border-box;
pointer-events: none;
border: none;
background: transparent;
}
.deltagreen .stats .physical-stats-outer-grid-3col .ae-input-host--stat {
display: block;
width: 100%;
min-width: 0;
max-width: 100%;
flex: none;
margin: 1px;
height: auto;
align-self: auto;
box-sizing: border-box;
}
.deltagreen .stats .ae-input-host--stat input {
width: 100%;
margin: 0;
}
/* Hide input text only when an AE overlay is showing the effective value */
.deltagreen .ae-input-host:has(.ae-input-display):not(:focus-within) input {
color: transparent;
-webkit-text-fill-color: transparent;
caret-color: transparent;
}
.deltagreen .ae-input-host:has(.ae-input-display):focus-within input {
color: var(--input-text-color);
-webkit-text-fill-color: var(--input-text-color);
caret-color: auto;
}
.deltagreen .ae-input-host:focus-within .ae-input-display {
display: none;
}
.deltagreen .ae-input-host .ae-input-display.ae-mod-increase {
color: #00a82d;
}
.deltagreen .ae-input-host .ae-input-display.ae-mod-decrease {
color: #ff8a8a;
}
input.checkbox-skill-input {
flex: 0 0 20px;
line-height: 10px;
width: 1px;
}
input.checkbox-skill-input:disabled {
visibility: hidden;
}
.deltagreen .sheet-header .header-top {
margin-bottom: 5px;
}
.deltagreen .sheet-header .charname input {
/* font-family: "SpecialElite", sans-serif; */
}
.deltagreen .sheet-header h2.profession {
font-family: inherit;
font-size: 1.5rem;
border-bottom: 0;
margin-top: 5px;
margin-bottom: 0;
}
.deltagreen .sheet-header h2.profession input {
width: 100%;
height: 40px;
margin: 0;
}
div .simple-centered-flex-div {
display: flex;
align-items: center;
}
div input.fill-remaining-space {
flex: 1;
margin: 1px;
text-align: left;
}
div span.bio-grid-label {
margin: 1px;
text-align: left;
}
.bio-grid-2col {
display: grid;
grid-template-columns: 100px auto;
align-items: center;
padding-bottom: 10px;
row-gap: 10px;
}
.bio-grid-top-border {
border-top: 0px solid #aaa;
padding-top: 10px;
}
.bio-grid-5col {
display: grid;
grid-template-columns: 100px 100px 20px 120px auto;
align-items: center;
padding-bottom: 10px;
}
.bonds-grid-3col {
display: grid;
grid-template-columns: auto 50px max-content;
align-items: center;
padding-bottom: 10px;
}
.centered {
text-align: center !important;
}
.breaking-point-grid-3col {
display: grid;
grid-template-columns: 20% 70px 65px;
border-top: 0px solid #aaa;
margin-bottom: 10px;
border-bottom: 1px solid #aaa;
align-content: center;
justify-content: left;
align-items: center;
padding-bottom: 10px;
padding-top: 10px;
}
.adaptation-grid-5col {
display: grid;
grid-template-columns: 30% 50px 50px 50px 200px;
margin-top: 10px;
margin-bottom: 10px;
align-content: center;
justify-content: left;
align-items: center;
padding-bottom: 5px;
border-bottom: 0px solid #aaa;
}
.adapted-label {
font-weight: bold;
font-style: italic;
color: rgb(139, 0, 0);
}
.weapon-grid-2col {
display: grid;
grid-template-columns: 48% 48%;
margin-top: 10px;
margin-bottom: 5px;
justify-content: left;
align-items: flex-end;
padding: 0px;
column-gap: 4%;
}
.centered-item-property {
text-align: center;
}
.bolded-label {
font-weight: bold;
}
.resource .labeled-resource-checkbox {
vertical-align: middle;
margin-bottom: 0;
}
.resource .first-aid-label {
vertical-align: bottom;
}
div .motivation-section {
border-bottom: 1px solid #aaa;
margin-bottom: 10px;
}
div .bottom-left-justified-resource {
vertical-align: bottom;
text-align: left;
}
div .first-aid-received-section {
display: grid;
grid-template-columns: 40% 70px;
border-bottom: 1px solid #aaa;
margin-bottom: 10px;
}
div .exhausted-section {
display: grid;
grid-template-columns: 40% 70px;
border-bottom: 1px solid #aaa;
margin-bottom: 10px;
}
.exhausted-section input[type="number"] {
width: 75px;
color: rgb(139, 0, 0);
text-align: center;
background-color: rgba(0, 0, 0, 0.05);
border: 1px solid rgb(122, 121, 113);
border-radius: 3px;
margin-left: 10px;
margin-bottom: 5px;
}
.resource .exhaustion-label {
vertical-align: middle;
}
.bonds-section-header {
/* border-top: 1px solid #AAA; */
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 5px;
}
.about-section-header {
border-top: 1px solid #aaa;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 5px;
}
.tab.about {
.dg-about-links {
gap: 0.5rem;
margin-bottom: 1rem;
a {
display: inline-flex;
align-items: center;
gap: 0.5rem;
width: fit-content;
max-width: 100%;
i {
flex: 0 0 auto;
}
span {
flex: 1 1 auto;
line-height: 1.4;
text-align: left;
}
}
}
.dg-about-legal {
p {
margin: 0.5rem 0;
}
}
}
textarea.wounds {
resize: none;
height: 100px;
width: 100%;
}
.resource-inner-grid-3col {
display: grid;
grid-template-columns: 35% 30% 35%;
align-items: center;
text-align: center;
}
.resource-outer-grid-1col {
display: grid;
grid-template-columns: 100%;
align-items: center;
justify-content: center;
border: 1.5px solid #000000;
padding: 5px;
grid-gap: 3px;
text-align: center;
border-radius: 2px;
}
div.max-resource-value {
border: 1px solid rgb(122, 121, 113);
border-radius: 3px;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.physical-stats-outer-grid-3col {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
align-items: center;
justify-content: center;
text-align: center;
padding: 5px;
grid-gap: 5px;
}
.physical-stats-and-feature {
border-radius: 2px;
border: 1.5px solid #000000;
}
.attributes-wrapper {
margin-block-end: 12px;
}
div.horizontal-bar-section-divider {
display: grid;
grid-template-columns: 100%;
justify-content: center;
align-items: center;
text-align: center;
margin-bottom: 3px;
background: #000;
color: #fff;
height: 30px;
border-radius: 3px 3px 3px 3px;
}
div.horizontal-bar-section-divider.skills-header {
display: grid;
grid-template-columns: repeat(3, 1fr);
justify-content: center;
align-items: center;
text-align: center;
margin-bottom: 3px;
background: #000;
color: #fff;
height: 30px;
border-radius: 3px 3px 3px 3px;
}
.horizontal-bar-section-divider .skills-header-title {
grid-column: 2;
}
.horizontal-bar-section-divider .toggle-untrained {
grid-column: 3;
padding-right: 0.5rem;
justify-self: end;
}
div.horizontal-bar-section-header {
display: grid;
grid-template-columns: 100%;
justify-content: center;
align-items: center;
text-align: center;
margin-bottom: 3px;
background: #000;
color: #fff;
height: 50px;
}
.physical-description-label {
font-weight: bold;
}
.notes-wrapper {
margin-block-start: 12px;
display: flex;
flex-direction: column;
min-height: 0;
}
.deltagreen .editor-host {
align-items: stretch;
display: flex;
flex-direction: column;
min-height: 0;
}
/* ProseMirror: compact when toggled off; expand to fill tab space while editing. */
.deltagreen .editor-host prose-mirror {
--min-height: 5rem;
flex: 0 0 auto;
}
.deltagreen:not(.item) .editor-host prose-mirror:not(.active) {
height: auto !important;
}
.deltagreen .editor-host prose-mirror.active {
--min-height: 12rem;
flex: 1 1 auto;
min-height: 12rem;
}
.deltagreen .editor-host prose-mirror.active .editor-container {
flex: 1 1 auto;
min-height: 0;
}
/* Actor sheets: compact description when not editing. */
.deltagreen:not(.item) .editor-host prose-mirror:not(.active) .editor-content {
position: relative;
inset: unset;
overflow: visible;
min-height: 2.5rem;
}
/* Let the description block consume remaining tab height while editing. */
.deltagreen:not(.item) .tab:has(.notes-wrapper prose-mirror.active) {
display: flex;
flex-direction: column;
min-height: 0;
}
.deltagreen:not(.item) .tab:has(.notes-wrapper prose-mirror.active) .notes-wrapper,
.deltagreen:not(.item) .tab:has(.notes-wrapper prose-mirror.active) .notes-wrapper .editor-host {
flex: 1 1 auto;
min-height: 0;
}
/* Item sheets: description fills space below header (view and edit). */
.deltagreen.item form {
display: flex;
flex-direction: column;
height: 100%;
min-height: 0;
overflow: hidden;
}
.deltagreen.item .window-content {
display: flex;
flex-direction: column;
flex: 1 1 auto;
min-height: 0;
}
.deltagreen.item [data-application-part="header"],
.deltagreen.item [data-application-part="tabs"] {
flex: 0 0 auto;
}
/* Item tab bodies — flex only when .active; do not override core display:none on inactive tabs. */
.deltagreen.item .tab[data-tab][data-application-part].active {
flex: 1 1 auto;
display: flex;
flex-direction: column;
min-height: 0;
overflow: hidden;
}
/* Profession skills tab: outer panel flexes; inner region scrolls (see description tab). */
.deltagreen.item .tab.profession-skills.active,
.deltagreen.item .tab[data-application-part="skills"].active {
flex: 1 1 auto;
display: flex;
flex-direction: column;
min-height: 0;
height: auto;
max-height: 100%;
overflow: hidden;
}
.deltagreen.item .tab.profession-skills .profession-skills-scroll {
flex: 1 1 auto;
min-height: 0;
overflow-x: hidden;
overflow-y: auto;
}
.deltagreen.item .tab[data-application-part="description"].active.top-div-border,
.deltagreen.item .tab[data-application-part="handler"].active > .tab.top-div-border {
flex: 1 1 auto;
display: flex;
flex-direction: column;
min-height: 0;
}
.deltagreen.item .tab.top-div-border > .editor-host,
.deltagreen.item .tab[data-application-part="description"].active > .editor-host {
flex: 1 1 auto;
min-height: 0;
}
.deltagreen.item .tab.top-div-border .editor-host prose-mirror {
flex: 1 1 auto;
min-height: 5rem;
}
.deltagreen.item .tab.top-div-border .editor-host prose-mirror:not(.active) .editor-content {
position: absolute;
inset: 0;
overflow: auto;
min-height: unset;
}
.deltagreen.item .tab.top-div-border .editor-host prose-mirror.active {
min-height: 5rem;
}
/* Core uses display:block on hover for prose-mirror toggles, which breaks flex icon centering. */
.deltagreen prose-mirror:hover button.toggle:enabled {
display: flex;
justify-content: center;
align-items: center;
padding: 0;
}
.deltagreen prose-mirror button.toggle > i {
margin: 0;
line-height: 1;
}
/* I think all the stuff below is now obsolete
.editor-host .tox .tox-editor-container {
background: none !important;
}
.deltagreen .editor-host .tox {
height: 100% !important;
display: block;
}
.deltagreen .editor-host .tox-tinymce {
height: 100% !important;
display: block;
}
.deltagreen .editor-host .tox .tox-edit-area {
position: inherit;
min-height: 20px;
height: 300px;
}
.deltagreen .tox-editor-header {
background: none !important;
}
.deltagreen .tox .tox-edit-area {
padding: 0 8px;
}
*/
/*
Item Sheet Common CSS
*/
.item-img {
-webkit-box-flex: 0;
-ms-flex: 0 0 100px;
flex: 0 0 100px;
height: 100px;
border: 0px solid black;
}
input.item-sheet-short-input {
width: 75px;
margin-right: 5px;
margin-left: 5px;
text-align: center !important;
}
.item-grid-button-row {
vertical-align: middle !important;
line-height: inherit;
padding: 5px 0px 0px 10px;
}
/*
Bonds Item Sheet
*/
.bond-sheet-grid-2col {
display: grid;
grid-template-columns: 25% 75%;
align-items: center;
justify-content: center;
text-align: center;
padding-left: 5px;
grid-gap: 5px;
}
.bond-sheet-horizontal-grid-2col {
display: grid;
grid-template-columns: 150px auto;
align-items: center;
text-align: left;
padding-bottom: 10px;
column-gap: 10px;
row-gap: 10px;
padding-right: 5px;
}
/*
Motivation Item Sheet
*/
.motivation-sheet-horizontal-grid-2col {
display: grid;
grid-template-columns: 50% 50%;
align-items: center;
justify-content: center;
text-align: left;
padding-left: 5px;
padding-bottom: 10px;
grid-gap: 5px;
}
/*
Armor Item Sheet
*/
.armor-sheet-grid-2col {
display: grid;
grid-template-columns: 25% 75%;
align-items: center;
justify-content: center;
text-align: center;
grid-gap: 5px;
padding-bottom: 10px;
padding-left: 5px;
}
.armor-sheet-horizontal-grid-2col {
display: grid;
grid-template-columns: 100px auto;
align-items: center;
text-align: left;
column-gap: 10px;
row-gap: 10px;
padding-bottom: 10px;
padding-right: 5px;
}
.armor-sheet-secondary-grid-2col {
display: grid;
grid-template-columns: 25% 75%;
align-items: center;
justify-content: left;
text-align: left;
grid-gap: 5px;
padding-bottom: 10px;
}
/*
Gear Item Sheet
*/
.gear-sheet-grid-2col {
display: grid;
grid-template-columns: 25% 75%;
align-items: center;
justify-content: center;
text-align: center;
grid-gap: 5px;
padding-left: 5px;
}
.gear-sheet-horizontal-grid-2col {
display: grid;
grid-template-columns: 100px auto;
align-items: center;
text-align: left;
column-gap: 10px;
row-gap: 10px;
padding-bottom: 10px;
padding-right: 5px;
}
/*
Weapon Item Sheet
*/
.weapon-sheet-grid-2col {
display: grid;
grid-template-columns: 25% 75%;
align-items: center;
justify-content: center;
text-align: center;
grid-gap: 5px;
padding-left: 5px;
}
.weapon-sheet-horizontal-grid-2col {
display: grid;
grid-template-columns: 100px auto;
align-items: center;
text-align: left;
column-gap: 10px;
row-gap: 10px;
padding-bottom: 10px;
padding-right: 5px;
}
.weapon-sheet-horizontal-grid-2col .resource-label {
display: flex;
align-items: center;
min-height: 1.5rem;
margin: 0;
}
.weapon-sheet-horizontal-grid-2col input[type="text"],
.weapon-sheet-horizontal-grid-2col select {
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin: 0;
line-height: 1.5rem;
}
.weapon-sheet-header {
margin-bottom: 12px;
}
/* One grid row per stat pair so left/right labels share the same baseline. */
.weapon-sheet-stats-grid {
display: grid;
grid-template-columns: minmax(5.5rem, auto) minmax(9rem, 1.35fr) minmax(5.5rem, auto) minmax(9rem, 1.35fr);
align-items: center;
column-gap: 12px;
row-gap: 10px;
padding: 0 2px 10px;
text-align: left;
}
.weapon-sheet-stats-grid .resource-label {
display: flex;
align-items: center;
min-height: var(--weapon-sheet-control-height, 1.75rem);
margin: 0;
}
.weapon-sheet-stats-grid input[type="text"],
.weapon-sheet-stats-grid select {
width: 100%;
min-width: 0;
max-width: 100%;
box-sizing: border-box;
margin: 0;
height: var(--weapon-sheet-control-height, 1.75rem);
min-height: var(--weapon-sheet-control-height, 1.75rem);
line-height: 1.5rem;
padding: 0 6px;
}
.weapon-sheet-stats-grid select.weapon-sheet-skill-select {
min-width: 9rem;
}
.weapon-sheet-stats-grid .labeled-resource-checkbox {
justify-self: start;
align-self: center;
margin: 0;
}
.weapon-sheet-stats-pad {
display: block;
min-height: 0;
visibility: hidden;
pointer-events: none;
}
/*
Tome Item Sheet
*/
.tome-sheet-horizontal-grid-2col {
display: grid;
grid-template-columns: 100px auto;
align-items: center;
text-align: left;
column-gap: 10px;
row-gap: 10px;
padding-bottom: 10px;
padding-right: 5px;
}
.tome-sheet-handler-info-horizontal-grid-2col {
display: grid;
grid-template-columns: max-content auto;
align-items: center;
text-align: left;
column-gap: 10px;
row-gap: 10px;
padding-bottom: 10px;
padding-right: 5px;
}
/*
Unnatural Character Sheet Specific Classes
*/
.unnatural-notes-section {
display: grid;
grid-template-columns: 100%;
align-items: left;
justify-content: left;
border: 1px solid #999;
padding: 5px;
grid-gap: 3px;
text-align: left;
}
.skill-util-buttons {
margin: 5px;
.typed-skill-add {
margin-right: 5px;
}
}
a[data-action="applySkillImprovements"] {
float: right;
}
.yellow-king {
color: #a0912f;
}
.yellow-sign {
font-weight: bold;
text-shadow: 1px 1px #313a00;
}
.yellow-king-rotate1 {
transform: rotate(3deg);
}
.yellow-king-rotate4 {
transform: rotate(4deg);
}
.yellow-king-rotate2 {
transform: rotate(-1deg);
}
.yellow-king-rotate3 {
transform: rotate(5deg);
}
.yellow-king-grid-9col {
display: grid;
grid-template-columns: max-content 5px max-content max-content 20px max-content max-content 10px 35px;
align-items: center;
padding-bottom: 10px;
}
.yellow-king-grid-5col {
display: grid;
grid-template-columns: min-content 275px 20px min-content auto;
align-items: center;
padding-bottom: 10px;
}
.yellow-king-label {
margin-right: 10px;
}
.yellow-king input,
.yellow-king select,
.yellow-king textarea {
color: #a0912f;
font-weight: bold;
}
.yellow-king textarea:focus,
.yellow-king input:focus {
color: #a0912f;
}
.top-div-border {
border-top: 1px solid #aaa;
margin-bottom: 10px;
padding-bottom: 10px;
padding-top: 10px;
}
.stat-block-input {
min-height: 300px;
resize: none;
}
.weapon-name-flexcontainer {
display: flex;
justify-content: flex-start;
flex-direction: row;
column-gap: 10px;
}
.weapon-name-flexitem {
flex: content;
align-self: flex-start;
text-align: left;
}
.armor-piercing-chat-card-img {
border-radius: 10%;
height: 20px !important;
width: 20px !important;
margin: 0px;
vertical-align: text-bottom;
}
/*
Custom UI Styling Elements
*/
:root :not(.no-theme) {
--color-shadow-primary: #374e13;
--color-shadow-highlight: #406539;
--color-border-highlight: #406539;
--color-border-highlight-alt: #374e13;
--color-underline-header: #406539;
--color-text-dark-header: #406539;
scrollbar-color: var(--color-text-dark-header) #111;
}
#pause img {
content: url(../assets/img/DG_Pause_Icon.webp);
}
#interface:not(.no-theme) * {
--color-shadow-primary: #215112 !important;
--color-shadow-highlight: #215112 !important;
--color-border-highlight: #215112 !important;
--color-border-highlight-alt: #215112 !important;
--color-underline-header: #215112 !important;
--color-text-dark-header: #215112 !important;
scrollbar-color: var(--color-text-dark-header) #111 !important;
}
#interface:not(.theme-light) * {
--control-border-color: #215112;
--control-hover-border-color: #215112;
}
/* The logo is defunct as of v13 */
#logo {
content: url("../assets/img/Delta_Green_Logo.webp");
width: 90px;
height: auto;
padding-top: 10px;
padding-bottom: 10px;
}
.ae-mod-increase {
color: #00a82d;
}
.ae-mod-decrease {
color: #e00000;
}
/* Stats/skills: dark input chrome — brighter red (overlays keep inherited weight) */
.deltagreen input.ae-mod-decrease,
.deltagreen input.centered.ae-mod-decrease,
.deltagreen input.percentile-skill-input.ae-mod-decrease,
.deltagreen .ae-input-host .ae-input-display.ae-mod-decrease {
color: #ff8a8a;
-webkit-text-fill-color: #ff8a8a;
}
.deltagreen input.ae-mod-decrease,
.deltagreen input.centered.ae-mod-decrease,
.deltagreen input.percentile-skill-input.ae-mod-decrease {
font-weight: bold;
}
.deltagreen .max-resource-value.ae-mod-increase > div,
.deltagreen .max-resource-value.ae-mod-decrease > div {
font-weight: bold;
}
/* Delta Green stylized chat cards */
.deltagreen.chat-card.dg-chat-card {
border: 2px solid #000;
border-radius: 3px;
overflow: hidden;
margin: 0;
}
.dg-chat-card__header {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
background: #1a1a1a;
color: #f5f5f0;
padding: 6px 0;
}
.dg-chat-card__icon-slot {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: center;
align-self: center;
width: 40px;
height: 40px;
min-width: 40px;
aspect-ratio: 1 / 1;
box-sizing: border-box;
margin-left: 8px;
overflow: hidden;
}
.dg-chat-card__icon {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
}
.dg-chat-card__titles {
flex: 1 1 auto;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
padding: 0 8px 0 8px;
}
.dg-chat-card__speaker {
margin: 0;
font-size: 0.95rem;
font-weight: bold;
color: #f5f5f0;
line-height: 1.2;
}
.dg-chat-card__label {
font-size: 0.8rem;
color: #f5f5f0;
line-height: 1.25;
margin-top: 2px;
}
.dg-chat-card__body {
border-color: #000;
border-width: 0;
border-style: solid;
border-radius: 0;
padding: 5px;
background: inherit;
}
.chat-message:has(.dg-chat-card) .message-header,
.chat-message.dg-chat-card-message .message-header {
display: none;
}
.rollback-section {
order: 99;
display: flex;
margin-top: 5px;
align-items: center;
justify-content: center;
> i {
margin: 5px;
}
}
[data-action="rollback-skill-failure-state"] {
align-items: center;
display: inline-flex;
justify-content: center;
min-height: unset;
width: 20px;
height: 20px;
margin-left: 5px;
font-size: 12px;
}
.strike {
text-decoration: line-through;
}
.agent-sheet {
.window-content {
display: grid;
grid-template-columns: 240px 1fr;
grid-template-rows: auto 1fr;
column-gap: 8px;
width: 100%;
height: 100%;
}
.left-bar {
grid-column: 1;
grid-row: 1 / -1;
padding: 3px;
}
.left-bar .profession-subname-link {
display: block;
box-sizing: border-box;
padding: 1px 2px;
line-height: var(--line-height-18, 1.125rem);
text-decoration: none;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.stats-wrapper {
margin-top: 8px;
margin-bottom: 8px;
}
.mb-8 {
margin-bottom: 8px;
}
.luck {
display: flex;
justify-content: center;
}
.luck .bolded-label {
text-align: center;
}
/* Override core nav.tabs gap/space-evenly and v1-compat space-around so tabs can overlap */
.window-content > nav.sheet-tabs {
grid-column: 2;
grid-row: 1;
align-self: start;
width: 100%;
min-width: 0;
box-sizing: border-box;
margin-bottom: 0;
position: relative;
z-index: 2;
display: flex;
flex-wrap: nowrap;
gap: 0;
justify-content: flex-start;
overflow-x: auto;
overflow-y: hidden;
}
.tabs [data-action="tab"] {
flex: 1 1 0;
min-width: 0;
position: relative;
text-align: center;
margin-left: -14px;
padding-inline: 3px;
font-size: 11px;
overflow: visible;
box-shadow:
0 1px 2px rgba(0, 0, 0, 0.16),
-1px 0 2px rgba(0, 0, 0, 0.1),
1px 0 2px rgba(0, 0, 0, 0.1);
> span {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
&:first-child {
margin-left: 0;
}
&:nth-child(1) {
z-index: 1;
}
&:nth-child(2) {
z-index: 2;
}
&:nth-child(3) {
z-index: 3;
}
&:nth-child(4) {
z-index: 4;
}
&:nth-child(5) {
z-index: 5;
}
&:nth-child(6) {
z-index: 6;
}
&:nth-child(7) {
z-index: 7;
}
}
/* Opaque inactive tabs so overlapping borders only show on the tab in front */
.window-content.program-style .tabs [data-action="tab"]:not(.active) {
background-color: rgb(186, 184, 181);
}
.window-content.cowboy-style .tabs [data-action="tab"]:not(.active),
.window-content.outlaw-style .tabs [data-action="tab"]:not(.active) {
background-color: rgb(210, 190, 150);
}
/* Pin the about tab to the right without opening a gap before it */
.tabs [data-action="tab"][data-tab="effects"] {
margin-right: auto;
}
.tabs [data-action="tab"][data-tab="about"] {
flex: 0 0 auto;
min-width: unset;
margin-left: -14px;
}
.window-content > [data-application-part="rightBar"],
.window-content > .right-bar {
grid-column: 2;
grid-row: 2;
width: 100%;
min-height: 0;
box-sizing: border-box;
padding-right: 0;
margin-right: 0;
}
.right-bar {
display: flex;
flex-direction: column;
min-width: 0;
min-height: 0;
height: 100%;
overflow: hidden;
}
.right-bar > .tab {
flex: 1 1 auto;
min-width: 0;
min-height: 0;
box-sizing: border-box;
}
/* Match V1: flat top edge on panel; active tab overlaps the panel top border */
.right-bar > .tab.active {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.tabs [data-action="tab"].active {
z-index: 10;
margin-bottom: -2px;
padding-bottom: 2px;
box-shadow:
0 2px 6px rgba(0, 0, 0, 0.22),
-2px 0 5px rgba(0, 0, 0, 0.14),
2px 0 5px rgba(0, 0, 0, 0.14);
}
.profile-img {
width: 100%;
height: 194px;
object-fit: cover;
object-position: center top;
}
.physical-stats-outer-grid-3col {
display: contents;
}
.physical-stats-outer-grid-3col,
.resources {
font-size: 12px;
}
.resources {
margin-bottom: 8px;
}
.resources .resource-inner-grid-3col {
grid-template-columns: auto auto auto;
justify-content: center;
column-gap: 2px;
}
.resources .resource-inner-grid-3col input {
box-sizing: border-box;
width: 1.5rem;
height: 1.5rem;
padding: 1px;
line-height: calc(1.5rem - 4px);
}
.resources .resource-inner-grid-3col .max-resource-value {
box-sizing: border-box;
width: 1.5rem;
height: 1.5rem;
min-width: 1.5rem;
min-height: 1.5rem;
}
.breaking-point-inline {
display: grid;
grid-template-columns: 1fr auto auto;
align-items: center;
column-gap: 6px;
border: none;
padding: 0;
background: none;
.breaking-point-label {
margin: 0;
white-space: nowrap;
justify-self: start;
}
.breaking-point-input {
width: 2.5rem;
min-width: 2.5rem;
max-width: 2.5rem;
padding: 1px;
text-align: center;
font-size: 12px;
justify-self: end;
}
.fa-refresh {
text-decoration: none;
font-size: 12px;
justify-self: end;
}
}
.exhausted-section.resource {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
column-gap: 8px;
row-gap: 4px;
border: none;
margin-bottom: 8px;
padding: 0;
background: none;
.exhaustion-label {
justify-self: start;
}
.labeled-resource-checkbox,
input[type="number"] {
justify-self: end;
}
}
.stats {
input {
margin: 1px;
}
.ae-input-host--stat input {
margin: 0;
}
}
.horizontal-bar-section-divider.skills-header {
display: flex;
}
.skill-util-buttons {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: stretch;
gap: 8px;
width: 100%;
margin: 5px 0;
box-sizing: border-box;
.action-pill {
flex: 1 1 0;
min-width: 0;
margin: 0;
text-align: center;
}
.typed-skill-add {
margin-right: 0;
}
a[data-action="applySkillImprovements"] {
float: none;
}
.custom-skills-edit-toggle {
flex: 0 0 auto;
min-width: 2rem;
padding-inline: 6px;
}
}
.custom-skill-group-label {
display: flex;
align-items: center;
justify-content: center;
min-height: 1.35rem;
height: auto;
margin-top: 4px;
margin-bottom: 4px;
padding: 2px 4px;
font-size: 0.7rem;
font-weight: bold;
letter-spacing: 0.02em;
text-transform: uppercase;
line-height: 1.2;
}
&.custom-skills-edit-mode .custom-skills-edit-toggle {
background-color: rgba(0, 0, 0, 0.45);
outline: 1px solid #000;
}
&.custom-skills-edit-mode .program-style .custom-skills-edit-toggle {
background-color: #000;
color: #fff;
}
.typed-skill-row {
min-height: 27px;
align-items: center;
}
.custom-skill-controls-slot {
position: relative;
display: flex;
flex: 0 0 70px;
min-width: 70px;
min-height: 1.2rem;
align-items: center;
justify-content: flex-end;
}
.custom-skill-play-controls {
display: flex;
flex: 1 1 auto;
align-items: center;
justify-content: flex-end;
min-height: 1.2rem;
}
.custom-skill-controls-slot .custom-skill-edit-controls {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 2px;
margin: 0;
}
.special-training-box .custom-skill-edit-controls {
position: static;
flex: 0 0 auto;
align-items: center;
gap: 2px;
margin: 0;
}
&:not(.custom-skills-edit-mode) .custom-skill-edit-controls {
display: none;
}
&.custom-skills-edit-mode .custom-skill-play-controls {
visibility: hidden;
pointer-events: none;
}
.typed-skills-columns {
align-items: start;
}
.typed-skills-column {
display: flex;
flex-direction: column;
gap: 3px;
min-width: 0;
}
.skill-and-training-controls {
display: flex;
flex-direction: row;
flex: 0 0 auto;
gap: 2px;
}
.scenario-information-grid {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
column-gap: 12px;
row-gap: 8px;
align-items: start;
width: 100%;
box-sizing: border-box;
padding-bottom: 10px;
}
.scenario-information-left,
.scenario-information-right {
min-width: 0;
}
.scenario-information-left.bio-grid-2col {
grid-template-columns: minmax(4rem, max-content) minmax(0, 1fr);
padding-bottom: 0;
}
.scenario-information-corruption {
display: block;
flex: none;
max-width: 100%;
box-sizing: border-box;
padding-bottom: 10px;
}
.scenario-information-yellow-sign-row {
display: grid;
grid-template-columns: max-content max-content max-content;
column-gap: 8px;
align-items: center;
flex: none;
width: fit-content;
max-width: 100%;
}
.scenario-information-corruption-row {
display: grid;
grid-template-columns: max-content max-content;
column-gap: 8px;
align-items: center;
flex: none;
width: fit-content;
max-width: 100%;
margin-top: 8px;
}
.scenario-information-yellow-sign-row > *,
.scenario-information-corruption-row > * {
flex: none;
}
.scenario-information-corruption-label {
display: inline-flex;
align-items: baseline;
gap: 0;
flex: none;
white-space: nowrap;
}
.scenario-information-corruption-label > .yellow-king {
flex: none;
display: inline-block;
}
.scenario-information-corruption-row input[type="number"] {
width: 2.5rem;
min-width: 2.5rem;
}
.adaptation-grid-4col {
display: grid;
grid-template-columns: 1fr 25px 25px 25px;
align-content: center;
align-items: center;
row-gap: 0;
margin-bottom: 0;
> label {
justify-self: start;
}
> input.labeled-resource-checkbox {
justify-self: end;
}
}
.adaptation-grid-4col .adapted-label-slot {
grid-column: 1 / -1;
min-height: 1.35em;
}
.adaptation-grid-4col .adapted-label-slot .adapted-label {
display: block;
margin: 0;
}
.adaptation-block {
border: 1px solid black;
padding: 3px;
}
.left-bar-tabs {
font-size: 11px;
margin-bottom: 4px;
}
.left-bar-tab-panels .tab:not(.active) {
display: none;
}
.left-bar-action-stack {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 8px;
}
.left-bar-action-pill {
display: block;
width: 100%;
box-sizing: border-box;
margin: 0 0 8px;
text-align: center;
padding-block: 4px; /* +8px height vs default 2px .action-pill padding */
}
.left-bar-action-stack .left-bar-action-pill {
margin-bottom: 0;
}
.left-bar-action-stack .left-bar-action-pill[data-action="takeStimulants"] {
margin-bottom: 5px;
}
.exhausted-section.resource input.is-inactive {
color: #888;
background-color: rgba(0, 0, 0, 0.04);
border-color: #bbb;
}
.suppress-exhaustion.resource {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
column-gap: 8px;
margin-bottom: 8px;
label.is-crossed-out {
color: #888;
text-decoration: line-through;
}
input:disabled {
opacity: 0.45;
}
}
}
.stats-wrapper {
position: relative;
}
/* Edit icon */
.stats-edit-btn {
position: absolute;
top: -10px;
right: 0;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: var(--color-border-dark, #444);
color: #fff;
font-size: 12px;
cursor: pointer;
opacity: 0;
transition:
opacity 0.15s ease,
transform 0.15s ease;
}
/* Show on hover of whole stats block */
.stats-wrapper:hover .stats-edit-btn {
opacity: 1;
transform: scale(1.05);
}
/* Hover feedback */
.stats-edit-btn:hover {
background: var(--color-border-highlight, #c9a227);
}
.edit-stat-form {
label {
color: var(--color-text-primary);
}
}
.physical-stats-outer-grid-2col {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
justify-content: center;
text-align: center;
padding: 5px;
grid-gap: 5px;
}
/* Active Effects */
.deltagreen .tab.effects {
padding: 5px;
}
.deltagreen.item .tab[data-application-part="effects"].active {
overflow-y: auto;
}
.deltagreen .effects-transfer-hint {
font-size: var(--font-size-12);
font-style: italic;
margin: 0 0 8px;
}
.deltagreen .effect-add {
margin-bottom: 8px;
}
.deltagreen .effect-add .action-pill {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 4px;
width: fit-content;
max-width: 100%;
text-align: center;
padding-inline: 6px;
}
.deltagreen .effect-header {
font-weight: bold;
border-bottom: 1px solid #999;
margin-top: 8px;
padding-bottom: 2px;
gap: 4px;
}
.deltagreen .effects-list {
list-style: none;
margin: 0;
padding: 0;
}
.deltagreen .effects-list .effect {
display: grid;
grid-template-columns: 24px minmax(0, 1fr) minmax(0, 6rem) auto auto;
align-items: center;
gap: 6px;
padding: 4px 2px;
border-bottom: 1px solid #ccc;
min-width: 0;
}
.deltagreen .effects-list .effect-label {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.deltagreen .effects-list .effect-icon {
width: 24px;
height: 24px;
border: none;
}
.deltagreen .effects-list .effect.suppressed-effect {
opacity: 0.55;
}
.deltagreen .effects-list .effect.disabled-effect {
opacity: 0.4;
text-decoration: line-through;
}
.deltagreen .effects-list .effect-source {
font-size: var(--font-size-12);
max-width: 8rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.stimulants-dialog {
display: grid;
grid-template-columns: 10rem 1fr;
gap: 12px;
align-items: center;
}
.stimulants-dialog .stimulants-option {
display: contents;
}
.stimulants-dialog .stimulants-choice-btn {
width: 100%;
box-sizing: border-box;
padding: 4px 8px;
border-radius: 3px;
font-size: 0.8rem;
font-weight: bold;
background: var(--color-control-bg, rgba(255, 255, 255, 0.14));
color: var(--color-text-light-primary, #eee);
border: 1px solid var(--color-border-light-2, rgba(255, 255, 255, 0.35));
cursor: pointer;
white-space: nowrap;
text-align: center;
}
.stimulants-dialog .stimulants-choice-btn:hover {
background: var(--color-control-bg-hover, rgba(255, 255, 255, 0.22));
border-color: var(--color-border-light-highlight, rgba(255, 255, 255, 0.5));
}
.stimulants-dialog .stimulants-explanation {
margin: 0;
font-size: var(--font-size-12);
color: var(--color-text-light-secondary, rgba(255, 255, 255, 0.75));
line-height: 1.35;
}
.stimulants-dialog-app .form-footer {
display: none;
}
.modify-roll-dialog-app .form-footer {
display: none;
}
.modify-roll-dialog .form-group {
margin-bottom: 0.5rem;
}
.modify-roll-dialog .modify-roll-readonly {
flex: 1;
font-weight: bold;
}
.modify-roll-dialog .modify-roll-section {
margin-top: 1rem;
padding-top: 0.75rem;
border-top: 1px solid var(--color-border-light-2, rgba(255, 255, 255, 0.2));
}
.modify-roll-dialog .modify-roll-section h3 {
margin: 0 0 0.35rem;
font-size: var(--font-size-14, 0.875rem);
font-weight: bold;
}
.modify-roll-dialog .modify-roll-hint {
margin: 0 0 0.65rem;
font-size: var(--font-size-12);
color: var(--color-text-light-secondary, rgba(255, 255, 255, 0.75));
line-height: 1.35;
}
.modify-roll-dialog .modify-roll-quick-grid {
display: grid;
grid-template-columns: 5rem 1fr;
gap: 10px 12px;
align-items: center;
}
.modify-roll-dialog .modify-roll-quick-option {
display: contents;
}
.modify-roll-dialog .modify-roll-quick-btn,
.modify-roll-dialog .modify-roll-submit-btn {
box-sizing: border-box;
padding: 4px 8px;
border-radius: 3px;
font-size: 0.8rem;
font-weight: bold;
background: var(--color-control-bg, rgba(255, 255, 255, 0.14));
color: var(--color-text-light-primary, #eee);
border: 1px solid var(--color-border-light-2, rgba(255, 255, 255, 0.35));
cursor: pointer;
white-space: nowrap;
text-align: center;
}
.modify-roll-dialog .modify-roll-quick-btn:hover,
.modify-roll-dialog .modify-roll-submit-btn:hover {
background: var(--color-control-bg-hover, rgba(255, 255, 255, 0.22));
border-color: var(--color-border-light-highlight, rgba(255, 255, 255, 0.5));
}
.modify-roll-dialog .modify-roll-quick-explanation {
margin: 0;
font-size: var(--font-size-12);
color: var(--color-text-light-secondary, rgba(255, 255, 255, 0.75));
line-height: 1.35;
}
.modify-roll-dialog .modify-roll-custom-row {
display: flex;
gap: 0.5rem;
align-items: center;
}
.modify-roll-dialog .modify-roll-custom-row input[type="number"] {
flex: 0 0 5rem;
text-align: center;
}
.modify-roll-dialog .modify-roll-submit-btn {
flex: 0 0 auto;
min-width: 5rem;
}
.deltagreen .effects-list .effect-controls {
display: flex;
gap: 4px;
}
.deltagreen .effects-list .effect-empty {
font-style: italic;
padding: 6px;
}
.deltagreen .motivations .acute-episode-col {
flex: 0 0 5.5rem;
text-align: center;
}
.deltagreen .motivations li.acute-episode-active {
background: rgba(180, 0, 0, 0.08);
}
.deltagreen .active-effect-config .dg-effect-key-select {
width: 100%;
max-width: 14rem;
}
/* Profession item sheet */
.deltagreen .profession-sheet-grid-2col {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.75rem;
align-items: start;
}
.deltagreen .profession-sheet-name {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.5rem;
align-items: center;
}
.deltagreen .tab.profession-skills {
--profession-toolbar-label-width: 11rem;
--profession-toolbar-secondary-label-width: 7rem;
}
.deltagreen .tab.profession-skills .profession-skills-section {
margin-top: 0.75rem;
}
.deltagreen .tab.profession-skills .profession-skills-section:first-child {
margin-top: 0;
}
.deltagreen .tab.profession-skills .profession-section-toolbar {
display: grid;
grid-template-columns:
var(--profession-toolbar-label-width)
auto
var(--profession-toolbar-secondary-label-width)
4rem;
align-items: center;
column-gap: 0.5rem;
margin-bottom: 0.35rem;
}
.deltagreen .tab.profession-skills .profession-skills-toolbar-label {
font-weight: bold;
}
.deltagreen .tab.profession-skills .profession-skills-toolbar-control {
justify-self: start;
}
.deltagreen .tab.profession-skills .profession-bonds-input,
.deltagreen .tab.profession-skills .profession-option-picks-input {
width: 100%;
text-align: center;
}
.deltagreen .tab.profession-skills .profession-skill-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.25rem 1rem;
list-style: none;
margin: 0;
padding: 0;
}
.deltagreen .tab.profession-skills .profession-skill-row {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.15rem 0;
min-width: 0;
}
.deltagreen .tab.profession-skills .profession-skill-label {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.deltagreen .tab.profession-skills .profession-skill-rating {
flex-shrink: 0;
min-width: 2.5rem;
text-align: right;
}
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-typed-label-group.hidden,
.deltagreen .add-profession-skill-dialog .profession-typed-label-group.hidden {
display: none;
}
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-typed-label-group,
.add-profession-skill-dialog-app .standard-form .add-profession-skill-dialog .profession-typed-label-group,
.deltagreen .add-profession-skill-dialog .profession-typed-label-group,
.standard-form .add-profession-skill-dialog .profession-typed-label-group {
flex-direction: column;
align-items: stretch;
gap: 0.5rem;
}
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-typed-label-group > *,
.add-profession-skill-dialog-app .standard-form .add-profession-skill-dialog .profession-typed-label-group > *,
.deltagreen .add-profession-skill-dialog .profession-typed-label-group > *,
.standard-form .add-profession-skill-dialog .profession-typed-label-group > * {
flex: 0 0 auto;
width: 100%;
max-width: 100%;
}
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-typed-name-field,
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-choose-one-field,
.add-profession-skill-dialog-app .standard-form .add-profession-skill-dialog .profession-typed-name-field,
.add-profession-skill-dialog-app .standard-form .add-profession-skill-dialog .profession-choose-one-field,
.deltagreen .add-profession-skill-dialog .profession-typed-name-field,
.deltagreen .add-profession-skill-dialog .profession-choose-one-field,
.standard-form .add-profession-skill-dialog .profession-typed-name-field,
.standard-form .add-profession-skill-dialog .profession-choose-one-field {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.2rem;
}
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-typed-name-field > label,
.add-profession-skill-dialog-app .standard-form .add-profession-skill-dialog .profession-typed-name-field > label,
.deltagreen .add-profession-skill-dialog .profession-typed-name-field > label,
.standard-form .add-profession-skill-dialog .profession-typed-name-field > label {
flex: none;
width: 100%;
line-height: 1.3;
}
.deltagreen .add-profession-skill-dialog .profession-typed-name-field input {
width: 100%;
}
.deltagreen .add-profession-skill-dialog .profession-choose-one-field {
padding-top: 0.25rem;
}
/* Add Profession dialog */
.add-profession-dialog-app h3 {
font-size: var(--font-size-14);
font-weight: bold;
margin: 0.5rem 0 0.35rem;
line-height: 1.2;
}
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-choose-one-checkbox,
.deltagreen .add-profession-skill-dialog .profession-choose-one-checkbox {
display: flex;
align-items: center;
gap: 0.35rem;
margin: 0;
}
.add-profession-skill-dialog-app .add-profession-skill-dialog .profession-choose-one-hint,
.deltagreen .add-profession-skill-dialog .profession-choose-one-hint {
margin: 0.25rem 0 0;
}
.add-profession-dialog-app .add-profession-choose-one-section {
margin-bottom: 0.75rem;
}
.add-profession-dialog-app .add-profession-choose-one-list {
display: flex;
flex-direction: column;
gap: 0.35rem;
}
.add-profession-dialog-app .add-profession-choose-one-row {
display: flex;
flex-direction: column;
gap: 0.2rem;
}
.add-profession-dialog-app .add-profession-choose-one-row input {
width: 100%;
}
.add-profession-dialog-app .add-profession-option-row .option-choose-one-label {
width: 100%;
}
.add-profession-dialog-app .add-profession-skills-section {
margin-bottom: 0.75rem;
}
.add-profession-dialog-app .add-profession-skills-columns-header {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0.75rem;
margin-bottom: 0.25rem;
font-size: var(--font-size-12);
font-weight: bold;
}
.add-profession-dialog-app .add-profession-skill-col-header {
display: grid;
grid-template-columns: 1fr auto;
gap: 0.5rem;
padding: 0 0.15rem;
}
.add-profession-dialog-app .add-profession-skills-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0.2rem 0.75rem;
max-height: 16rem;
overflow-y: auto;
}
.add-profession-dialog-app .add-profession-skill-entry {
display: grid;
grid-template-columns: 1fr auto;
gap: 0.25rem 0.5rem;
align-items: center;
min-width: 0;
}
.add-profession-dialog-app .add-profession-skill-label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.add-profession-dialog-app .add-profession-skill-value {
text-align: right;
min-width: 2.5rem;
}
.add-profession-dialog-app .add-profession-skill-entry.is-modified .add-profession-skill-label,
.add-profession-dialog-app .add-profession-skill-entry.is-modified .add-profession-skill-value {
color: var(--color-text-success, #2d8a3e);
}
.add-profession-dialog-app .add-profession-options-section {
margin-bottom: 0.75rem;
}
.add-profession-dialog-app .add-profession-option-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.35rem 0.75rem;
margin: 0 0 0.75rem;
padding: 0;
}
.add-profession-dialog-app .add-profession-option-row {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.25rem;
min-width: 0;
}
.add-profession-dialog-app .add-profession-option-row > label {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.35rem;
width: 100%;
min-width: 0;
}
.add-profession-dialog-app .add-profession-option-row .option-skill-label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
min-width: 0;
flex: 1 1 auto;
}
.add-profession-dialog-app .add-profession-option-row .option-typed-label {
width: 100%;
}
.add-profession-dialog-app .add-profession-bonus-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.5rem 0.75rem;
margin-bottom: 0.75rem;
}
.add-profession-dialog-app .add-profession-bonus-slot {
display: flex;
flex-direction: row;
align-items: center;
gap: 0.35rem;
min-width: 0;
}
.add-profession-dialog-app .add-profession-bonus-slot select {
flex: 0 1 11rem;
width: 11rem;
max-width: 42%;
min-width: 7rem;
}
.add-profession-dialog-app .add-profession-bonus-slot .bonus-typed-label {
flex: 1 1 0;
min-width: 5rem;
width: auto;
}
.add-profession-dialog-app .add-profession-bonus-slot .bonus-typed-label.hidden {
display: none;
}
.add-profession-dialog-app .cap-warning,
.add-profession-dialog-app .validation-error {
color: var(--color-text-error, #c00);
font-weight: bold;
margin: 0.25rem 0;
}
.add-profession-dialog-app .add-profession-bonds-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.75rem;
}
.add-profession-dialog-app .add-profession-bond-row {
display: grid;
grid-template-columns: auto 1fr 1fr 3.5rem;
gap: 0.35rem 0.5rem;
align-items: end;
min-width: 0;
}
.add-profession-dialog-app .add-profession-bond-row .bond-row-label {
font-weight: bold;
white-space: nowrap;
padding-bottom: 0.15rem;
}
.add-profession-dialog-app .add-profession-bond-field {
display: flex;
flex-direction: column;
gap: 0.15rem;
min-width: 0;
font-size: var(--font-size-12);
}
.add-profession-dialog-app .add-profession-bond-field-label {
white-space: nowrap;
}
.add-profession-dialog-app .add-profession-bond-field input {
width: 100%;
min-width: 0;
}
.add-profession-dialog-app .add-profession-bond-field-score input {
text-align: center;
}
.add-profession-dialog-app .form-footer {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: stretch;
gap: 0.5rem;
margin-top: 0.75rem;
}
.add-profession-dialog-app .form-footer > button {
flex: 1 1 0;
min-width: 0;
}
.deltagreen .profession-assigned-row {
margin-bottom: 0.75rem;
}
.pick-statistics-dialog-app .pick-statistics-intro {
margin: 0 0 0.5rem;
line-height: 1.4;
}
.pick-statistics-dialog-app .form-footer {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.5rem;
margin-top: 0.75rem;
}
.pick-statistics-dialog-app .form-footer > button[data-action="skip"] {
grid-column: 1 / -1;
}
.roll-stats-dialog-app .roll-stats-layout {
display: grid;
grid-template-columns: 1fr auto;
gap: 1rem;
align-items: start;
}
.roll-stats-dialog-app .roll-stats-pool-section {
min-width: 5.5rem;
}
.roll-stats-dialog-app .roll-stats-pool-hint {
margin: 0.75rem 0 0;
font-size: var(--font-size-12, 0.75rem);
text-align: center;
color: var(--color-text-dark-secondary, rgba(255, 255, 255, 0.65));
}
.roll-stats-dialog-app .roll-stats-pool {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
width: 3rem;
min-height: 3rem;
padding: 0.5rem;
border: 1px dashed var(--color-border-light-2, rgba(255, 255, 255, 0.25));
border-radius: 4px;
}
.roll-stats-dialog-app .roll-stats-pool.drag-over {
border-color: var(--color-border-highlight, #ff6400);
background: rgba(255, 100, 0, 0.08);
}
.roll-stats-dialog-app .roll-stat-token {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
padding: 0;
font-weight: bold;
font-size: var(--font-size-16, 1rem);
border: 1px solid var(--color-border-light-2, rgba(255, 255, 255, 0.25));
border-radius: 4px;
background: var(--color-bg-option, rgba(0, 0, 0, 0.15));
cursor: grab;
user-select: none;
box-sizing: border-box;
}
.roll-stats-dialog-app .roll-stat-token.is-dragging {
opacity: 0.5;
cursor: grabbing;
}
.roll-stats-dialog-app .roll-stats-assignment-section {
display: flex;
flex-direction: column;
gap: 0.35rem;
}
.roll-stats-dialog-app .roll-stat-row {
display: grid;
grid-template-columns: 3rem auto;
align-items: center;
gap: 0.75rem;
}
.roll-stats-dialog-app .roll-stat-label {
font-weight: bold;
}
.roll-stats-dialog-app .roll-stat-slot {
display: flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
flex: 0 0 auto;
padding: 0;
border: 1px dashed var(--color-border-light-2, rgba(255, 255, 255, 0.25));
border-radius: 4px;
box-sizing: border-box;
}
.roll-stats-dialog-app .roll-stat-slot.drag-over {
border-color: var(--color-border-highlight, #ff6400);
background: rgba(255, 100, 0, 0.08);
}
.roll-stats-dialog-app .roll-stat-slot .roll-stat-token {
cursor: grab;
width: 100%;
height: 100%;
}
.roll-stats-dialog-app .form-footer {
display: flex;
flex-direction: row;
gap: 0.5rem;
margin-top: 0.75rem;
}
.assign-stats-dialog-app .assign-stats-remaining {
margin: 0 0 0.75rem;
font-weight: bold;
}
.assign-stats-dialog-app .assign-stats-remaining.is-invalid {
color: var(--color-text-warning, #ff9200);
}
.assign-stats-dialog-app .assign-stats-rows {
display: flex;
flex-direction: column;
gap: 0.35rem;
}
.assign-stats-dialog-app .assign-stats-row {
display: grid;
grid-template-columns: 3rem 1fr;
align-items: center;
gap: 0.75rem;
}
.assign-stats-dialog-app .assign-stats-label {
font-weight: bold;
}
.assign-stats-dialog-app .assign-stats-row input {
width: 100%;
text-align: center;
}
.assign-stats-dialog-app .form-footer {
display: flex;
flex-direction: row;
gap: 0.5rem;
margin-top: 0.75rem;
}
.roll-stats-chat-table {
width: auto;
margin: 0 auto;
border-collapse: collapse;
}
.roll-stats-chat-table td {
padding: 0.35rem 1rem;
text-align: center;
font-weight: bold;
font-size: var(--font-size-16, 1rem);
border: 1px solid var(--color-border-light-2, rgba(255, 255, 255, 0.2));
}
.roll-stats-chat-table .roll-stats-chat-value {
min-width: 2rem;
}