Initial commit

This commit is contained in:
WBHarry 2025-05-22 16:53:39 +02:00
commit aa4021d1a2
163 changed files with 26530 additions and 0 deletions

562
styles/application.less Normal file
View file

@ -0,0 +1,562 @@
form.daggerheart.views.downtime { // Shouldn't be needed, but DEFAULT_OPTIONS doesn't accept Height: 'auto'
height: auto !important;
}
div.daggerheart.views.death-move { // Shouldn't be needed, but DEFAULT_OPTIONS doesn't accept Height: 'auto'
height: auto !important;
}
div.daggerheart.views.multiclass { // Shouldn't be needed, but DEFAULT_OPTIONS doesn't accept Height: 'auto'
height: auto !important;
}
.daggerheart.views {
&.levelup {
.levelup-title-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 32px;
margin-bottom: 4px;
.level-title {
text-decoration: underline;
}
.level-display {
display: flex;
align-items: center;
i {
margin: 0 @halfMargin;
}
}
}
.levelup-section {
display: flex;
align-items: flex-start;
margin-bottom: 8px;
font-size: 11px;
.levelup-container {
flex: 1;
&:nth-of-type(2) {
padding: 0 4px;
}
&.disabled {
opacity: 0.2;
}
.levelup-inner-container {
height: 700px;
padding: 24px 58px 0;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
.levelup-legend {
margin-left: auto;
margin-right: auto;
font-weight: bold;
z-index: 1;
}
.levelup-info {
background: @primaryAccent;
width: 100%;
text-align: center;
position: absolute;
top: -6px;
padding: 8px 0;
}
.levelup-pretext {
padding: 8px 0;
}
.levelup-body {
display: flex;
flex-direction: column;
.levelup-choice-row {
display: flex;
align-items: center;
padding: 4px;
.levelup-choice-row-inner {
display: flex;
align-items: center;
}
.levelup-choice-input-container {
position: relative;
display: flex;
align-items: center;
input {
&:disabled:checked::before {
opacity: 0.4;
color: var(--color-warm-1);
}
}
i.fa-link {
transform: rotate(45deg);
position: relative;
top: 2px;
margin: 0 -3px;
}
i.fa-lock {
position: absolute;
top: 0;
left: 0;
font-size: 8px;
}
}
}
}
.levelup-posttext {
padding: 8px 0;
}
}
}
}
}
.downtime-container {
.activity-container {
display: flex;
align-items: center;
padding: 8px;
.activity-title {
flex: 1;
display: flex;
align-items: center;
.activity-title-text {
font-size: 24px;
font-weight: bold;
}
.activity-image {
width: 120px;
border: 2px solid black;
border-radius: 50%;
margin-right: 8px;
cursor: pointer;
&:hover, &.selected {
filter: drop-shadow(0 0 6px gold);
}
}
.custom-name-input {
font-size: 24px;
font-weight: bold;
padding: 0;
background: transparent;
color: rgb(239, 230, 216);
}
}
.activity-body {
flex: 1;
font-style: italic;
}
}
}
&.downtime {
.activity-text-area {
resize: none;
}
}
.range-reset {
flex: 0;
width: 21px;
height: 21px;
margin: 3px 4px;
border: 1px solid black;
display: flex;
align-items: center;
justify-content: center;
}
&.roll-selection {
.roll-selection-container {
i {
filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%);
}
}
.roll-dialog-container {
.disadvantage, .advantage {
border: 2px solid @secondaryAccent;
border-radius: 6px;
display: flex;
align-items: center;
padding: 4px;
margin-bottom: 6px;
&.selected {
filter: drop-shadow(0px 0px 3px @mainShadow);
}
input {
border: 0;
}
button {
flex: 0;
border-radius: 50%;
height: 20px;
width: 20px;
display: flex;
align-items: center;
justify-content: center;
margin: 2px 0 2px 4px;
padding: 12px;
i {
margin: 0;
}
}
}
.roll-dialog-experience-container {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: @halfMargin;
.roll-dialog-chip {
border: @thinBorder solid black;
border-radius: 6px;
min-width: calc(33% - 2px);
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: @halfMargin;
cursor: pointer;
padding: @fullPadding;
background: grey;
overflow: hidden;
font-weight: bold;
&.hover {
filter: drop-shadow(0 0 3px @mainShadow);
}
span {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
&.selected {
background: green;
span {
filter: drop-shadow(0 0 3px @secondaryShadow);
}
}
}
}
.hope-container {
display: flex;
gap: @fullMargin;
align-items: center;
font-size: 18px;
}
}
}
&.npc-roll-selection {
.npc-roll-dialog-container {
display: flex;
flex-direction: column;
.selection-container {
display: flex;
align-items: center;
margin-bottom: @fullMargin;
.dice-container {
display: flex;
align-items: center;
flex: 1;
.dice-inner-container{
position: relative;
display: flex;
align-items: center;
i {
font-size: 18px;
}
img {
border: 0;
position: relative;
left: 1px;
}
.dice-number {
position: absolute;
top: calc(50% - 14px);
left: calc(50% - 7px);
font-size: 24px;
font-weight: bold;
}
}
}
}
.roll-dialog-experience-container {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
gap: @halfMargin;
flex: 2;
height: 100%;
.roll-dialog-chip {
border: @thinBorder solid black;
border-radius: 6px;
flex-basis: calc(50% - 2px);
display: flex;
align-items: center;
justify-content: space-between;
cursor: pointer;
padding: @fullPadding;
background: grey;
overflow: hidden;
&.hover {
filter: drop-shadow(0 0 3px @mainShadow);
}
span {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
&.selected i {
color: green;
}
}
}
}
}
&.multiclass {
.multiclass-container {
margin-bottom: @largeMargin;
.multiclass-category-title {
margin-top: @largeMargin;
}
.multiclass-class-choices {
display: flex;
width: 100%;
height: 100%;
flex-wrap: wrap;
}
.multiclass-spaced-choices {
display: flex;
justify-content: space-around;
width: 100%;
height: 100%;
}
.multiclass-class-choice {
display: flex;
align-items: center;
flex-basis: 33.33%;
font-weight: bold;
font-size: 24px;
cursor: pointer;
&.selected:not(.disabled), &:hover:not(.disabled) {
filter: drop-shadow(0 0 3px gold);
}
&.inactive, &.disabled {
cursor: initial;
opacity: 0.4;
}
img {
width: 80px;
height: 80px;
margin-right: @largeMargin;
}
}
}
}
&.damage-selection {
.hope-container {
display: flex;
gap: @fullMargin;
align-items: center;
font-size: 18px;
}
}
&.action {
.action-category {
display: flex;
flex-direction: column;
.action-category-label {
display: flex;
align-items: center;
justify-content: space-between;
border-radius: 6px;
cursor: pointer;
padding: 0 @fullPadding;
margin: 0 auto @halfMargin;
&:hover {
background-color: darkgray;
}
}
.action-category-data {
max-height: 0;
transition: max-height 0.2s ease-in-out;
overflow: hidden;
&.open {
max-height: initial;
}
}
}
}
&.ancestry-selection {
.ancestry-section {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: @fullMargin;
.ancestry-container {
width: 100%;
display: flex;
flex-wrap: wrap;
.ancestry-inner-container {
flex-basis: 25%;
display: flex;
flex-direction: column;
align-items: center;
.image-container {
img {
width: 120px;
border: 4px solid black;
border-radius: 50%;
&.selected {
border-color: @secondaryShadow;
}
&:hover:not(.selected) {
filter: drop-shadow(0 0 3px @secondaryShadow);
}
&.disabled {
opacity: 0.3;
}
}
}
.name-container {
div {
font-size: 18px;
font-weight: bold;
cursor: help;
}
}
}
}
.mixed-ancestry-container {
width: 100%;
display: flex;
gap: @fullMargin;
> div {
flex: 1;
}
.mixed-ancestry-name {
text-align: center;
div {
font-size: 24px;
}
}
.mixed-ancestry-images {
display: flex;
align-items: center;
gap: @halfMargin;
.mixed-ancestry-image {
position: relative;
max-width: 33%;
&:hover i {
opacity: 1;
}
i {
position: absolute;
font-size: 32px;
top: calc(50% - 20px);
left: calc(50% - 20px);
padding: @fullPadding;
background-color: grey;
opacity: 0;
cursor: pointer;
&:hover {
filter: drop-shadow(0 0 3px @secondaryShadow);
}
}
img {
max-width: 100%;
}
}
img {
max-width: 33%;
border: 4px solid black;
border-radius: 50%;
&.selected {
border-color: @secondaryShadow;
}
}
}
}
}
}
}

