Files
roll20-character-sheets/Dragonslayer_Unofficial/DragonslayerSheet.css
T
2025-03-26 00:07:49 -04:00

1832 lines
32 KiB
CSS

/*Base character sheet styling */
.ds-character-sheet {
font-family: Arial, sans-serif;
color: #000;
padding: 0;
max-width: 800px;
margin: 0 auto;
background: white;
box-sizing: border-box;
font-size: 12px;
}
/* Main sheet layout */
.ds-sheet-container {
width: 100%;
padding: 10px;
box-sizing: border-box;
}
/* Header section styling */
.ds-sheet-header {
display: flex;
flex-direction: column;
margin-bottom: 15px;
}
.ds-logo-container {
text-align: center;
margin-bottom: 10px;
}
.ds-dragonslayer-logo {
font-size: 24px;
font-weight: bold;
margin: 0;
text-transform: uppercase;
}
.ds-subtitle {
text-align: center;
font-size: 14px;
}
.ds-character-info {
display: flex;
flex-direction: column;
gap: 3px;
}
.ds-info-row {
display: flex;
gap: 8px;
}
.ds-col-medium {
flex: 1;
/* Alignment and Deity */
}
.ds-col-tiny {
flex: 0.5;
min-width: 60px;
/* Age, Experience, Move, Attack Bonus */
}
.ds-col-small {
flex: 0.75;
/* Height and Weight */
}
.ds-full-width {
flex: 2;
/* Character Name and Languages */
}
.ds-col-large {
flex: 2;
/* Title */
}
/* Middle section (2 columns) */
.ds-middle-section {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
margin-bottom: 10px;
}
/* Container styles */
.ds-defense-container,
.ds-weapon-container {
padding: 6px;
display: flex;
flex-direction: column;
gap: 8px;
}
/* Section labels */
.ds-section-label {
font-weight: bold;
font-size: 14px;
margin-bottom: 3px;
}
/* HP row layout */
.ds-hp-row {
display: flex;
justify-content: space-between;
gap: 8px;
margin-bottom: 5px;
}
.ds-hp-item {
flex: 1;
}
.ds-hp-item label {
display: block;
margin-bottom: 3px;
font-size: 12px;
}
/* Input styling */
.ds-input {
width: 100%;
box-sizing: border-box;
height: 28px;
padding: 4px;
border-radius: 3px;
}
/* Weapon rows */
.ds-weapon-row {
display: grid;
grid-template-columns: 2fr 1fr 1fr 30px;
gap: 5px;
align-items: center;
}
.ds-weapon-name {
flex: 3;
}
.ds-dmg-field {
flex: 1;
min-width: 70px;
}
.ds-weapon-item {
margin-bottom: 8px;
}
.ds-weapon-item label {
display: block;
font-weight: bold;
margin-bottom: 3px;
}
/* Common input styling */
.ds-input {
width: 100%;
box-sizing: border-box;
height: 28px;
padding: 4px;
border-radius: 3px;
}
/* AC/HP Container */
.ds-ac-hp-container {
padding: 6px;
display: flex;
flex-direction: column;
gap: 8px;
}
.ds-ac-hp-container h4,
.ds-weapon-container h4 {
font-size: 14px;
text-align: center;
margin: 0 0 8px 0;
padding: 2px;
background-color: #f0f0f0;
}
/* AC Section */
.ds-ac-section {
text-align: center;
}
.ds-ac-section label {
display: block;
font-weight: bold;
}
.ds-large-input {
font-size: 18px;
text-align: center;
height: 30px;
margin: 5px 0;
width: 60px;
}
/* HP Section */
.ds-hp-section {
margin-top: 8px;
}
.ds-hp-section label {
display: block;
font-weight: bold;
}
.ds-hp-inputs {
display: flex;
justify-content: space-between;
gap: 8px;
}
.ds-hp-current,
.ds-hp-max {
display: flex;
align-items: center;
}
.ds-hp-current label,
.ds-hp-max label {
margin-right: 5px;
white-space: nowrap;
}
#ds-hit-die {
width: 48px;
}
/* Armor Description & Move */
.ds-armor-description label,
.ds-move-field label {
display: block;
font-size: 0.9em;
font-weight: bold;
}
/* Abilities and saves section */
.ds-abilities-saves-container {
display: grid;
grid-template-columns: 60% 40%;
gap: 8px;
margin-bottom: 10px;
}
.ds-abilities-container,
.ds-saves-container {
padding: 6px;
}
.ds-ability-row {
display: flex;
gap: 8px;
margin-bottom: 8px;
align-items: flex-start;
}
.ds-ability-box {
min-width: 60px;
text-align: center;
padding: 3px;
border-radius: 2px;
}
.ds-ability-box input {
text-align: center;
font-weight: bold;
font-size: 16px;
}
.ds-modifiers-col {
flex: 1;
display: flex;
flex-direction: column;
gap: 4px;
}
.ds-modifier-row {
display: flex;
justify-content: space-between;
align-items: center;
}
.ds-modifier-row label {
font-size: 11px;
flex: 3;
}
.ds-modifier-row input {
flex: 1;
min-width: 30px;
max-width: 50px;
}
.ds-saves-container {
display: flex;
flex-direction: column;
gap: 10px;
padding: 10px;
}
.ds-save-item {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 5px;
}
.ds-save-item label {
flex: 1;
margin-right: 10px;
font-weight: bold;
margin-left: 5px;
}
.ds-save-item input {
width: 50px;
margin-right: 5px;
margin-left: 5px;
}
/* THAC0 section */
.ds-thac-section {
padding: 6px;
margin-bottom: 10px;
}
.ds-thac-header {
display: grid;
grid-template-columns: repeat(11, 1fr);
gap: 2px;
margin-bottom: 3px;
text-align: center;
font-weight: bold;
}
.ds-thac-values {
display: grid;
grid-template-columns: repeat(11, 1fr);
gap: 2px;
}
.ds-thac-values input {
text-align: center;
padding: 2px;
}
/* Lower sections - 2 column layout */
.ds-lower-section {
display: flex;
flex-direction: column;
gap: 10px;
}
.ds-two-columns {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
margin-bottom: 10px;
}
.ds-equipment-section,
.ds-abilities-spells-section {
padding: 6px;
}
h3,
h4 {
font-size: 14px;
text-align: center;
margin: 0 0 8px 0;
padding: 2px;
background-color: #f0f0f0;
}
.ds-lined-area {
display: flex;
flex-direction: column;
gap: 3px;
}
.ds-lined-input {
width: 100%;
border: none;
margin-bottom: 2px;
padding: 2px 0;
font-size: 12px;
}
/* ===== CURRENCY AND TREASURE STYLING ===== */
/* Standard currency rows */
.ds-currency-row {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.ds-currency-row label {
font-weight: bold;
width: 40px;
display: inline-block;
}
/* Reset input styling to match equipment fields */
.ds-currency-row input[type="number"] {
width: 150px !important;
height: 28px !important;
padding: 4px !important;
border-radius: 3px !important;
background-color: white !important;
box-sizing: border-box !important;
flex: none !important;
}
/* Repeating treasure section */
.repcontainer[data-groupname="repeating_treasure"] .repitem {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 12px;
}
/* Treasure type field (left side) */
.repcontainer[data-groupname="repeating_treasure"] .repitem input[name$="treasure_type"] {
flex: 1;
height: 28px !important;
padding: 4px !important;
border-radius: 3px !important;
background-color: white !important;
}
/* Amount field (right side) */
.repcontainer[data-groupname="repeating_treasure"] .repitem input[name$="treasure_amount"] {
width: 150px !important;
height: 28px !important;
padding: 4px !important;
border-radius: 3px !important;
background-color: white !important;
flex: none !important;
}
/* Tables */
.ds-spell-table,
.ds-henchmen-table {
width: 100%;
border-collapse: collapse;
font-size: 11px;
}
.ds-spell-table th,
.ds-spell-table td,
.ds-henchmen-table th,
.ds-henchmen-table td {
padding: 2px;
text-align: center;
}
.ds-spell-table th,
.ds-henchmen-table th {
background-color: #f0f0f0;
}
/* Henchmen & Hirelings section */
.ds-henchmen-section {
margin-bottom: 20px;
}
.ds-henchmen-header {
display: flex;
align-items: center;
font-weight: bold;
background-color: #f0f0f0;
padding: 5px 0;
}
.ds-henchmen-row {
display: flex;
align-items: center;
margin-bottom: 5px;
}
.ds-henchmen-label {
flex: 1;
text-align: center;
}
.ds-henchmen-input {
flex: 1;
padding: 5px;
border: 1px solid #ccc;
border-radius: 4px;
text-align: center;
}
.ds-henchmen-input[name="attr_hench_level"],
.ds-henchmen-input[name="attr_hench_hp"],
.ds-henchmen-input[name="attr_hench_ac"] {
flex: 0.5;
}
/* General input styling */
label {
display: block;
font-weight: bold;
font-size: 11px;
margin-bottom: 2px;
}
input[type="text"] {
width: 100%;
padding: 2px;
box-sizing: border-box;
border-radius: 0;
}
input[type="checkbox"] {
margin: 0;
padding: 0;
}
/* Number input styling */
input[type="number"] {
width: 100%;
padding: 2px;
}
/* Hide number input spinners in most browsers */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* For Firefox */
input[type="number"] {
-moz-appearance: textfield;
}
/* Keep centered text for ability scores and other numeric values */
.ds-ability-box input[type="number"] {
text-align: center;
font-weight: bold;
font-size: 16px;
}
/* Ensure proper sizing for the large AC input */
.ds-large-input[type="number"] {
font-size: 18px;
text-align: center;
height: 30px;
margin: 5px 0;
}
/* Select element styling */
.ds-select {
width: 100%;
padding: 4px;
border-radius: 3px;
border: 1px solid #ccc;
background-color: white;
font-size: 12px;
height: 28px;
box-sizing: border-box;
appearance: none;
}
.ds-select:focus {
outline: none;
border-color: #666;
}
/* Abilities section styling */
.ds-abilities-section {
margin-top: 15px;
display: flex;
flex-direction: column;
gap: 8px;
}
.ds-ability-row {
display: flex;
padding: 5px;
}
.ds-ability-name-container {
width: 140px;
display: flex;
flex-direction: column;
padding-right: 10px;
}
.ds-ability-label {
font-size: 16px;
font-weight: bold;
margin-bottom: 5px;
}
.ds-ability-score {
width: 80px;
height: 30px;
text-align: center;
font-size: 16px;
}
.ds-ability-stats {
flex: 1;
display: flex;
flex-direction: column;
gap: 5px;
padding-left: 10px;
}
.ds-ability-stat {
display: flex;
justify-content: space-between;
align-items: center;
}
.ds-ability-stat label {
font-weight: normal;
}
.ds-ability-modifier {
width: 60px;
text-align: center;
margin-left: 5px;
}
/* Abilities and saving throws container */
.ds-abilities-container {
display: grid;
grid-template-columns: 3fr 1fr;
gap: 10px;
margin-top: 10px;
}
.ds-abilities-panel,
.ds-saves-panel {
background-color: #f5f5f0;
}
.ds-section-header {
text-align: center;
font-weight: bold;
padding: 3px 0;
}
/* Abilities table */
.ds-abilities-table {
width: 100%;
border-collapse: collapse;
}
.ds-ability-row {}
.ds-ability-row:last-child {
border-bottom: none;
}
.ds-ability-name {
width: 40px;
font-weight: bold;
font-size: 14px;
text-align: center;
padding: 5px;
}
.ds-ability-score-cell {
display: flex;
align-items: center;
width: 80px;
padding: 5px;
}
.ds-ability-score {
width: 40px;
height: 22px;
text-align: center;
font-size: 14px;
}
.ds-mods-cell {
display: flex;
flex-direction: row;
gap: 10px;
padding: 5px;
}
.ds-mod-item {
display: flex;
flex-direction: column;
}
.ds-mod-item label {
font-size: 11px;
margin-bottom: 2px;
}
.ds-mod-item input {
width: 100%;
height: 20px;
}
/* Saving throws grid */
.ds-save-grid {
display: grid;
grid-template-columns: auto 60px;
padding: 5px;
gap: 5px;
}
.ds-save-name {
text-align: right;
padding-right: 5px;
font-weight: bold;
align-self: center;
}
.ds-save-value {
width: 40px;
height: 22px;
text-align: center;
}
.ds-ability-roll:hover {
background-color: #d0d0d0;
}
.ds-dice-icon {
font-size: 10px;
font-weight: bold;
color: #444;
display: inline-block;
}
/* Intelligence with Roll Button */
.ds-ability-row:nth-child(2) .ds-ability-score-cell {
display: flex;
align-items: center;
width: 80px;
padding: 5px;
}
.ds-ability-row:nth-child(2) .ds-ability-score {
width: 40px;
height: 22px;
text-align: center;
font-size: 14px;
}
.ds-ability-row:nth-child(2) .ds-ability-roll {
margin-left: 5px;
}
/* Intelligence with Roll Button */
.ds-ability-row:nth-child(2) .ds-ability-roll:hover {
background-color: #d0d0d0;
}
/* Intelligence with Roll Button */
.ds-ability-row:nth-child(2) .ds-dice-icon {
font-size: 10px;
font-weight: bold;
color: #444;
display: inline-block;
}
/* Repeat for WIS, DEX, CON, and CHA with their respective attributes */
/* Roll Template for Ability Checks */
.sheet-rolltemplate-ds-ability-check .sheet-saving-throw-container {
border-radius: 5px;
background-color: #f9f9f9;
padding: 0;
font-family: "Arial", sans-serif;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
width: 100%;
max-width: 300px;
margin: 0 auto;
}
.sheet-rolltemplate-ds-ability-check .sheet-saving-throw-header {
background-color: #5c5c5c;
color: white;
padding: 5px 10px;
font-weight: bold;
font-size: 14px;
text-align: center;
}
.sheet-rolltemplate-ds-ability-check .sheet-saving-throw-content {
padding: 10px;
display: flex;
flex-direction: column;
align-items: center;
gap: 5px;
}
.sheet-rolltemplate-ds-ability-check .sheet-roll-result {
font-size: 16px;
font-weight: bold;
margin: 5px 0;
}
.sheet-rolltemplate-ds-ability-check .sheet-success {
color: #2c7a2c;
}
.sheet-rolltemplate-ds-ability-check .sheet-failure {
color: #c33;
}
.sheet-rolltemplate-ds-ability-check .sheet-dice-roll {
background-color: #eee;
border-radius: 3px;
padding: 3px 8px;
font-family: monospace;
font-size: 12px;
margin-top: 5px;
display: flex;
justify-content: space-between;
width: 100%;
}
.sheet-rolltemplate-ds-ability-check .sheet-dice-roll span {
background-color: #ffeb3b;
padding: 3px 8px;
border-radius: 3px;
}
/* Checkbox styling */
.ds-checkbox-row {
display: flex;
gap: 10px;
justify-content: center;
margin: 5px 0;
}
.ds-checkbox-row input[type="checkbox"] {
opacity: 0;
position: absolute;
}
.ds-checkbox-row input[type="checkbox"]+label {
display: inline-block;
width: 16px;
height: 16px;
background: #fff;
cursor: pointer;
}
.ds-checkbox-row input[type="checkbox"]:checked+label {
background: #666;
}
/* Radio button styling */
.ds-radio-group {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 5px;
margin-top: 5px;
}
.ds-radio-group input[type="radio"] {
opacity: 0;
position: absolute;
}
.ds-radio-group input[type="radio"]+label {
display: block;
text-align: center;
padding: 3px 0;
background: #f5f5f5;
cursor: pointer;
font-size: 11px;
}
.ds-radio-group input[type="radio"]:checked+label {
background: #666;
color: white;
}
/* Textarea styles */
.ds-textarea {
width: 100%;
min-height: 100px;
resize: vertical;
font-family: inherit;
box-sizing: border-box;
}
.ds-title-input {
width: 100%;
}
.sheet-rolltemplate-ds-save .sheet-saving-throw-container {
border-radius: 10px;
background-color: #f0f0f0;
padding: 0;
font-family: "Arial", sans-serif;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
width: 100%;
max-width: 400px;
margin: 0 auto;
overflow: hidden;
}
.sheet-rolltemplate-ds-save .sheet-saving-throw-header {
background-color: #f39c12;
/* Orange header */
color: white;
padding: 10px;
font-weight: bold;
font-size: 16px;
text-align: center;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.sheet-rolltemplate-ds-save .sheet-saving-throw-header-row {
display: flex;
justify-content: space-between;
}
.sheet-rolltemplate-ds-save .sheet-saving-throw-header-cell {
flex: 1;
text-align: right;
}
.sheet-rolltemplate-ds-save .sheet-saving-throw-content {
padding: 0;
}
.sheet-rolltemplate-ds-save .sheet-saving-throw-content-row {
display: flex;
justify-content: space-between;
background-color: #e6e6e6;
}
.sheet-rolltemplate-ds-save .sheet-check-label {
flex: 1;
font-weight: bold;
font-size: 16px;
background-color: #555;
color: white;
padding: 8px;
text-align: center;
}
.sheet-rolltemplate-ds-save .sheet-check-value {
flex: 1;
padding: 8px;
text-align: center;
}
.sheet-rolltemplate-ds-save .sheet-template-result {
padding: 15px 10px;
font-size: 18px;
font-weight: bold;
text-align: center;
}
.sheet-rolltemplate-ds-save .sheet-template-success {
background-color: #2c7a2c;
color: white;
}
.sheet-rolltemplate-ds-save .sheet-template-failure {
background-color: #a33;
color: white;
}
.sheet-rolltemplate-ds-save .sheet-template-result-description {
display: block;
font-size: 16px;
font-weight: normal;
margin-top: 5px;
}
.sheet-rolltemplate-ds-check .sheet-template-container {
border-radius: 10px;
background-color: #f0f0f0;
padding: 0;
font-family: "Arial", sans-serif;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
width: 100%;
max-width: 400px;
margin: 0 auto;
overflow: hidden;
}
.sheet-rolltemplate-ds-check .sheet-template-head {
background-color: #4aa1d2;
color: white;
padding: 8px;
font-weight: bold;
font-size: 16px;
text-align: left;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.sheet-rolltemplate-ds-check .sheet-template-head-row {
display: flex;
justify-content: space-between;
}
.sheet-rolltemplate-ds-check .sheet-template-head-cell-left {
flex: 1;
text-align: left;
padding: 4px;
}
.sheet-rolltemplate-ds-check .sheet-template-head-cell-right {
flex: 1;
text-align: right;
padding: 4px;
}
.sheet-rolltemplate-ds-check .sheet-template-body {
padding: 0;
}
.sheet-rolltemplate-ds-check .sheet-template-body-row {
display: flex;
justify-content: space-between;
background-color: #e6e6e6;
padding: 4px;
}
.sheet-rolltemplate-ds-check .sheet-check-label {
flex: 1;
font-size: 14px;
padding: 4px;
text-align: center;
}
.sheet-rolltemplate-ds-check .sheet-check-value {
flex: 1;
padding: 4px;
text-align: center;
}
.sheet-rolltemplate-ds-check .sheet-template-result {
padding: 10px 8px;
font-size: 16px;
font-weight: bold;
text-align: center;
}
.sheet-rolltemplate-ds-check .sheet-template-success {
background-color: #2c7a2c;
color: white;
}
.sheet-rolltemplate-ds-check .sheet-template-failure {
background-color: #a33;
color: white;
}
.sheet-rolltemplate-ds-check .sheet-template-result-description {
display: block;
font-size: 14px;
font-weight: normal;
margin-top: 5px;
}
.ds-equipment-header {
display: grid;
grid-template-columns: 60px 1fr 60px;
gap: 8px;
margin-bottom: 5px;
font-weight: bold;
}
/* Target the actual rendered elements */
.repcontainer[data-groupname="repeating_equipment"] .repitem {
display: grid;
grid-template-columns: 60px 1fr 60px;
gap: 8px;
margin-bottom: 5px;
}
/* Make inputs fill their containers */
.repcontainer[data-groupname="repeating_equipment"] .repitem input {
width: 100%;
box-sizing: border-box;
height: 28px;
padding: 4px;
border-radius: 3px;
}
/* Description field specific styling */
.repcontainer[data-groupname="repeating_equipment"] .repitem input[name$="item_description"] {
min-width: 100%;
}
/* Treasure headers */
.ds-treasure-header {
display: grid;
grid-template-columns: 1fr 80px;
gap: 8px;
margin-top: 10px;
margin-bottom: 5px;
font-weight: bold;
}
/* Target the actual rendered elements for treasure repeating section */
.repcontainer[data-groupname="repeating_treasure"] .repitem {
display: flex;
justify-content: space-between;
gap: 8px;
margin-bottom: 5px;
}
/* Make both types of inputs look exactly the same */
.repcontainer[data-groupname="repeating_treasure"] .repitem input,
.ds-currency-row input {
width: 100%;
box-sizing: border-box;
height: 28px;
padding: 4px;
border-radius: 3px;
}
/* Style the treasure type input to fill available space */
.repcontainer[data-groupname="repeating_treasure"] .repitem input[name$="treasure_type"] {
flex: 1;
}
/* Style the treasure amount input to match currency inputs */
.repcontainer[data-groupname="repeating_treasure"] .repitem input[name$="treasure_amount"] {
width: 150px;
/* Increased width to match */
}
/* Weapon header row */
.ds-weapon-header {
display: grid;
grid-template-columns: 2fr 1fr 1fr 30px;
gap: 5px;
}
.ds-weapon-name-header {
flex: 3;
font-weight: bold;
}
.ds-weapon-damage-header {
flex: 1;
min-width: 70px;
font-weight: bold;
}
/* THAC0 field */
.ds-thac0-field {
flex: 1;
min-width: 50px;
text-align: center;
}
/* Update weapon header for THAC0 */
.ds-weapon-thac0-header {
flex: 1;
min-width: 50px;
font-weight: bold;
text-align: center;
}
.ds-weapon-roll:hover {
background-color: #e0e0e0;
}
/* Attack roll template styling - copied from save template */
.sheet-rolltemplate-ds-attack .sheet-template-container {
border-radius: 10px;
background-color: #f0f0f0;
padding: 0;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
width: 100%;
max-width: 400px;
margin: 0 auto;
overflow: hidden;
}
.sheet-rolltemplate-ds-attack .sheet-template-head {
background-color: #aaaaaa;
color: white;
padding: 10px;
font-weight: bold;
font-size: 16px;
text-align: center;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.sheet-rolltemplate-ds-attack .sheet-template-head-row {
display: flex;
justify-content: space-between;
}
.sheet-rolltemplate-ds-attack .sheet-template-head-cell {
flex: 1;
text-align: center;
}
.sheet-rolltemplate-ds-attack .sheet-template-body {
padding: 0;
}
.sheet-rolltemplate-ds-attack .sheet-template-body-row {
display: flex;
justify-content: space-between;
background-color: #e6e6e6;
}
.sheet-rolltemplate-ds-attack .sheet-template-body-label {
flex: 1;
font-weight: bold;
font-size: 16px;
background-color: #555;
color: white;
padding: 8px;
text-align: center;
}
.sheet-rolltemplate-ds-attack .sheet-template-attack-image {
flex: 1;
padding: 8px;
text-align: center;
}
.sheet-rolltemplate-ds-attack .sheet-template-result {
padding: 15px 10px;
font-size: 18px;
font-weight: bold;
text-align: center;
}
.sheet-rolltemplate-ds-attack .sheet-template-success {
background-color: #2c7a2c;
color: white;
}
.sheet-rolltemplate-ds-attack .sheet-template-failure {
background-color: #a33;
color: white;
}
.sheet-rolltemplate-ds-attack .sheet-template-result-description {
display: block;
font-size: 16px;
font-weight: normal;
margin-top: 5px;
}
/* Thief Skills Section */
.ds-thief-skills-section {
display: none;
padding: 10px;
margin-bottom: 15px;
}
input.ds-show-thief-skills:checked~.ds-thief-skills-section {
display: block;
}
.ds-thief-skills-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
margin-top: 10px;
}
.ds-thief-skill {
display: flex;
align-items: center;
gap: 8px;
padding: 5px;
background-color: #f5f5f5;
border-radius: 4px;
}
.ds-thief-skill label {
flex: 2;
font-weight: bold;
font-size: 12px;
margin: 0;
}
.ds-thief-skill input[type="number"] {
width: 60px;
height: 24px;
text-align: center;
padding: 2px;
border-radius: 3px;
}
.ds-thief-skill button {
width: 24px;
height: 24px;
padding: 0;
border-radius: 3px;
background-color: #fff;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.ds-thief-skill button:hover {
background-color: #e0e0e0;
}
/* Abilities & Spells Section Styles */
.ds-abilities-list {
width: 100%;
margin-bottom: 1em;
}
.ds-ability-entry {
padding: 0.2em;
}
.ds-ability-roll-group {
display: flex;
align-items: center;
gap: 4px;
}
.ds-ability-name-input {
flex: 3;
min-width: 100px;
}
.ds-ability-dice {
flex: 1;
min-width: 4em;
}
.ds-ability-compare {
width: 3em;
}
.ds-ability-target {
width: 40px;
text-align: center;
}
/* Misc Features Section */
.ds-misc-features-box {
margin-top: 15px;
padding: 5px;
border-radius: 4px;
}
.ds-feature-desc {
width: 100%;
margin: 3px 0;
padding: 5px;
border-radius: 3px;
box-sizing: border-box;
}
/* Turn Undead Section */
.ds-turn-undead-section {
display: none;
margin-bottom: 8px;
}
input.ds-show-turn-undead:checked~.ds-turn-undead-section {
display: block;
}
.ds-ability-name-label {
flex: 3;
font-weight: bold;
padding: 4px;
min-width: 100px;
}
/* Turn Undead Template */
.sheet-rolltemplate-ds-turn .sheet-template-container {
border-radius: 5px;
overflow: hidden;
}
.sheet-rolltemplate-ds-turn .sheet-template-head {
background-color: #8B0000;
color: white;
padding: 8px;
font-weight: bold;
font-size: 16px;
text-align: left;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.sheet-rolltemplate-ds-turn .sheet-template-head-row {
display: flex;
justify-content: space-between;
}
.sheet-rolltemplate-ds-turn .sheet-turn-title,
.sheet-rolltemplate-ds-turn .sheet-turn-subtitle {
font-size: 16px;
text-align: left;
}
.sheet-rolltemplate-ds-turn .sheet-template-body {
background-color: white;
padding: 10px;
border-radius: 0 0 5px 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.sheet-rolltemplate-ds-turn .sheet-template-body-row {
display: flex;
justify-content: space-between;
padding: 4px;
}
.sheet-rolltemplate-ds-turn .sheet-turn-total,
.sheet-rolltemplate-ds-turn .sheet-turn-check,
.sheet-rolltemplate-ds-turn .sheet-turn-destroy {
font-size: 14px;
}
.sheet-rolltemplate-ds-turn .sheet-turn-total {
background-color: #f8f8f8;
}
.sheet-rolltemplate-ds-turn .sheet-turn-check {
background-color: #fff2cc;
}
.sheet-rolltemplate-ds-turn .sheet-turn-destroy {
background-color: #e6f3ff;
border: 1px solid #99ccff;
padding: 8px;
word-wrap: break-word;
white-space: normal;
line-height: 1.4;
}
.sheet-rolltemplate-ds-turn .inlinerollresult,
.sheet-rolltemplate-ds-turn .inlinerollresult.importantroll {
background-color: transparent !important;
border: none !important;
padding: 0 !important;
font-weight: bold;
color: inherit !important;
}
.ds-spells-per-day-box {
display: none;
}
.ds-show-spells:checked~.ds-spells-per-day-box {
display: block;
width: 100%;
overflow-x: auto;
}
input.ds-show-spells {
display: none;
}
.ds-spell-level-container {
display: none;
}
input.ds-show-spell-level {
display: none;
}
input.ds-show-spell-level:checked+.ds-spell-level-container {
display: block;
width: 100%;
overflow-x: auto;
}
.ds-spell-level-row {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
.ds-spell-level {
display: none;
}
input.ds-show-spell-level:checked+.ds-spell-level {
display: block;
flex: 1;
margin: 0 5px;
background-color: #f9f9f9;
padding: 10px;
border-radius: 5px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.ds-spell-level h4 {
text-align: center;
margin-bottom: 10px;
font-size: 14px;
color: #333;
}
.ds-spell-level-row span {
text-align: center;
}
.ds-spell-level-row input[type="number"] {
width: 100%;
text-align: center;
}
.ds-spell-level-row input[type="checkbox"] {
margin: 0 auto;
}
.ds-henchmen-label:nth-child(3),
/* Lvl. */
.ds-henchmen-label:nth-child(4),
/* HP */
.ds-henchmen-label:nth-child(5)
/* AC */
{
flex: 0.5;
}
/* Standardize font family and sizes */
body,
.ds-character-sheet {
font-family: Arial, sans-serif;
font-size: 12px;
}
h3,
h4,
.ds-section-label,
.ds-henchmen-label {
font-size: 14px;
font-weight: bold;
}
/* Standardize input box styling */
input[type="text"],
input[type="number"],
.ds-input,
.ds-henchmen-input {
height: 28px;
padding: 4px;
border-radius: 3px;
border: 1px solid #ccc;
background-color: white;
box-sizing: border-box;
}
/* Standardize background colors */
.ds-henchmen-header,
.ds-section-header,
h3,
h4 {
background-color: #f0f0f0;
}
/* Ensure consistent text alignment */
.ds-henchmen-label,
.ds-henchmen-input {
text-align: center;
}
select {
width: 100%;
padding: 4px;
border-radius: 3px;
border: 1px solid #ccc;
background-color: white;
font-size: 12px;
height: 28px;
box-sizing: border-box;
appearance: none;
vertical-align: middle;
margin: 0;
}
select:focus {
outline: none;
border-color: #666;
}
/* General template heading adjustments */
.sheet-template-head {
font-size: 16px;
/* Match Turn Undead template */
}
.sheet-rolltemplate-ds-save .sheet-saving-throw-header {
font-size: 16px;
/* Match Turn Undead template */
}
.sheet-rolltemplate-ds-attack .sheet-template-head {
font-size: 16px;
/* Match Turn Undead template */
}
.sheet-rolltemplate-ds-check .sheet-template-head {
font-size: 16px;
/* Match Turn Undead template */
}
/* Adjusted tab styling for closer grouping and left alignment */
.ds-tabs {
justify-content: flex-start;
padding-left: 10px;
}
.ds-tab-button {
margin: 0 2px;
}
.ds-tab-content-control:checked+.ds-tab-button {
background-color: #fff;
font-weight: bold;
border-color: #ccc #ccc #fff;
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
}
.ds-tab-content {
display: flex;
flex-direction: column;
height: 100%;
}
.ds-notes-input {
flex: 1;
resize: vertical;
padding: 10px;
margin: 0;
box-sizing: border-box;
}
.ds-spellbook-placeholder {
padding: 20px;
text-align: center;
font-size: 16px;
color: #666;
}
/* Hide radio buttons */
.ds-tab-radio {
display: none;
}
/* Style labels as buttons */
.ds-tab-button {
background-color: inherit;
border: none;
outline: none;
cursor: pointer;
padding: 10px 20px;
transition: background-color 0.3s;
font-size: 16px;
display: inline-block;
}
.ds-tab-button:hover {
background-color: #ddd;
}
/* Active tab styling */
.ds-tab-radio:checked+.ds-tab-button {
background-color: #ccc;
}
/* Show/hide tab content based on radio button state */
#character_tab:checked~#character,
#notes_tab:checked~#notes,
#spells_tab:checked~#spells {
display: block;
}
.ds-spell-levels {
display: none;
}
#prepare_spells_control:checked+.ds-spell-levels {
display: block;
}
.ds-prepared-spells-section {
display: none;
}
#prepared_spells_control:checked+.ds-prepared-spells-section {
display: block;
}
.ds-prepared-spell-label {
display: none;
}
.ds-tab-content {
display: none;
padding: 10px;
border: none;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
/* Hide the checkboxes used for tab control */
.ds-tab-radio,
.ds-tab-content-control {
display: none;
}
/* Show the tab content based on the checked state of the radio buttons */
input.ds-tab-content-control:checked+.ds-tab-content {
display: block;
}
/* Style the tab buttons to look selected when the corresponding checkbox is checked */
.ds-tab-content-control:checked+.ds-tab-button {
background-color: #ccc;
font-weight: bold;
border-bottom: 2px solid #666;
}
.ds-prepared-spells-row {
display: none;
}
input.ds-prepared-spell-checkbox:checked+.ds-prepared-spells-row {
display: flex;
align-items: center;
padding: 10px;
margin: 5px 0;
background-color: #f9f9f9;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.ds-prepred-spell-name,
.ds-prepred-spell-level,
.ds-prepred-spell-range,
.ds-prepred-spell-duration,
.ds-prepred-spell-description {
padding: 5px;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 3px;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}
.ds-prepred-spell-name {
flex: 2;
}
.ds-prepred-spell-level,
.ds-prepred-spell-range,
.ds-prepred-spell-duration {
flex: 1;
text-align: center;
}
.ds-prepred-spell-description {
flex: 3;
max-height: 60px;
overflow: auto;
}
.ds-prepared-spells-header {
display: flex;
align-items: center;
padding: 10px;
background-color: #f0f0f0;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
font-weight: bold;
}
.ds-prepared-spells-name-header {
flex: 2;
}
.ds-prepared-spells-level-header,
.ds-prepared-spells-range-header,
.ds-prepared-spells-duration-header {
flex: 1;
}
.ds-prepared-spells-description-header {
flex: 3;
}
.ds-prepared-spells-cleric {
display: none;
}
.ds-prepared-spells-druid {
display: none;
}
.ds-prepared-spells-illusionist {
display: none;
}
.ds-prepared-spells-magic-user {
display: none;
}
input.ds-show-prepared-spells-control:checked+.ds-prepared-spells-druid {
display: block;
}
input.ds-show-prepared-spells-control:checked+.ds-prepared-spells-illusionist {
display: block;
}
input.ds-show-prepared-spells-control:checked+.ds-prepared-spells-magic-user {
display: block;
}
input.ds-show-prepared-spells-control:checked+.ds-prepared-spells-cleric {
display: block;
}