mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
1461 lines
30 KiB
CSS
1461 lines
30 KiB
CSS
/* top-level dialog */
|
|
.ui-dialog {
|
|
padding: 0px;
|
|
font-family: 'Proxima Nova', "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.ui-dialog .charsheet {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.ui-dialog input {
|
|
margin-top: 0;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
input::placeholder {
|
|
color: #aaa;
|
|
opacity: 1;
|
|
}
|
|
|
|
/* base Shadowdark sheet */
|
|
.sheet-sd {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: baseline;
|
|
background: white;
|
|
color: black;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.sheet-section {
|
|
margin: 0;
|
|
box-sizing: border-box;
|
|
padding: 0 4px;
|
|
}
|
|
|
|
/* flex-box / responsive layout */
|
|
|
|
/* rows */
|
|
.sheet-section-npc-identity,
|
|
.sheet-section-counters,
|
|
.sheet-section-pc-identity,
|
|
.sheet-section-options,
|
|
.sheet-toggler-options {
|
|
flex: 1 1 100%;
|
|
}
|
|
|
|
/* columns */
|
|
.sheet-section-roll-advantage,
|
|
.sheet-section-roll-whisper,
|
|
.sheet-section-npc-stats,
|
|
.sheet-section-pc-stats,
|
|
.sheet-section-actions,
|
|
.sheet-section-features,
|
|
.sheet-section-pc-gear {
|
|
flex: 1 0 50%;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body textarea.attr_atk_desc {
|
|
height: 200px;
|
|
min-height: 80px;
|
|
max-height: 300px;
|
|
}
|
|
|
|
.sd-row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
.sd-col {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-basis: 100%;
|
|
padding: 2px 0;
|
|
}
|
|
|
|
.sheet-section-pc-identity .sd-row,
|
|
.sheet-section-npc-identity .sd-row {
|
|
align-items: end;
|
|
}
|
|
|
|
.sheet-sd .sd-stat-item {
|
|
white-space: nowrap;
|
|
margin: 2px 0;
|
|
}
|
|
|
|
.sheet-sd .sd-stat-item input.sd-num,
|
|
.sheet-sd .sd-stat-item input.sd-text {
|
|
text-align: center;
|
|
font-family: inherit;
|
|
}
|
|
|
|
.sheet-sd .sd-stat-item input {
|
|
font-size: 14px;
|
|
font-family: unsert;
|
|
}
|
|
|
|
.sheet-sd .sd-stat-item label {
|
|
display: inline-block;
|
|
font-size: 14px;
|
|
margin: 2px 8px;
|
|
padding: 0;
|
|
}
|
|
|
|
.sd-core-stats {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
flex-direction: column;
|
|
height: 142px;
|
|
}
|
|
|
|
.sd-core-stat {
|
|
box-sizing: border-box;
|
|
border: 0;
|
|
margin: 2px 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.sd-core-stat input[type=text] {
|
|
border-color: #999;
|
|
}
|
|
|
|
/* (Shadow)dark mode ;) */
|
|
.sheet-darkmode .sheetform {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd {
|
|
color: white;
|
|
background: rgb(31, 31, 31);
|
|
}
|
|
|
|
/* Mutually exclusive visibility for PC (Crawler) vs NPC (Monster) sheet sections */
|
|
.sheet-toggle-npc[value="0"]~.sheet-type-npc {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-toggle-npc[value="0"]~.sheet-type-pc {
|
|
display: block;
|
|
}
|
|
|
|
.sheet-toggle-npc:not([value="0"])~.sheet-type-npc {
|
|
display: block;
|
|
}
|
|
|
|
.sheet-toggle-npc:not([value="0"])~.sheet-type-pc {
|
|
display: none;
|
|
}
|
|
|
|
/* NPC description box */
|
|
.sheet-toggle-npc-desc[value="0"]~.sd-npc-desc {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-toggle-npc-desc:not([value="0"])~.sd-npc-desc {
|
|
display: block;
|
|
}
|
|
|
|
.sheet-sd .sd-npc-desc textarea.sd-text {
|
|
height: 48px;
|
|
display: block;
|
|
max-width: 100%;
|
|
border: 1px dotted #999;
|
|
width: auto;
|
|
resize: vertical;
|
|
}
|
|
|
|
|
|
|
|
/* Pulp mode toggle */
|
|
.sheet-toggle-pulp-mode[value="0"]~.sheet-pulp-mode {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-toggle-pulp-mode:not([value="0"])~.sheet-pulp-mode {
|
|
display: inline-block;
|
|
}
|
|
|
|
/* Custom counters toggle */
|
|
.sheet-toggle-counters[value="0"]~.sheet-section-counters {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-toggle-counters:not([value="0"])~.sheet-section-counters {
|
|
display: inline-block;
|
|
}
|
|
|
|
/* headings */
|
|
.sheet-sd h1 {
|
|
line-height: 20px;
|
|
font-size: 13px;
|
|
background-color: rgba(11, 11, 11, 0.25);
|
|
color: #fafafa;
|
|
margin: 4px 0;
|
|
padding: 4px 8px;
|
|
text-transform: uppercase;
|
|
background-image: linear-gradient(to right, rgba(11, 11, 11, 1), rgba(11, 11, 11, 0));
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd h1 {
|
|
background-color: darkred;
|
|
color: #eee;
|
|
background-image: linear-gradient(to left, rgba(31, 31, 31, 1), rgba(31, 31, 31, 0));
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body h1 {
|
|
background-color: transparent;
|
|
font-size: 16px;
|
|
line-height: 20px;
|
|
margin: 0;
|
|
background-image: none;
|
|
color: #222;
|
|
padding-left: 0;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-form-body h1 {
|
|
color: #eee;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sheet-form-body button[type=roll] {
|
|
border-radius: 4px;
|
|
border: 1px solid green;
|
|
background-color: rgba(0, 50, 10, 0.5);
|
|
padding: 2px 16px;
|
|
width: auto;
|
|
margin: 2px 8px;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sheet-form-body button[type=roll]:hover,
|
|
.charsheet .sheet-sd .sheet-form-body button[type=roll]:active {
|
|
background-color: rgba(0, 200, 20, 0.5);
|
|
}
|
|
|
|
/* fields */
|
|
.sheet-sd input.sd-num,
|
|
.sheet-sd input.sd-text {
|
|
background-color: transparent;
|
|
border: 0;
|
|
border-bottom: 1px dotted #ccc;
|
|
border-radius: 0;
|
|
font-family: monospace;
|
|
margin: 0;
|
|
padding: 0;
|
|
color: #000;
|
|
}
|
|
|
|
.sheet-sd input.sd-text {
|
|
width: 95%;
|
|
min-width: 120px;
|
|
}
|
|
|
|
.sheet-sd input.sd-text.armor-type {
|
|
font-size: 11px;
|
|
min-width: 90px;
|
|
max-width: 90px;
|
|
text-align: left;
|
|
}
|
|
|
|
.sheet-sd textarea.sd-text {
|
|
background-color: transparent;
|
|
border-bottom: 1px solid #ccc;
|
|
border-radius: 0;
|
|
font-family: monospace;
|
|
margin: 0;
|
|
margin-bottom: 0.3em;
|
|
padding: 4px;
|
|
color: #000;
|
|
box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
min-width: 240px;
|
|
max-width: 450px;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd textarea.sd-text {
|
|
color: #fff;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd input.sd-num,
|
|
.sheet-darkmode .sheet-sd input.sd-text {
|
|
background-color: transparent;
|
|
color: #fafafa;
|
|
border-bottom: 1px dotted #aaa;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd input.sd-num::placeholder,
|
|
.sheet-darkmode .sheet-sd input.sd-text::placeholder {
|
|
color: #666;
|
|
}
|
|
|
|
span.sd-num,
|
|
span.sd-text {
|
|
font-family: inherit;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.sheet-sd input.sd-num {
|
|
width: 3em;
|
|
}
|
|
|
|
.sheet-sd .sd-coinage input {
|
|
margin-left: 4px;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
.sheet-sd .sd-coinage span {
|
|
margin-left: 4px;
|
|
vertical-align: top;
|
|
font-size: 12px;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
/* buttons */
|
|
.charsheet .sheet-sd button[type=roll] {
|
|
text-align: left;
|
|
vertical-align: middle;
|
|
background: none;
|
|
color: #111;
|
|
font-weight: bold;
|
|
border: 0;
|
|
border-radius: 0;
|
|
box-shadow: none;
|
|
text-shadow: none;
|
|
padding: 6px;
|
|
margin: 0;
|
|
font-size: 15px;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stat button[type=roll] {
|
|
display: block;
|
|
}
|
|
|
|
.sheet-darkmode .charsheet .sheet-sd button[type=roll] {
|
|
color: #ddd;
|
|
}
|
|
|
|
.charsheet .sheet-sd button[type=roll]:hover {
|
|
background-color: rgba(0, 0, 0, 0.10);
|
|
color: #000;
|
|
}
|
|
|
|
.sheet-darkmode .charsheet .sheet-sd button[type=roll]:hover {
|
|
color: #fff;
|
|
background-color: #333;
|
|
}
|
|
|
|
.charsheet .sheet-sd button[type=action] {
|
|
margin: 4px 0;
|
|
}
|
|
|
|
.sheet-darkmode .charsheet .sheet-sd button[type=action] {
|
|
color: #333;
|
|
margin: 4px 0;
|
|
}
|
|
|
|
.charsheet .sheet-sd button[type=roll]::before {
|
|
content: none;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stat button[type=roll]::after {
|
|
font-family: "dicefontd20";
|
|
content: "t";
|
|
color: rgb(189, 40, 40);
|
|
font-size: 18px;
|
|
text-transform: none;
|
|
margin-left: 8px;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stats .sd-core-stat button[type=roll] {
|
|
font-size: 14px;
|
|
padding: 2px;
|
|
vertical-align: middle;
|
|
display: inline-block;
|
|
width: 36px;
|
|
text-align: center;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stats .sd-core-stat button[type=roll]::after {
|
|
display: block;
|
|
text-align: center;
|
|
margin: 2px;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stats .sd-core-stat .sd-num {
|
|
font-size: 14px;
|
|
font-family: inherit;
|
|
vertical-align: baseline;
|
|
padding-bottom: 2px;
|
|
text-align: center;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stats .sd-core-stat .sd-num[type=text] {
|
|
width: 1.6em;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stats .sd-core-stat span.sd-num {
|
|
min-height: 32px;
|
|
min-width: 32px;
|
|
margin: 0 4px;
|
|
padding: 4px;
|
|
box-sizing: border-box;
|
|
border: 1px solid #999;
|
|
display: inline-block;
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* labels */
|
|
.sheet-sd label {
|
|
font-family: arial;
|
|
font-size: 11px;
|
|
line-height: 11px;
|
|
font-weight: bold;
|
|
margin: 0;
|
|
width: auto;
|
|
text-transform: uppercase;
|
|
color: #666;
|
|
}
|
|
|
|
label.sheet-form-checkbox {
|
|
display: inline-block;
|
|
white-space: normal;
|
|
}
|
|
|
|
.sheet-form-group .trait-name,
|
|
.sheet-form-group .trait-desc {
|
|
width: 100%;
|
|
min-width: 300px;
|
|
}
|
|
|
|
.sheet-form-group textarea.trait-desc {
|
|
height: 240px;
|
|
resize: vertical;
|
|
}
|
|
|
|
/* roll templates */
|
|
.sheet-roll-templates {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk,
|
|
.sheet-rolltemplate-atkdmg,
|
|
.sheet-rolltemplate-dmg,
|
|
.sheet-rolltemplate-simple,
|
|
.sheet-rolltemplate-traits {
|
|
color: black;
|
|
border: 3px solid black;
|
|
border-radius: 0;
|
|
background-color: white;
|
|
font-family: 'Nunito';
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-char-name,
|
|
.sheet-rolltemplate-atkdmg .sheet-char-name,
|
|
.sheet-rolltemplate-dmg .sheet-char-name,
|
|
.sheet-rolltemplate-simple .sheet-char-name,
|
|
.sheet-rolltemplate-traits .sheet-char-name {
|
|
background-color: #333;
|
|
text-align: center;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
padding: 2px 8px;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-info,
|
|
.sheet-rolltemplate-atkdmg .sheet-info,
|
|
.sheet-rolltemplate-dmg .sheet-info,
|
|
.sheet-rolltemplate-simple .sheet-info,
|
|
.sheet-rolltemplate-traits .sheet-info {
|
|
padding: 2px 8px;
|
|
color: #000;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-label,
|
|
.sheet-rolltemplate-atkdmg .sheet-label,
|
|
.sheet-rolltemplate-dmg .sheet-label,
|
|
.sheet-rolltemplate-simple .sheet-label,
|
|
.sheet-rolltemplate-traits .sheet-label {
|
|
text-align: center;
|
|
color: #000;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-label a,
|
|
.sheet-rolltemplate-atkdmg .sheet-label a {
|
|
background-color: #fff;
|
|
color: #000;
|
|
font-weight: bold;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-label a:hover,
|
|
.sheet-rolltemplate-atkdmg .sheet-label a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-roll-name,
|
|
.sheet-rolltemplate-atkdmg .sheet-roll-name,
|
|
.sheet-rolltemplate-dmg .sheet-roll-name,
|
|
.sheet-rolltemplate-simple .sheet-roll-name,
|
|
.sheet-rolltemplate-traits .sheet-trait-name {
|
|
text-align: center;
|
|
color: #333;
|
|
padding: 4px 8px;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sheet-rolltemplate-traits .sheet-trait-desc {
|
|
text-align: left;
|
|
padding: 2px 8px;
|
|
color: #000;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-result,
|
|
.sheet-rolltemplate-atkdmg .sheet-result,
|
|
.sheet-rolltemplate-dmg .sheet-result,
|
|
.sheet-rolltemplate-simple .sheet-result {
|
|
text-align: center;
|
|
color: #333;
|
|
padding: 2px 8px;
|
|
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-result div,
|
|
.sheet-rolltemplate-atkdmg .sheet-result div,
|
|
.sheet-rolltemplate-dmg .sheet-result div,
|
|
.sheet-rolltemplate-simple .sheet-result div {
|
|
display: inline-block;
|
|
}
|
|
|
|
.sheet-rolltemplate-darkmode .inlinerollresult,
|
|
.sheet-rolltemplate-darkmode .sheet-solo .inlinerollresult,
|
|
.sheet-rolltemplate-darkmode .sheet-damage .inlinerollresult,
|
|
.sheet-rolltemplate-darkmode .sheet-roll-used .inlinerollresult {
|
|
background-color: #111;
|
|
border: 4px solid #111;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .inlinerollresult,
|
|
.sheet-rolltemplate-atkdmg .inlinerollresult,
|
|
.sheet-rolltemplate-dmg .inlinerollresult,
|
|
.sheet-rolltemplate-simple .inlinerollresult {
|
|
font-size: 18px;
|
|
line-height: 22px;
|
|
background-color: #111;
|
|
padding: 4px;
|
|
color: #fff;
|
|
display: inline-block;
|
|
min-width: 22px;
|
|
min-height: 22px;
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
border: 4px solid #111;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .inlinerollresult.importantroll,
|
|
.sheet-rolltemplate-atkdmg .inlinerollresult.importantroll,
|
|
.sheet-rolltemplate-dmg .inlinerollresult.importantroll,
|
|
.sheet-rolltemplate-simple .inlinerollresult.importantroll {
|
|
background-color: #111;
|
|
border: 4px solid #111;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .inlinerollresult.fullcrit,
|
|
.sheet-rolltemplate-atkdmg .inlinerollresult.fullcrit,
|
|
.sheet-rolltemplate-dmg .inlinerollresult.fullcrit,
|
|
.sheet-rolltemplate-simple .inlinerollresult.fullcrit {
|
|
background-color: #111;
|
|
color: rgb(175, 255, 175);
|
|
border: 4px solid #111;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .inlinerollresult.fullfail,
|
|
.sheet-rolltemplate-atkdmg .inlinerollresult.fullfail,
|
|
.sheet-rolltemplate-dmg .inlinerollresult.fullfail,
|
|
.sheet-rolltemplate-simple .inlinerollresult.fullfail {
|
|
color: #fff;
|
|
background-color: rgb(138, 0, 0);
|
|
border: 4px solid rgb(138, 0, 0);
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-crit-success,
|
|
.sheet-rolltemplate-atkdmg .sheet-crit-success,
|
|
.sheet-rolltemplate-dmg .sheet-crit-success,
|
|
.sheet-rolltemplate-simple .sheet-crit-success,
|
|
.sheet-rolltemplate-atk .sheet-crit-fail,
|
|
.sheet-rolltemplate-atkdmg .sheet-crit-fail,
|
|
.sheet-rolltemplate-dmg .sheet-crit-fail,
|
|
.sheet-rolltemplate-simple .sheet-crit-fail {
|
|
display: block;
|
|
font-family: arial;
|
|
padding: 4px;
|
|
}
|
|
|
|
.sheet-rolltemplate-atk .sheet-roll-unused .inlinerollresult,
|
|
.sheet-rolltemplate-atkdmg .sheet-roll-unused .inlinerollresult,
|
|
.sheet-rolltemplate-dmg .sheet-roll-unused .inlinerollresult,
|
|
.sheet-rolltemplate-simple .sheet-roll-unused .inlinerollresult {
|
|
font-size: 15px;
|
|
background-color: #eee;
|
|
border-color: #fff;
|
|
color: #666;
|
|
}
|
|
|
|
/* don't color initiative (for roll20 bug that adds fullcrit/fullfail class even when using kl1/kh1) */
|
|
.sheet-rolltemplate-simple .sheet-roll-initiative .inlinerollresult,
|
|
.sheet-rolltemplate-simple .sheet-roll-initiative .inlinerollresult.fullcrit,
|
|
.sheet-rolltemplate-simple .sheet-roll-initiative .inlinerollresult.importantroll,
|
|
.sheet-rolltemplate-simple .sheet-roll-initiative .inlinerollresult.fullfail {
|
|
background-color: #111;
|
|
border: 4px solid #111;
|
|
color: #fff;
|
|
}
|
|
|
|
.message.error {
|
|
border: 2px solid red;
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 8px;
|
|
color: white;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.message.error div.spacer {
|
|
display: none;
|
|
}
|
|
|
|
/* PC sheets */
|
|
.sheet-sd .sheet-checkbox-cog:hover span {
|
|
color: #333;
|
|
color: #fff;
|
|
opacity: 1;
|
|
background-color: rgba(0, 0, 0, 0.9);
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-checkbox-cog:hover span {
|
|
color: #fff;
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
}
|
|
|
|
.sheet-sd .sheet-feature {
|
|
font-size: 11px;
|
|
padding: 2px 0;
|
|
}
|
|
|
|
.sheet-sd .sheet-feature .sheet-feature-name {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
text-align: left;
|
|
}
|
|
|
|
.sheet-sd .sheet-feature .sheet-feature-details {
|
|
text-align: left;
|
|
white-space: normal;
|
|
line-height: 11px;
|
|
margin-top: 4px;
|
|
text-transform: none;
|
|
font-size: 11px;
|
|
font-family: sans-serif;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.sheet-sd .sd-attacks {
|
|
white-space: nowrap;
|
|
margin-right: 46px;
|
|
}
|
|
|
|
.sheet-sd .sd-attacks button[type=roll] {
|
|
width: auto;
|
|
white-space: wrap;
|
|
}
|
|
|
|
/* display multiple lines of test for feature desc */
|
|
.charsheet .sheet-sd button[type=roll] span {
|
|
white-space: pre-wrap;
|
|
text-align: left;
|
|
}
|
|
|
|
/* repeaters AKA dynamic attributes */
|
|
.sheet-toggle:checked~.sheet-toggle-checked {
|
|
display: block;
|
|
}
|
|
|
|
.sheet-toggle:not(:checked)~.sheet-toggle-checked {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-sd .repcontainer.editmode .repitem .sheet-fieldset-item {
|
|
opacity: 0.3;
|
|
}
|
|
|
|
.sheet-sd .sheet-fieldset-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 18px;
|
|
}
|
|
|
|
.sheet-sd .sheet-fieldset-item> :last-child {
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.sheet-sd .sheet-section-templates {
|
|
display: none;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sheet-field-untoggle[value="1"]+* {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog:hover span {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Put absolute-positioned move/delete overlay for repeater items above other elements */
|
|
.sheet-sd .repcontainer .repitem .itemcontrol {
|
|
z-index: 9999;
|
|
}
|
|
|
|
.ui-dialog .charsheet .repcontainer .repitem .itemcontrol {
|
|
position: static;
|
|
height: auto;
|
|
min-height: 30px;
|
|
}
|
|
|
|
.ui-dialog .charsheet .repcontainer .repitem {
|
|
min-height: 30px;
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog {
|
|
display: inline-block;
|
|
height: 20px;
|
|
position: absolute;
|
|
align-self: flex-end;
|
|
width: 20px;
|
|
}
|
|
|
|
/* hide form edit buttons and feature details in Modify Mode (roll 20 uses .editmode class when repeater "Modify" is clicked) */
|
|
.sheet-sd .repcontainer.editmode .repitem .sheet-fieldset-item .sheet-checkbox-cog,
|
|
.sheet-sd .repcontainer.editmode .repitem .sheet-fieldset-item .sheet-feature-details {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-sd h1 .sheet-checkbox-cog {
|
|
right: 20px;
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog input {
|
|
height: 100%;
|
|
margin: 0;
|
|
opacity: 0;
|
|
position: relative;
|
|
width: 100%;
|
|
z-index: 1;
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog input:checked~span::before {
|
|
content: '2';
|
|
color: black;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-checkbox-cog input:checked~span::before {
|
|
color: #999;
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog:hover span {
|
|
color: #333;
|
|
background-color: rgba(255, 255, 255, 0.9);
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-checkbox-cog:hover span {
|
|
color: #fff;
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog:hover input:checked~span {
|
|
opacity: 1;
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog span {
|
|
align-items: normal;
|
|
border-radius: 50%;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
font-family: 'Pictos';
|
|
font-size: 20px;
|
|
height: 100%;
|
|
justify-content: flex-end;
|
|
left: 0;
|
|
opacity: 0.5;
|
|
color: #333;
|
|
position: absolute;
|
|
top: 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-checkbox-cog span {
|
|
color: #666;
|
|
}
|
|
|
|
.sheet-sd .sheet-checkbox-cog span::before {
|
|
content: 'y'; /* y = Pictos font Gear icon */
|
|
}
|
|
|
|
/* Sheet options button in top right */
|
|
.sheet-options-button {
|
|
position: absolute;
|
|
right: 8px;
|
|
top: -4px;
|
|
width: 24px;
|
|
height: 24px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sheet-options-button input {
|
|
width: 100%;
|
|
height: 100%;
|
|
opacity: 0;
|
|
position: absolute;
|
|
z-index: 1;
|
|
margin: 0;
|
|
}
|
|
|
|
.sheet-options-button span {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 16px;
|
|
background-color: rgba(255, 255, 255, 0.8);
|
|
border: 1px solid #999;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.sheet-options-button:hover span {
|
|
background-color: rgba(255, 255, 255, 0.9);
|
|
border-color: #333;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-options-button span {
|
|
background-color: rgba(0, 0, 0, 0.8);
|
|
border-color: #666;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-options-button:hover span {
|
|
background-color: rgba(0, 0, 0, 0.9);
|
|
border-color: #ccc;
|
|
}
|
|
|
|
.sheet-section-roll-advantage {
|
|
position: relative;
|
|
}
|
|
|
|
.sheet-sd .sheet-field-toggle:not([value])+*,
|
|
.sheet-sd .sheet-field-toggle[value=""]+*,
|
|
.sheet-sd .sheet-field-toggle[value="0"]+*,
|
|
.sheet-sd .sheet-field-toggle[value="hide"]+* {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-sd .sheet-field-untoggle[value="1"]+* {
|
|
display: none;
|
|
}
|
|
|
|
.sheet-sd .repcontrol {
|
|
min-height: 36px;
|
|
}
|
|
|
|
.sheet-sd .repcontrol .btn {
|
|
background: none;
|
|
border-radius: 0;
|
|
font-size: 9px;
|
|
font-weight: normal;
|
|
padding: 0 5px;
|
|
margin-right: 4px;
|
|
min-width: 32px;
|
|
background-color: transparent;
|
|
font-size: 11px;
|
|
font-family: sans-serif, Arial, Helvetica, sans-serif;
|
|
font-weight: normal;
|
|
box-shadow: none;
|
|
text-shadow: none;
|
|
border: 1px solid #666;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .repcontrol .btn {
|
|
color: #ccc;
|
|
border-color: #666;
|
|
}
|
|
|
|
.sheet-sd .repcontrol .btn.repcontrol_edit {
|
|
float: left;
|
|
}
|
|
|
|
.sheet-sd .repcontrol .btn.repcontrol_add {
|
|
float: left;
|
|
}
|
|
|
|
.sheet-sd .repcontrol .btn:hover {
|
|
background: #333;
|
|
color: #fff;
|
|
}
|
|
|
|
/* custom counters */
|
|
.custom-counter-item {
|
|
border: 1px solid rgb(131, 38, 38);
|
|
padding: 4px 6px 2px 6px;
|
|
display: inline-block;
|
|
border-radius: 3px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.sheet-darkmode .custom-counter-item:hover {
|
|
border-color: #000;
|
|
}
|
|
|
|
.sheet-darkmode .custom-counter-item:hover {
|
|
border-color: red;
|
|
}
|
|
|
|
.sheet-section-counters .repcontainer {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.ui-dialog .charsheet .sheet-section-counters .repcontainer .repitem {
|
|
display: inline-block;
|
|
margin: 4px 8px 4px 0px;
|
|
flex: 0 1 auto;
|
|
}
|
|
|
|
.ui-dialog .charsheet .sheet-section-actions .repcontainer .repitem,
|
|
.ui-dialog .charsheet .sheet-section-features .repcontainer .repitem {
|
|
position: inherit;
|
|
}
|
|
|
|
.ui-dialog .charsheet .custom-counter-item input {
|
|
padding: 2px;
|
|
border-radius: 0;
|
|
box-sizing: border-box;
|
|
background-color: transparent;
|
|
border: 0;
|
|
border-bottom: 1px dotted #ccc;
|
|
text-align: center;
|
|
color: #333;
|
|
width: 100%;
|
|
}
|
|
|
|
.sheet-darkmode .ui-dialog .charsheet .custom-counter-item input {
|
|
color: #ccc;
|
|
}
|
|
|
|
.charsheet .custom-counter-item input[type=text] {
|
|
font-size: 10px;
|
|
line-height: 10px;
|
|
border-color: transparent;
|
|
}
|
|
|
|
.charsheet .custom-counter-item input:active,
|
|
.charsheet .custom-counter-item input:focus,
|
|
.charsheet .custom-counter-item input:hover {
|
|
border-color: #aaa;
|
|
color: #000;
|
|
}
|
|
|
|
.sheet-darkmode .charsheet .custom-counter-item input:active,
|
|
.sheet-darkmode .charsheet .custom-counter-item input:focus,
|
|
.sheet-darkmode .charsheet .custom-counter-item input:hover {
|
|
color: #fff;
|
|
}
|
|
|
|
.ui-dialog .charsheet .custom-counter-item input[type=number],
|
|
.ui-dialog .charsheet .custom-counter-item input.sd-num[type=text] {
|
|
line-height: 1.1em;
|
|
font-size: 1.1em;
|
|
width: 3.5em;
|
|
display: inline-block;
|
|
font-family: unset;
|
|
margin: 0;
|
|
}
|
|
|
|
/* repeater edit forms - dialog styling */
|
|
.sheet-sd .sheet-toggle-checked {
|
|
border-radius: 5px;
|
|
background-color: #f8f9fa;
|
|
border: 2px solid #dee2e6;
|
|
border-radius: 0px;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
top: 0;
|
|
left: 0;
|
|
z-index: 10000;
|
|
height: 100%;
|
|
max-height: 100%;
|
|
overflow: auto;
|
|
margin: 0 auto;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
position: fixed;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-toggle-checked {
|
|
background-color: #2d3748;
|
|
border-color: #4a5568;
|
|
}
|
|
|
|
.sheet-sd .sheet-form {
|
|
padding: 20px;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-group {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-group label {
|
|
font-weight: 600;
|
|
color: #374151;
|
|
font-size: 12px;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-form-group label {
|
|
color: #e2e8f0;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body input[type=text],
|
|
.sheet-sd .sheet-form-body select,
|
|
.sheet-sd .sheet-form-body textarea {
|
|
font-size: 12px;
|
|
line-height: 1.4;
|
|
background-color: #fff;
|
|
border: 1px solid #d1d5db;
|
|
border-radius: 0px;
|
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body textarea {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-sd .sheet-form-body input[type=text],
|
|
.sheet-darkmode .sheet-sd .sheet-form-body select,
|
|
.sheet-darkmode .sheet-sd .sheet-form-body textarea {
|
|
background-color: #4a5568;
|
|
border-color: #718096;
|
|
color: #e2e8f0;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body input[type=text]:focus,
|
|
.sheet-sd .sheet-form-body select:focus,
|
|
.sheet-sd .sheet-form-body textarea:focus {
|
|
outline: none;
|
|
border-color: #3b82f6;
|
|
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body input[type=text],
|
|
.sheet-sd .sheet-form-body select {
|
|
height: auto;
|
|
min-height: 24px;
|
|
width: 100%;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-body textarea {
|
|
min-height: 80px;
|
|
resize: vertical;
|
|
width: 100%;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-group .sd-row {
|
|
align-items: flex-end;
|
|
gap: 12px;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-group .sd-row .sd-col {
|
|
flex: 1;
|
|
min-width: 0;
|
|
align-self: flex-start;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-group .sd-row input[type=text],
|
|
.sheet-sd .sheet-form-group .sd-row select {
|
|
max-width: none;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-group select {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-group span {
|
|
align-self: flex-end;
|
|
margin: 0 8px;
|
|
font-weight: 500;
|
|
line-height: 36px;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-checkbox {
|
|
flex-direction: row !important;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-checkbox input[type=checkbox] {
|
|
margin: 0;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
|
|
.sheet-sd .sheet-form-checkbox span {
|
|
line-height: 1.4;
|
|
margin: 0;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sheet-hidden {
|
|
display: none;
|
|
}
|
|
|
|
/* Radio buttons */
|
|
label.sheet-radio {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.sheet-radio input[type=radio] {
|
|
width: 0;
|
|
height: 0;
|
|
border:0;
|
|
margin: 0;
|
|
padding: 0;
|
|
display: none;
|
|
}
|
|
|
|
.sheet-radio span {
|
|
background-color: transparent;
|
|
padding: 2px 4px;
|
|
margin: 1px 4px 1px 0px;
|
|
border: 1px solid #999;
|
|
color: #666;
|
|
cursor: pointer;
|
|
line-height: 11px;
|
|
min-width: 96px;
|
|
text-align: center;
|
|
box-sizing: border-box;
|
|
display: inline-block;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-radio span {
|
|
color: #aaa;
|
|
}
|
|
|
|
.sheet-radio span:hover {
|
|
color: #000;
|
|
border-color: #333;
|
|
}
|
|
|
|
.sheet-darkmode .sheet-radio span:hover {
|
|
color: #fff;
|
|
border-color: #ccc;
|
|
}
|
|
|
|
.sheet-sd input[type=radio]:checked+span {
|
|
background-color: darkred;
|
|
color: #fff;
|
|
}
|
|
|
|
/* PC Stats */
|
|
.sheet-sd .sheet-section-pc-stats .section-title {
|
|
margin-right: 48px;
|
|
}
|
|
|
|
/* luck tokens */
|
|
.luck-tokens {
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.luck-tokens input[type=checkbox] {
|
|
cursor: pointer;
|
|
border-radius: 50%;
|
|
width: 1.2em;
|
|
height: 1.2em;
|
|
background-color: #333;
|
|
vertical-align: sub;
|
|
border: 2px solid #aaa;
|
|
appearance: none;
|
|
outline: none;
|
|
margin: 0 2px;
|
|
}
|
|
|
|
.luck-tokens input[type=checkbox]:checked {
|
|
background-color: gold;
|
|
border: 2px solid gold;
|
|
}
|
|
|
|
/* first (circle) "equipped" flag for spells and attacks (you can temporarily lose spells on failed checks) */
|
|
input[type=checkbox].atk-equipped {
|
|
cursor: pointer;
|
|
border-radius: 50%;
|
|
width: 1em;
|
|
height: 1em;
|
|
background-color: darkred;
|
|
vertical-align: middle;
|
|
border: 3px solid #aaa;
|
|
appearance: none;
|
|
outline: none;
|
|
}
|
|
|
|
input[type=checkbox].atk-equipped:checked {
|
|
background-color: seagreen;
|
|
border-color: seagreen;
|
|
}
|
|
|
|
/* second (triangle) "fixed" flag for spells and attacks - for broken weapons or forbidden spells which require penance, or whatever the player wants it to mean */
|
|
input[type=checkbox].atk-fixed {
|
|
cursor: pointer;
|
|
appearance: none;
|
|
outline: none;
|
|
border-radius: 0;
|
|
width: 1em;
|
|
height: 1em;
|
|
background-color: transparent;
|
|
vertical-align: middle;
|
|
border-left: 0.5em solid transparent;
|
|
border-right: 0.5em solid transparent;
|
|
border-top: 1em solid red; /* point down, like a sad debuff */
|
|
border-bottom: 0;
|
|
}
|
|
|
|
input[type=checkbox].atk-fixed:checked {
|
|
border-top: 0;
|
|
border-bottom: 1em solid silver; /* point up like a stabby little sword */
|
|
}
|
|
|
|
/* the fine print */
|
|
.sheet-sd .legal {
|
|
font-size: 11px;
|
|
color: #666;
|
|
}
|
|
|
|
.sheet-sd ol {
|
|
margin: 8px;
|
|
list-style-position: inside;
|
|
}
|
|
|
|
.sheet-sd .legal ul.sd-credits {
|
|
list-style: none;
|
|
font-size: 11px;
|
|
margin: 0;
|
|
}
|
|
|
|
.sd-gear-slots span {
|
|
display: inline-block;
|
|
min-width: 2em;
|
|
}
|
|
|
|
.sheet-sd .sd-gear-slots label {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.sheet-sd .sd-gear-slots input[type=text].sd-text {
|
|
min-width: 7em;
|
|
width: 90%;
|
|
}
|
|
|
|
/* hack to 'disable' gear slots which still leaves fields editable but indicates it is unusable (roll20 doesn't let you change disabled prop on inputs) */
|
|
.sd-gear-slots input[type=hidden][value="0"]~input[type=text] {
|
|
border-color: transparent;
|
|
background-color: #ccc;
|
|
color: #999;
|
|
}
|
|
|
|
.sheet-darkmode .sd-gear-slots input[type=hidden][value="0"]~input[type=text] {
|
|
background-color: transparent;
|
|
color: #666;
|
|
}
|
|
|
|
.sd-core-stats .sd-row {
|
|
align-items: end;
|
|
}
|
|
|
|
.sd-core-stats .sd-col {
|
|
padding-right: 8px;
|
|
}
|
|
|
|
.sd-core-stats .sd-core-stat {
|
|
margin: 0;
|
|
min-width: 130px;
|
|
}
|
|
|
|
.sd-core-stats input.sd-text {
|
|
width: 100%;
|
|
}
|
|
|
|
.sd-gear-noslots-screen textarea.sd-text {
|
|
min-height: 360px;
|
|
resize: none;
|
|
}
|
|
|
|
/* attempt to make sheet work on a phone */
|
|
@media (max-width: 550px) {
|
|
.sheet-section-npc-stats,
|
|
.sheet-section-pc-stats {
|
|
flex: 0 1 100%;
|
|
}
|
|
|
|
.sd-gear-noslots-screen textarea.sd-text {
|
|
min-height: 420px;
|
|
width: 100%;
|
|
}
|
|
|
|
/* Sheet options button in top right */
|
|
.sheet-options-button {
|
|
position: absolute;
|
|
right: 8px;
|
|
top: 8px;
|
|
width: 24px;
|
|
height: 24px;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 420px) {
|
|
.sd-row {
|
|
flex-direction: column;
|
|
align-items: unset;
|
|
}
|
|
|
|
.sheet-section-pc-identity .sd-row,
|
|
.sheet-section-npc-identity .sd-row {
|
|
align-items: normal;
|
|
}
|
|
|
|
.sheet-section-npc-stats,
|
|
.sheet-section-pc-stats,
|
|
.sheet-section-actions,
|
|
.sheet-section-features,
|
|
.sheet-section-pc-gear {
|
|
flex: 0 1 100%;
|
|
}
|
|
}
|
|
|
|
@media screen {
|
|
.sd-gear-noslots-screen {
|
|
display: block;
|
|
}
|
|
|
|
.sd-gear-noslots-print {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* mobile app struggles with dicefont, use emoji dice for now instead until I get images in place */
|
|
.charsheet .sheet-sd .sd-core-stat button[type=roll]::after {
|
|
font-family: Arial;
|
|
content: "roll";
|
|
font-size: 0.7em;
|
|
}
|
|
|
|
/* browser app (tab-content) struggles with injecting emojis via css; force dicefont until I get images in place */
|
|
#tab-content .charsheet .sheet-sd .sd-core-stat button[type=roll]::after {
|
|
font-family: "dicefontd20";
|
|
content: "t";
|
|
font-size: 22px;
|
|
}
|
|
|
|
@page {
|
|
size: letter portrait; /* specifies sheet will be printed on letter size in portrait orientation */
|
|
margin: 0.25in /* specifies a page margin of 0.25 inches */
|
|
}
|
|
|
|
@media print {
|
|
|
|
/* formatting fixes for print - remove toolbars and tabs, KIS */
|
|
|
|
.sheet-sd {
|
|
min-width: 720px;
|
|
max-width: 860px;
|
|
margin: 0;
|
|
border: 0;
|
|
padding: 0;
|
|
background-color: #fff;
|
|
color: #000;
|
|
}
|
|
|
|
.ui-dialog {
|
|
overflow: visible !important;
|
|
position: unset !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
background-color: #fff;
|
|
color: #000;
|
|
}
|
|
|
|
h1, label, input, span {
|
|
background-image: none !important;
|
|
background-color: #fff !important;
|
|
color: #000 !important;
|
|
font-size: 12px !important;
|
|
}
|
|
|
|
input.sd-text::placeholder {
|
|
display: none !important;
|
|
color: transparent !important;
|
|
}
|
|
|
|
.charsheet .sheet-sd .sd-core-stat button[type=roll]::after,
|
|
.sheet-sd .sheet-checkbox-cog span::before {
|
|
content: none;
|
|
display: none;
|
|
}
|
|
|
|
.sheet-sd h1 {
|
|
padding-left: 0;
|
|
font-size: 16px !important;
|
|
}
|
|
|
|
/* force showing the short form action/attack instead of the edit form*/
|
|
#edit-button,
|
|
#macrobar,
|
|
#macrobar_macros,
|
|
.macrobox,
|
|
.macrobox button,
|
|
.repcontrol,
|
|
.sheet-section-roll-whisper,
|
|
.sheet-section-roll-advantage,
|
|
.nav.nav-tabs,
|
|
.sd-gear-noslots-screen,
|
|
.sheet-toggle-checked,
|
|
.sheet-section-options,
|
|
.sheet-toggler-options {
|
|
display: none !important;
|
|
}
|
|
|
|
.sheet-toggle-unchecked {
|
|
display: block !important;
|
|
}
|
|
|
|
.sd-gear-noslots-print {
|
|
display: block;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.sheet-toggle-npc[value="1"]~.sd-gear-noslots-print {
|
|
display: none;
|
|
}
|
|
}
|