212
styles/chat.less Normal file
View file

@ -0,0 +1,212 @@
.daggerheart.chat {
&.downtime {
display: flex;
flex-direction: column;
align-items: center;
.downtime-title-container {
display: flex;
flex-direction: column;
align-items: center;
.downtime-subtitle {
font-size: 17px;
}
}
.downtime-image {
width: 80px;
}
.downtime-refresh-container {
margin-top: @fullMargin;
width: 100%;
.refresh-title {
font-weight: bold;
}
}
}
&.roll {
.dice-tooltip {
.dice-rolls {
display: flex;
align-items: center;
justify-content: space-around;
.dice-hope-container {
display: flex;
.roll.die:not(:last-of-type) {
margin-right: @fullMargin;
}
}
.modifiers-container {
display: flex;
.modifier-value:not(:last-of-type) {
margin-right: @fullMargin;
}
}
.roll.die {
&.hope {
color: white;
-webkit-text-stroke-color: @hope;
-webkit-text-stroke-width: 1.5px;
font-weight: 400;
}
&.fear {
color: white;
-webkit-text-stroke-color: @fear;
-webkit-text-stroke-width: 1.5px;
font-weight: 400;
}
&.disadvantage {
color: white;
-webkit-text-stroke-color: @disadvantage;
-webkit-text-stroke-width: 1.5px;
font-weight: 400;
}
&.advantage {
color: white;
-webkit-text-stroke-color: @advantage;
-webkit-text-stroke-width: 1.5px;
font-weight: 400;
}
//V1.3
// &.advantage {
// filter: drop-shadow(0 -4px 4px gold);
// cursor: pointer;
// }
&.unused {
opacity: 0.3;
}
}
.modifier-value {
text-align: center;
font-weight: bold;
font-size: 16px;
}
}
}
.dice-total {
.dice-total-value {
.hope {
color: @hope;
}
.fear {
color: @fear;
}
.critical {
color: @critical;
}
}
}
.dice-total-label {
font-size: 12px;
font-weight: bold;
font-variant: all-small-caps;
margin: -@fullMargin 0;
}
.target-section {
margin-top: 5px;
.target-container {
display: flex;
transition: all 0.2s ease-in-out;
&:hover {
filter: drop-shadow(0 0 3px @secondaryShadow);
border-color: gold;
}
&.hidden {
display: none;
border: 0;
}
&.hit {
background: @hit;
}
&.miss {
background: @miss;
}
img {
flex: 0;
width: 22px;
height: 22px;
margin-left: 8px;
align-self: center;
border-color: transparent;
}
.target-inner-container {
flex: 1;
display: flex;
justify-content: center;
margin-right: @hugeMargin;
}
}
}
.roll-damage-button {
margin-top: 5px;
}
}
&.domain-card {
display: flex;
flex-direction: column;
align-items: center;
.domain-card-title {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
div {
font-size: 20px;
font-variant: small-caps;
font-weight: bold;
}
h2 {
width: 100%;
text-align: center;
}
}
.ability-card-footer {
display: flex;
width: 100%;
margin-top: @fullMargin;
flex-wrap: wrap;
button {
border-radius: 6px;
background: @positive;
border-color: black;
flex-basis: calc(50% - 2px);
&:nth-of-type(n+3){
margin-top: @tinyMargin;
}
}
}
img {
width: 80px;
}
}
}

