Files
roll20-character-sheets/ButterflyAspect/ButterflyAspect.sass
T
2024-07-01 18:38:59 +02:00

874 lines
18 KiB
Sass

$sizes: (full: 100%, threequarters: 75%, half: 50%, quarter: 25%)
$textdark: #373b44
$textlight: #C8C4BB
$borderdark: #373b44
$borderlight: #C8C4BB
$backgrounddark: #2b2b2b
$backgroundlight: #f5f5f5
@mixin grid($columns, $gap, $a_content: null, $j_content: null, $a_items: null, $j_items: null)
display: grid
grid-template-columns: $columns
grid-gap: $gap
@if $a_content != null
align-content: $a_content
@if $j_content != null
justify-content: $j_content
@if $a_items != null
align-items: $a_items
@if $j_items != null
justify-items: $j_items
.sheetform
background-color: transparent
.charsheet
color: $textdark
.container
width: 850px
padding: 0
margin: 0
button
color: $textdark
button[type="roll"]
width: auto
height: 24px
padding: 0
margin: 0
border-top-left-radius: 10px
border-bottom-right-radius: 10px
border-radius: unset
background-image: none
background-color: transparent
box-sizing: border-box
-moz-box-sizing: border-box
-webkit-box-sizing: border-box
input:not([type=checkbox])
background: transparent
width: 100%
border: 1px solid $borderlight
border-radius: 3px
input[type=number],
input[type=text].center
text-align: center
-moz-appearance: textfield
-webkit-appearance: textfield
textarea
background: transparent
margin: 0
width: 100%
height: 65px
resize: vertical
box-sizing: border-box
border: 1px solid $borderlight
border-radius: 3px
select
background: transparent
width: 100%
border: 1px solid $borderlight
border-radius: 3px
label
width: auto
color: $textdark
.options-flag,
.options-flag+span
position: absolute
top: -10px
left: -10px
.options-flag
opacity: 0
width: 16px
min-height: 16px
z-index: 2
&+span
white-space: nowrap
width: 16px
height: 16px
font-size: 16px
font-family: pictos
color: #bbb
cursor: pointer
margin-top: 0
display: none
&:not(:checked) ~ .hiddenBox,
&:not(:checked) ~ div .hiddenBox
display: none !important
.number-20
font-size: 20px
.float
float: left
box-sizing: border-box
width: 100%
margin: 4px 0
padding-right: 5px
@each $name, $percent in $sizes
.#{$name}
width: $percent
.break
clear: both
.textcenter
text-align: center
.formular
padding: 9px
margin-top: 15px
border: 1px solid $borderlight
border-radius: 3px
label
display: block
float: left
height: 20px
margin-top: -19px
margin-bottom: 0px
background: #fff
padding: 2px 5px 2px 5px
font-weight: normal
input
box-sizing: border-box
border: 0
.gridplace
&:not(.repcontrol)
select
border: none
margin: 0
input,
select,
button:not(.repcontrol_add):not(.repcontrol_edit):not(.repcontrol_del)
width: -webkit-fill-available
width: -moz-available
-webkit-box-shadow: none
-moz-box-shadow: none
box-shadow: none
.repitem,
.items
&:nth-child(even)
background: $backgroundlight
.repcontrol_move
float: left
.repcontrol_del
width: auto
.navigation
display: flex
flex-direction: row
justify-content: space-evenly
button
padding: calc(.5em + .45em) calc(.9em + .45em)
color: $textdark
background: conic-gradient(from 90deg at 3px 3px,#0000 90deg,$textdark 0) .45em .45em/calc(100% - 3px - 2*.45em) calc(100% - 3px - 2*.45em)
transition: .3s linear, color 0s, background-color 0s
font-size: 14px
border: 0
user-select: none
-webkit-user-select: none
touch-action: manipulation
.sheet-attribute_skills,
.sheet-weapons_mage,
.sheet-asects_inventory,
.sheet-xp
display: none
$buttons: (attribute_skills, weapons_mage, asects_inventory, xp)
@each $button in $buttons
.sheet-tabstoggle[value="#{$button}"] ~ div.sheet-#{$button}
display: block
.header
margin-bottom: 4px
padding: 2px 8px
background: black
color: white
font-weight: bold
border-top-left-radius: 10px
border-bottom-right-radius: 10px
span
text-transform: uppercase
.right
border: none
float: right
height: unset
color: #fff
font-size: 15px
text-shadow: none
text-transform: none
font-weight: normal
&.dice:before
content: "t"
padding-right: 5px
input
height: 21px
.head-logo
vertical-align: middle
.logo
height: 200px
.settings
margin-top: 20px
select
width: -webkit-fill-available
width: -moz-available
.head-info
.head-info-boxes
width: 100%
>div
&:first-child
height: 36px
input
width: 100%
box-sizing: border-box
textarea
height: 64px
border: none
.formular
margin-bottom: 5px
.attribute,
.extra
display: inherit
.attribute-stats,
.extra-stats
input
width: -webkit-fill-available
width: -moz-available
text-align: center
button
display: block
float: left
margin-top: -21px
background: var(--color-surface1)
padding: 2px 5px 2px 5px
color: $textdark
border: 1px solid $borderlight
border-radius: 3px
button[type="roll"]
&:before
content: ""
display: none
.attribute-stats
@include grid(197px 197px 197px, 5px 20px)
.extra-stats
@include grid(197px, 5px 20px)
.formular
.max
background: var(--color-surface1)
display: block
float: right
height: 26px
width: 50px !important
margin-top: -21px
margin-right: -5px
border: 1px solid
margin-top: -21px2
.skills
display: inherit
.grid
@include grid(530px 120px 60px 60px 55px, 5px)
>div
background-color: $backgroundlight
font-weight: bold
text-align: center
.gridplace
input
border: none
width: -webkit-fill-available
width: -moz-available
button[type="roll"]
border: none
width: -webkit-fill-available
width: -moz-available
.basicskills .items,
.repcontainer .repitem
@include grid(530px 120px 60px 60px 55px, 5px)
min-height: 40px
select
width: -webkit-fill-available
width: -moz-available
box-shadow: none
input.liketextarea
width: 845px
height: 26px
border: 1px solid $borderlight
border-radius: 3px
textarea
width: 845px
div
margin: auto 0
text-align: center
.status
position: relative
display: inherit
.repeat-stress,
.repeat-mana
display: none
input#checkbox-stress[value="1"] ~ .repeat-stress,
input#checkbox-mana[value="1"] ~ .repeat-mana
display: block
.header,
.repeat-wounds,
.repeat-stress,
.repeat-mana
position: relative
input.options-flag
width: auto
&:hover .options-flag+span
display: block
.sheet-status-row
&.wounds
@for $i from 1 through 10
input#attr_usable_wounds[value="#{$i}"] ~div.wounds:nth-child(n+#{$i + 3})
display: none
&.stress
@for $i from 1 through 10
input#attr_usable_stress[value="#{$i}"] ~div.stress:nth-child(n+#{$i + 3})
display: none
&.mana
@for $i from 1 through 20
input#attr_usable_mana[value="#{$i}"] ~div.mana:nth-child(n+#{$i + 2})
display: none
.settings
position: relative
display: flex !important
flex-direction: row
justify-content: space-evenly
input
position: absolute
top: -10px
left: -10px
opacity: 0
width: 16px
min-height: 16px
z-index: 2
label
color: red
user-select: none
width: min-content
input:checked+label
color: green
.sheet-status-row
@include grid(repeat(10, 9%), 1%)
.statusbox
position: relative
width: min-content
input[type="checkbox"]
display: none
& + label
&::before
width: 30px
height: 30px
display: block
content: " "
label
display: inline-block
width: 30px
height: 30px
font-size: 30px
line-height: 30px
background-color: transparent
cursor: pointer
margin: 0
padding: 0
label.value
position: absolute
top: 7px
left: 16px
font-size: 25px
width: auto
user-select: none
&.wounds
input[type="checkbox"]
& + label
&::before
background-image: url("https://codeberg.org/ButterflyAspect/roll20-character-sheet/raw/branch/develop/img/heart_full.png")
background-repeat: no-repeat
input[type="checkbox"]:checked
& + label
&::before
background-image: url("https://codeberg.org/ButterflyAspect/roll20-character-sheet/raw/branch/develop/img/heart_empty.png")
&.stress
input[type="checkbox"]
& + label
&::before
background-image: url("https://codeberg.org/ButterflyAspect/roll20-character-sheet/raw/branch/develop/img/face_happy.png")
background-repeat: no-repeat
input[type="checkbox"]:checked
& + label
&::before
background-image: url("https://codeberg.org/ButterflyAspect/roll20-character-sheet/raw/branch/develop/img/face-dizzy.png")
&.mana
input[type="checkbox"]
& + label
&::before
background-image: url("https://codeberg.org/ButterflyAspect/roll20-character-sheet/raw/branch/develop/img/mage_stick_violet.png")
background-repeat: no-repeat
input[type="checkbox"]:checked
& + label
&::before
background-image: url("https://codeberg.org/ButterflyAspect/roll20-character-sheet/raw/branch/develop/img/mage_stick.png")
.consequences
display: inherit
.grid
.repeat-consequences
@include grid(90px 325px, 5px)
.repcontainer
.repitem
.repeat-consequences
@include grid(90px 325px, 5px)
select:not(:hover)
-webkit-appearance: none
-moz-appearance: none
appearance: none
.weapons
display: inherit
.grid
@include grid(470px 120px 90px 90px 55px, 5px)
>div
background-color: $backgroundlight
font-weight: bold
text-align: center
.gridplace
input
border: none
width: -webkit-fill-available
width: -moz-available
button[type="roll"]
border: none
width: -webkit-fill-available
width: -moz-available
.repcontainer
.repitem
.repeat-weapon
@include grid(470px 120px 90px 90px 55px, 5px)
min-height: 40px
input.liketextarea
width: 845px
height: 26px
border: 1px solid $borderlight
border-radius: 3px
textarea
width: 845px
div
margin: auto 0
text-align: center
.repeat-weapon
input.options-flag
width: auto
&:hover .options-flag+span
display: block
.mage
display: inherit
input
border: none
button[type="roll"]
border: none
width: -webkit-fill-available
width: -moz-available
input
padding: 0
pointer-events: none
.grid
@include grid(500px 90px 90px 90px 55px, 5px)
>div
background-color: $backgroundlight
font-weight: bold
text-align: center
.gridplace
.repcontainer
.repitem
.repeat-mage
@include grid(500px 90px 90px 90px 55px, 5px)
min-height: 40px
input.options-flag
width: auto
&:hover .options-flag+span
display: block
div.hiddenBox
@include grid(165px 165px 165px 165px 165px, 5px)
grid-template-rows: auto
grid-template-areas: ". . . . ." "textarea textarea textarea textarea textarea"
#textarea
grid-area: textarea
input[type="checkbox"]
width: auto
float: left
input[name="attr_spelleffekt"]
width: calc(100% - 18px)
input[name="attr_spelleffekt_wiederstand"]
float: none
div
margin: auto 0
text-align: center
&#verbraucht
margin: auto auto
.aspects
display: inherit
.stunts
display: inherit
.repeat-stunt:hover .options-flag+span
display: block
.inventar
display: inherit
div[data-groupname=repeating_extras]
padding-top: 4px
input
width: 81px
input[name=attr_name]
width: 250px
input[name=attr_ruestungName]
width: 335px
.repeat-inv:hover .options-flag+span
display: block
.notes
display: inherit
.repeat-notes:hover .options-flag+span
display: block
.xp
display: inherit
.totalxp
display: grid
grid-auto-flow: column
grid-gap: 50px
input
width: 100%
text-align: end
.repcontainer
padding-top: 15px
.repitem
display: grid
grid-template-columns: 210px 50px 10px 210px 50px 10px 210px 50px
grid-gap: 5px
height: 40px
div
margin: auto 0
.brackets
border-left: 1px solid #aaa
border-right: 1px solid #aaa
border-radius: 12px
input
border: none
text-align: center
.version
text-align: right
.sheet-darkmode
input.readonly
cursor: not-allowed
button,
input,
optgroup,
select,
textarea,
.charsheet
color: #C8C4BB
.btn,
.btn.btn-default
color: $textlight
text-shadow: rgba(24, 26, 27, 0.75) 0px 1px 1px
background-color: $backgrounddark
background-image: linear-gradient(rgb(24, 26, 27), rgb(38, 41, 43))
border-color: rgb(62, 68, 70) rgb(62, 68, 70) rgb(67, 73, 76)
box-shadow: rgba(24, 26, 27, 0.2) 0px 1px 0px inset, rgba(0, 0, 0, 0.05) 0px 1px 2px
.sheetform
background-color: transparent
.charsheet
.container
button,
input,
optgroup,
select,
textarea
border-color: $borderdark
color: $textlight
.navigation
display: flex
flex-direction: row
justify-content: space-evenly
button
padding: calc(.5em + .45em) calc(.9em + .45em)
color: $textlight
background: conic-gradient(from 90deg at 3px 3px,#0000 90deg,$textlight 0) .45em .45em/calc(100% - 3px - 2*.45em) calc(100% - 3px - 2*.45em)
transition: .3s linear, color 0s, background-color 0s
.formular
border-color: $borderdark
label,
button
background-color: var(--dark-surface1)
color: $textlight
button
border-color: $borderdark
.gridplace
.repitem,
.items
&:nth-child(even)
background-color: $borderdark
.navigation
button
--color: $textlight
.skills,
.weapons,
.mage
.grid > div
background-color: $borderdark
.sheet-rolltemplate-butterfly
.sheet-container
background-color: #ffffff
border-top-left-radius: 10px
border-bottom-right-radius: 10px
width: 240px
.sheet-header
margin-bottom: 4px
padding: 2px 8px
background: black
color: white
font-weight: bold
border-top-left-radius: 10px
border-bottom-right-radius: 10px
span
text-transform: uppercase
.sheet-content
text-align: initial
p
line-height: 14px
&:last-child
margin: 0
div
padding: 5px
&:nth-child(even)
background: $backgroundlight
span
margin-left: 15px
font-weight: bold
.sheet-text
margin-left: 20px
font-weight: normal
.sheet-desc
grid-column: span 2
padding: 5px
text-align: center
span
right: unset
float: none
margin: 0
.inlinerollresult,
.sheet-fakeroll,
.sheet-spacer
background-color: transparent
border: none
position: relative
right: 30px
float: right
margin: 0
padding: 0
&.fullcrit
color: #3FB315
&.fullfail
color: #B31515
&.importandivoll
color: #4A57ED
&.sheet-rolltemplate-darkmode
.sheet-container
color: #EEE
background-color: var(--dark-surface1)
.sheet-content
border: solid 1px var(--dark-surface1)
border-top: none
div
&:nth-child(even)
background: var(--dark-surface2)