5
styles/class.less Normal file
View file

@ -0,0 +1,5 @@
.daggerheart.sheet.class {
.editor {
height: 500px;
}
}

45
styles/components.less Normal file
View file

@ -0,0 +1,45 @@
.slider-container {
position: relative;
background: lightslategray;
.slider-inner-container {
position: absolute;
top: 1px;
left: -60px;
background-color: inherit;
color: inherit;
border-radius: 30px;
cursor: pointer;
display: flex;
align-items: center;
height: 20px;
width: 40px;
padding: 0 4px;
border: @thinBorder solid black;
&:hover {
filter: drop-shadow(0 0 3px red);
}
input:checked {
opacity: 0;
width: 0;
height: 0;
& + .slider-icon {
transform: translateX(17px);
transition: 1s;
}
}
.slider-icon {
position: absolute;
left: 4px;
height: 15px;
width: 15px;
border-radius: 50%;
transition: 1s;
transform: translateX(0);
}
}
}

2613
styles/daggerheart.css Normal file

File diff suppressed because it is too large Load diff

132
styles/daggerheart.less Normal file
View file

@ -0,0 +1,132 @@
@import "./variables/variables.less";
@import "./class.less";
@import "./pc.less";
@import "./ui.less";
@import "./chat.less";
@import "./item.less";
@import "./application.less";
@import "./sheets//sheets.less";
@import "./components.less";
@import "./dialog.less";
@import "../node_modules/@yaireo/tagify/dist/tagify.css";
#logo {
content: url(../assets/DaggerheartLogo.webp);
height: 50px;
width: 50px;
position: relative;
left: 25px;
}
.daggerheart {
.vertical-separator {
border-left: 2px solid black;
height: 56px;
flex: 0;
align-self: center;
}
/* Flex */
.flex-centered {
display: flex;
align-items: center;
justify-content: center;
}
.flex-col-centered {
display: flex;
flex-direction: column;
align-items: center;
}
.flex-spaced {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
.flex-min {
display: flex;
flex: 0;
}
/****/
img[data-edit="img"] {
min-width: 64px;
min-height: 64px;
}
.editor {
height: 200px;
}
button {
i {
margin: 0;
}
}
.icon-button {
&.spaced {
margin-left: @halfMargin;
}
&.active {
filter: drop-shadow(0 0 3px @mainShadow);
&.secondary {
filter: drop-shadow(0 0 3px @secondaryShadow);
}
}
&.disabled {
opacity: 0.6;
}
&:hover:not(.disabled){
cursor: pointer;
filter: drop-shadow(0 0 3px @mainShadow);
&.secondary {
filter: drop-shadow(0 0 3px @secondaryShadow);
}
}
}
// .window-content {
// background: crimson;
// > form, >div {
// background: url(../ui/parchment.jpg) repeat;
// }
// }
}
#players {
h3 {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: nowrap;
.players-container {
display: flex;
align-items: center;
}
.fear-control {
font-size: 10px;
&.disabled {
opacity: 0.4;
}
&:hover:not(.disabled) {
cursor: pointer;
filter: drop-shadow(0 0 3px @mainShadow);
}
}
}
}

12
styles/dialog.less Normal file
View file

@ -0,0 +1,12 @@
.item-button {
&.checked {
background: green;
}
.item-icon {
opacity: 0;
transition: opacity 0.2s;
&.checked {
opacity: 1;
}
}
}

60
styles/item.less Normal file
View file

@ -0,0 +1,60 @@
.daggerheart.sheet {
&.feature {
background-color: red;
.editable {
display: flex;
flex-direction: column;
}
.sheet-body {
flex: 1;
display: flex;
flex-direction: column;
}
.feature-description {
flex: 1;
display: flex;
flex-direction: column;
}
}
&.class {
.class-feature {
display: flex;
img {
width: 40px;
}
button {
width: 40px;
}
}
}
.domain-card-description {
.editor {
height: 300px;
}
}
.item-container {
margin-top: @halfMargin;
gap: @halfMargin;
align-items: baseline;
}
.item-sidebar {
border-right: @thinBorder groove darkgray;
min-width: 160px;
flex: 0;
padding: @fullPadding;
label {
margin-right: @fullMargin;
font-weight: bold;
}
input[type="checkbox"] {
margin: 0;
}
}
}

1506
styles/pc.less Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,281 @@
.daggerheart.sheet.adversary {
.adversary-header-container {
position: relative;
background-color: grey;
display: flex;
.adversary-header {
flex: 1;
img {
height: 60px;
width: 60px;
}
.adversary-title {
display: flex;
align-items: center;
text-align: center;
font-size: 28px;
.title-text {
width: 100%;
}
input {
font-size: 28px;
border: 0;
height: 100%;
}
}
}
.adversary-toggle {
position: absolute;
top: 0;
right: 0;
background-color: white;
color: black;
flex: 0;
}
}
.motive-container {
background: lightgrey;
margin-bottom: @fullMargin;
padding-bottom: @fullPadding;
.motive-title {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
.motive-title-base {
font-size: 21px;
}
.motive-title-value {
font-style: italic;
position: relative;
top: 2px;
}
i {
margin-left: 4px;
cursor: pointer;
&:hover {
filter: drop-shadow(0 0 3px red),
}
}
}
}
.adversary-content-container {
display: flex;
align-items: baseline;
}
.adversary-statistics-container {
flex: 1;
margin-right: 24px;
display: flex;
flex-direction: column;
gap: @mediumMargin;
.statistic-title {
flex: 0;
white-space: nowrap;
font-weight: bold;
}
.statistic-row {
display: flex;
align-items: center;
.statistic-value {
flex: 0;
white-space: nowrap;
margin-left: 4px;
}
.adversary-roll {
border: 0;
width: 16px;
margin-left: 4px;
align-self: baseline;
transition: transform 0.2s;
&:hover {
transform: rotate(30deg);
filter: drop-shadow(0px 0px 3px red);
cursor: pointer;
}
}
}
.statistic-resource-container {
display: flex;
align-items: center;
label {
min-width: 44px;
}
.statistic-resource-inner-container {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: @halfMargin;
}
.resource-title {
align-self: center;
font-weight: bold;
}
.statistic-resource-input {
margin: 0;
flex: 0;
min-width: 16px;
}
}
.attack-container {
border: 1px solid black dotted;
}
.experience-row {
display: flex;
* {
flex: 0;
white-space: nowrap;
}
}
.experience-container {
i {
margin-left: 4px;
cursor: pointer;
&:hover {
filter: drop-shadow(0 0 3px red),
}
}
}
.experience-chip {
border: 2px solid @secondaryAccent;
border-radius: 6px;
display: flex;
align-items: center;
padding: 4px;
margin-bottom: 6px;
.experience-text {
flex: 1;
}
.experience-value {
flex: 0;
min-width: @inputSingleMinWidth;
margin: 0 4px;
}
.experience-button {
flex: 0;
border-radius: 50%;
height: 20px;
width: 20px;
display: flex;
align-items: center;
justify-content: center;
padding: 12px;
}
}
}
.adversary-damage-threshold-container {
input {
min-width: @inputSingleMinWidth;
}
}
.adversary-moves-container {
flex: 2.5;
.moves-title {
text-decoration: underline;
font-weight: bold;
}
.move-container {
cursor: pointer;
&:hover {
background: @hoverBackground;
}
.moves-name {
font-weight: bold;
text-decoration: none;;
}
.move-description {
p {
margin-top: 0;
}
}
}
.moves-edit-container {
i {
margin-left: 4px;
cursor: pointer;
&:hover {
filter: drop-shadow(0 0 3px red),
}
}
}
}
.chip-container {
display: flex;
align-items: center;
justify-content: space-between;
background: @primaryAccent;
padding: 8px;
border: 2px solid black;
border-radius: 6px;
&:not(:last-child) {
margin-bottom: 8px;
}
.chip-inner-container {
display: flex;
align-items: center;
img {
height: 40px;
width: 40px;
margin-right: 8px;
}
.chip-title {
font-size: 22px;
font-weight: bold;
font-style: italic;
}
}
button {
height: 40px;
width: 40px;
background: white;
}
}
}

119
styles/sheets/class.less Normal file
View file

@ -0,0 +1,119 @@
.daggerheart.sheet.class {
.guide {
.guide-section {
gap: @fullMargin;
}
.drop-section {
width: 100%;
legend {
margin-left: auto;
margin-right: auto;
font-size: 12px;
}
.drop-section-body {
min-height: 40px;
display: flex;
flex-direction: column;
align-items: center;
}
}
.trait-input {
text-align: center;
min-width: 24px;
}
.suggested-item {
padding: @smallPadding @fullPadding;
border-radius: 6px;
border: @thinBorder solid black;
background: @primaryAccent;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
&:not(:last-child) {
margin: @halfMargin;
}
img {
width: 30px;
}
div {
text-align: center;
}
i {
border-radius: 50%;
margin-right: 4px;
font-size: 11px;
}
}
.extra-section {
display: flex;
flex-direction: column;
align-items: center;
.extra-title {
font-size: 14px;
font-weight: bold;
}
.extra-input {
margin-bottom: @halfMargin;
}
}
}
.guide-section-title-centered {
font-weight: bold;
font-size: 18px;
}
.inventory-section {
width: 100%;
border: 2px solid black;
border-style: dotted;
min-height: 80px;
.inventory-title {
font-weight: bold;
font-size: 14px;
text-align: center;
}
}
.tagify {
background: var(--color-light-1);
border: 1px solid var(--color-border);
height: 34px;
width: 100%;
border-radius: 3px;
margin-right: 1px;
tag {
div {
display: flex;
justify-content: space-between;
align-items: center;
height: 22px;
span {
font-weight: 400;
}
img {
margin-left: 8px;
height: 20px;
width: 20px;
}
}
}
}
}

View file

@ -0,0 +1,6 @@
.daggerheart.sheet.heritage {
.editor {
height: 200px;
}
}

186
styles/sheets/sheets.less Normal file
View file

@ -0,0 +1,186 @@
@import "./heritage.less";
@import "./class.less";
@import "./adversary.less";
.daggerheart.sheet {
.title-container {
display: flex;
gap: @fullMargin;
div {
flex: 1;
align-items: baseline;
}
}
.editor-form-group {
display: flex;
flex-direction: column;
label {
font-weight: bold;
text-align: center;
}
}
.option-select {
position: absolute;
top: calc(50% - 10px);
right: 8px;
height: 20px;
width: 20px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
padding: 8px;
&.deeper {
right: 32px;
}
&:hover:not(:disabled) {
filter: drop-shadow(0px 0px 3px @mainShadow);
cursor: pointer;
}
i {
margin: 0;
font-size: 11px;
}
}
.ability-title {
width: 100%;
display: flex;
h2 {
flex: 1;
}
i {
cursor: pointer;
&:hover {
filter: drop-shadow(0px 0px 3px @mainShadow);
}
}
}
.ability-choices {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.ability-chip {
border: 2px solid @secondaryAccent;
border-radius: 6px;
display: flex;
align-items: center;
padding: 4px;
margin-bottom: 6px;
flex: calc(33% - 4px);
max-width: calc(33% - 4px);
&.selected {
filter: drop-shadow(0px 0px 3px @mainShadow);
}
&:nth-of-type(3n-1) {
margin-left: 6px;
margin-right: 6px;
}
input {
border: 0;
}
button {
flex: 0;
border-radius: 50%;
height: 20px;
width: 20px;
display: flex;
align-items: center;
justify-content: center;
margin: 2px 0 2px 4px;
padding: 12px;
i {
margin: 0;
}
}
}
.object-select-display {
position: relative;
width: calc(100% - 2px);
background: rgba(0, 0, 0, 0.05);
height: var(--form-field-height);;
display: flex;
border: 1px solid rgb(122, 121, 113);
border-radius: 3px;
.object-select-title {
position: absolute;
left: 4px;
text-align: center;
font-weight: bold;
text-transform: uppercase;
}
.object-select-text {
align-self: center;
}
.object-select-item {
cursor: pointer;
&:hover {
filter: drop-shadow(0px 0px 3px red);
}
}
}
.feature-container {
display: flex;
align-items: center;
justify-content: space-between;
background: @primaryAccent;
padding: 8px;
border: 2px solid black;
border-radius: 6px;
&:not(:last-child) {
margin-bottom: 8px;
}
.feature-inner-container {
display: flex;
align-items: center;
img {
height: 40px;
width: 40px;
margin-right: 8px;
}
.feature-title {
font-size: 22px;
font-weight: bold;
font-style: italic;
}
}
button {
height: 40px;
width: 40px;
background: inherit;
border: 0;
i {
}
}
}
}

72
styles/ui.less Normal file
View file

@ -0,0 +1,72 @@
.combat-sidebar {
.encounter-gm-resources {
flex: 0;
display: flex;
justify-content: center;
padding: @largePadding 0;
.gm-resource-controls {
display: flex;
flex-direction: column;
align-items: center;
padding: 0 4px;
justify-content: center;
}
.gm-resource-tools {
display: flex;
flex-direction: column;
justify-content: center;
padding: 0 5px 0 @fullPadding;
i {
margin: 0 @tinyMargin;
font-size: 16px;
&.disabled {
opacity: 0.6;
}
&:hover:not(.disabled) {
cursor: pointer;
filter: drop-shadow(0 0 3px @mainShadow);
}
}
}
.gm-resource {
background: rgba(255, 255, 255, 0.1);
padding: @fullPadding;
border-radius: 8px;
border: @normalBorder solid black;
font-size: 20px;
}
}
.token-action-tokens {
flex: 0 0 48px;
text-align: center;
.use-action-token {
&.disabled {
opacity: 0.6;
}
}
}
.icon-button {
&.spaced {
margin-left: @halfMargin;
}
&.disabled {
opacity: 0.6;
}
&:hover:not(.disabled){
cursor: pointer;
filter: drop-shadow(0 0 3px @mainShadow);
}
}
}

View file

@ -0,0 +1,24 @@
/* General */
@hope: #008080;
@fear: #430070;
@critical: #ffd700;
@advantage: green;
@disadvantage: #b30000;
@miss: rgb(255, 0, 0);
@hit: rgb(0, 128, 0);
@positive: #699969;
@negative: #ff7f7f;
@borderPrimary: #b5b3a4;
@borderTertiary: #7a7971;
/* Drop Shadows */
@mainShadow: red;
@secondaryShadow: gold;
/* Background */
@secondaryBackground: #7a7971;
@primaryAccent: #778899;
@secondaryAccent: #708090;
@formBackground: #782e22;
@hoverBackground: #2f4f4f40;

View file

@ -0,0 +1,26 @@
/* Base Value */
@distance: 8;
/* Margins */
@tinyMargin: (@distance / 4) * 1px;
@halfMargin: (@distance / 2) * 1px;
@fullMargin: @distance * 1px;
@mediumMargin: @distance * 1.5px; // Specific, but might be good?
@largeMargin: @distance * 2px;
@threeQuarterMargin: @distance * 3px; // Too specific? If not used a lot, possibly remove and just use @distance * 3px
@hugeMargin: @distance * 4px;
@massiveMargin: @distance * 8px;
/* Borders */
@thinBorder: 1px;
@normalBorder: 2px;
@thickBorder: 4px;
@normalRadius: 6px;
/* Padding */
@smallPadding: 2px;
@fullPadding: 4px;
@largePadding: 8px;
/* Inputs */
@inputSingleMinWidth: 26px;

View file

@ -0,0 +1,2 @@
@import "./colors.less";
@import "./values.less";