diff --git a/World of Qualin/sheet.css b/World of Qualin/sheet.css index 7fb10e1901..9b3bcf87ce 100644 --- a/World of Qualin/sheet.css +++ b/World of Qualin/sheet.css @@ -1,538 +1,538 @@ -.charsheet { - --qualin-ink: #1d221a; - --qualin-muted: #596451; - --qualin-panel: #f5edd8; - --qualin-panel-strong: #ecdfc2; - --qualin-accent: #566b2f; - --qualin-accent-dark: #39471f; - --qualin-border: #b39b6b; - --qualin-shadow: rgba(31, 31, 20, 0.12); - --qualin-sky: #d9e4cf; - color: var(--qualin-ink); - font-family: Georgia, "Book Antiqua", serif; -} - -.charsheet .sheet-qualin { - background: - radial-gradient(circle at top right, rgba(86, 107, 47, 0.18), transparent 28%), - linear-gradient(180deg, #faf4e4 0%, #efe2c2 100%); - border: 1px solid var(--qualin-border); - border-radius: 18px; - box-shadow: 0 16px 30px var(--qualin-shadow); - margin: 0 auto; - max-width: 1180px; - padding: 18px; -} - -.charsheet .sheet-banner, -.charsheet .sheet-card, -.charsheet .sheet-columns, -.charsheet .sheet-grid, -.charsheet .sheet-attribute-grid, -.charsheet .sheet-repeating-top, -.charsheet .sheet-repeating-grid, -.charsheet .sheet-repeating-actions, -.charsheet .sheet-combat-actions, -.charsheet .sheet-notes-grid { - display: grid; - gap: 12px; -} - -.charsheet .sheet-banner { - align-items: end; - background: - linear-gradient(135deg, rgba(57, 71, 31, 0.94), rgba(86, 107, 47, 0.88)), - linear-gradient(180deg, rgba(245, 237, 216, 0.2), rgba(245, 237, 216, 0)); - border-radius: 16px; - color: #f6f0df; - grid-template-columns: minmax(0, 1fr) auto; - margin-bottom: 16px; - padding: 18px; -} - -.charsheet .sheet-kicker { - font-family: "Trebuchet MS", sans-serif; - font-size: 11px; - letter-spacing: 0.18em; - margin: 0 0 6px; - text-transform: uppercase; -} - -.charsheet .sheet-banner h1, -.charsheet .sheet-card-header h2, -.charsheet .sheet-skill-group h3 { - margin: 0; -} - -.charsheet .sheet-banner h1 { - font-size: 34px; - line-height: 1; -} - -.charsheet .sheet-subtitle, -.charsheet .sheet-card-header p { - margin: 0; -} - -.charsheet .sheet-banner-actions { - display: flex; - flex-wrap: wrap; - gap: 10px; - justify-content: flex-end; -} - -.charsheet .sheet-card { - background: rgba(255, 250, 238, 0.78); - border: 1px solid rgba(179, 155, 107, 0.9); - border-radius: 14px; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4); - margin-bottom: 14px; - padding: 14px; -} - -.charsheet .sheet-card-header { - border-bottom: 1px solid rgba(179, 155, 107, 0.5); - display: flex; - flex-direction: column; - gap: 4px; - margin-bottom: 12px; - padding-bottom: 8px; -} - -.charsheet .sheet-grid-identity { - grid-template-columns: repeat(4, minmax(0, 1fr)); -} - -.charsheet .sheet-columns { - grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.95fr); - align-items: start; -} - -.charsheet .sheet-primary-column, -.charsheet .sheet-secondary-column { - min-width: 0; -} - -.charsheet .sheet-attribute-grid { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.charsheet .sheet-attribute { - background: linear-gradient(180deg, rgba(217, 228, 207, 0.72), rgba(236, 223, 194, 0.88)); - border: 1px solid rgba(86, 107, 47, 0.22); - border-radius: 12px; - padding: 12px; -} - -.charsheet .sheet-attribute-top { - align-items: center; - display: grid; - gap: 10px; - grid-template-columns: 1fr 90px; - margin-bottom: 10px; -} - -.charsheet .sheet-attribute-name { - font-size: 18px; - font-weight: 700; -} - -.charsheet .sheet-grid-derived { - grid-template-columns: repeat(3, minmax(0, 1fr)); -} - -.charsheet .sheet-wide-field { - grid-column: 1 / -1; -} - -.charsheet .sheet-skill-group { - margin-bottom: 14px; -} - -.charsheet .sheet-skill-group h3 { - border-left: 4px solid var(--qualin-accent); - font-size: 15px; - margin-bottom: 8px; - padding-left: 8px; -} - -.charsheet .sheet-skill-row { - align-items: center; - display: grid; - gap: 8px; - grid-template-columns: 92px minmax(140px, 1fr) 70px 70px; - margin-bottom: 6px; -} - -.charsheet .sheet-skill-specialization { - grid-template-columns: 92px minmax(110px, 1fr) minmax(100px, 1fr) 70px 70px; -} - -.charsheet .sheet-combat-actions { - grid-template-columns: repeat(2, minmax(0, 1fr)); - margin-bottom: 12px; -} - -.charsheet .sheet-repeating-item { - background: rgba(236, 223, 194, 0.5); - border: 1px solid rgba(179, 155, 107, 0.7); - border-radius: 12px; - margin-bottom: 10px; - padding: 10px; -} - -.charsheet .sheet-repeating-top { - grid-template-columns: 1.4fr repeat(3, minmax(0, 0.7fr)); - margin-bottom: 10px; -} - -.charsheet .sheet-repeating-grid { - grid-template-columns: repeat(2, minmax(0, 1fr)); - margin-bottom: 10px; -} - -.charsheet .sheet-repeating-actions { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.charsheet .sheet-recharge-flag { - display: none; -} - -.charsheet .sheet-recharge-flag[value="0"] ~ .sheet-recharge-button { - display: none; -} - -.charsheet .sheet-ability-effect-field { - grid-column: 1 / -1; -} - -.charsheet .sheet-ability-effect-field textarea { - min-height: 4.8em; -} - -.charsheet .sheet-notes-grid { - display: grid; - gap: 12px; - grid-template-columns: repeat(2, 1fr); - margin-bottom: 16px; -} - -.charsheet .sheet-card-header h2 { - font-size: 20px; - margin-bottom: 8px; -} - -.charsheet label { - display: flex; - flex-direction: column; - gap: 4px; -} - -.charsheet span { - font-family: "Trebuchet MS", sans-serif; - font-size: 11px; - font-weight: 700; - letter-spacing: 0.05em; - text-transform: uppercase; -} - -.charsheet input[type="text"], -.charsheet input[type="number"], -.charsheet select, -.charsheet textarea { - background: rgba(255, 252, 245, 0.96); - border: 1px solid rgba(86, 107, 47, 0.28); - border-radius: 10px; - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06); - box-sizing: border-box; - color: var(--qualin-ink); - font-family: Georgia, "Book Antiqua", serif; - font-size: 14px; - min-height: 34px; - padding: 6px 8px; - width: 100%; -} - -.charsheet input[disabled] { - background: rgba(217, 228, 207, 0.54); - color: var(--qualin-accent-dark); - font-weight: 700; -} - -.charsheet input[readonly], -.charsheet textarea[readonly] { - background: rgba(217, 228, 207, 0.54); - color: var(--qualin-accent-dark); - font-weight: 700; -} - -.charsheet textarea { - min-height: 86px; - resize: vertical; -} - -.charsheet button[type="roll"] { - background: linear-gradient(180deg, #687f39 0%, #425123 100%); - border: 0; - border-radius: 999px; - box-shadow: 0 6px 14px rgba(57, 71, 31, 0.24); - color: #f8f3e4; - font-family: "Trebuchet MS", sans-serif; - font-size: 12px; - font-weight: 700; - letter-spacing: 0.05em; - margin: 0; - padding: 8px 12px; - text-shadow: none; - text-transform: uppercase; -} - -.charsheet button[type="roll"]:hover { - background: linear-gradient(180deg, #728c3d 0%, #4a5b28 100%); -} - -.charsheet .repcontrol { - margin-top: 8px; -} - -.charsheet .repcontrol .btn { - background: var(--qualin-panel-strong); - border: 1px solid var(--qualin-border); - border-radius: 999px; - color: var(--qualin-accent-dark); - font-family: "Trebuchet MS", sans-serif; - font-weight: 700; - padding: 4px 10px; -} - -.charsheet .sheet-is-npc { - left: -9999px; - position: absolute; -} - -.charsheet .sheet-mode-toggle { - margin-bottom: 12px; -} - -.charsheet .sheet-toggle-pill { - align-items: center; - background: rgba(255, 250, 238, 0.85); - border: 1px solid rgba(86, 107, 47, 0.35); - border-radius: 999px; - cursor: pointer; - display: inline-flex; - gap: 10px; - padding: 6px 14px; -} - -.charsheet .sheet-toggle-pill strong { - font-family: "Trebuchet MS", sans-serif; - font-size: 11px; - letter-spacing: 0.07em; - text-transform: uppercase; -} - -.charsheet .sheet-toggle-pill .sheet-toggle-mode { - background: linear-gradient(180deg, #687f39 0%, #425123 100%); - border-radius: 999px; - color: #f8f3e4; - font-family: "Trebuchet MS", sans-serif; - font-size: 11px; - padding: 4px 10px; -} - -.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode { - background: linear-gradient(180deg, #5d4a2a 0%, #3f3019 100%); -} - -.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode::after { - content: ""; -} - -.charsheet .sheet-is-npc:not(:checked) ~ .sheet-npc-sheet { - display: none; -} - -.charsheet .sheet-is-npc:checked ~ .sheet-pc-sheet { - display: none; -} - -.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode { - font-size: 0; -} - -.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode::before { - content: "NPC"; - font-size: 11px; -} - -.charsheet .sheet-npc-sheet { - margin: 0 auto; - max-width: 860px; -} - -.charsheet .sheet-npc-statblock { - background: #d8d3bf; - border: 2px solid #216f31; - border-radius: 0; - padding: 0; -} - -.charsheet .sheet-npc-row { - border-top: 2px solid #216f31; - padding: 0; -} - -.charsheet .sheet-npc-row:first-child { - border-top: 0; -} - -.charsheet .sheet-npc-row input, -.charsheet .sheet-npc-row textarea { - background: transparent; - border: 0; - border-radius: 0; - box-shadow: none; - font-family: Georgia, "Book Antiqua", serif; - padding: 4px 8px; -} - -.charsheet .sheet-npc-row textarea { - min-height: 68px; - resize: vertical; -} - -.charsheet .sheet-npc-row-title input { - font-size: 30px; - font-weight: 700; - line-height: 1.1; - min-height: 44px; - padding: 8px; -} - -.charsheet .sheet-npc-row label { - align-items: center; - display: grid; - gap: 8px; - grid-template-columns: auto minmax(0, 1fr); - padding: 4px 8px; -} - -.charsheet .sheet-npc-row-paired { - display: grid; - gap: 0; - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.charsheet .sheet-npc-row-paired label:first-child { - border-right: 2px solid #216f31; -} - -.charsheet .sheet-npc-divider { - background: #d3cfba; - border-top: 2px solid #216f31; - font-family: "Trebuchet MS", sans-serif; - font-size: 18px; - font-weight: 700; - letter-spacing: 0.02em; - line-height: 1; - padding: 6px 8px; - text-transform: none; -} - -.charsheet .sheet-npc-ability-list { - margin: 0; - padding: 0; -} - -.charsheet .sheet-npc-ability-item { - border-top: 2px solid #216f31; - display: grid; - gap: 0; - grid-template-columns: minmax(180px, 0.38fr) minmax(0, 0.62fr); - padding: 0; -} - -.charsheet .sheet-npc-ability-name { - border-right: 2px solid #216f31; - display: grid; - gap: 4px; - padding: 4px; -} - -.charsheet .sheet-npc-ability-name input[type="text"]:first-child { - font-size: 26px; - font-weight: 700; - min-height: 40px; -} - -.charsheet .sheet-npc-ability-name input[type="text"]:last-child { - font-size: 12px; - font-style: italic; - min-height: 22px; - padding-top: 0; - text-transform: lowercase; -} - -.charsheet .sheet-npc-ability-text { - padding: 4px; -} - -.charsheet .sheet-npc-ability-text textarea { - min-height: 86px; -} - -.charsheet .sheet-npc-ability-meta { - border-top: 2px solid #216f31; - display: grid; - gap: 6px; - grid-column: 1 / -1; - grid-template-columns: repeat(6, minmax(0, 1fr)); - padding: 6px; -} - -.charsheet .sheet-npc-ability-meta input, -.charsheet .sheet-npc-ability-meta select { - background: rgba(255, 252, 245, 0.86); - border: 1px solid rgba(33, 111, 49, 0.5); - border-radius: 6px; - font-family: "Trebuchet MS", sans-serif; - font-size: 11px; - min-height: 26px; - padding: 4px 6px; - text-transform: uppercase; -} - -.charsheet .sheet-npc-ability-rolls { - border-top: 2px solid #216f31; - display: grid; - gap: 8px; - grid-column: 1 / -1; - grid-template-columns: repeat(3, minmax(0, 1fr)); - padding: 6px; -} - -.charsheet .sheet-npc-helper-row { - border-top: 2px solid #216f31; - display: grid; - gap: 6px; - grid-template-columns: repeat(3, minmax(0, 1fr)); - padding: 6px; -} - -.charsheet .sheet-npc-helper-row label { - display: flex; - flex-direction: column; - gap: 4px; - padding: 0; -} - -.charsheet .sheet-npc-helper-rolls { - border-top: 2px solid #216f31; - display: grid; - gap: 8px; - grid-template-columns: repeat(2, minmax(0, 1fr)); - padding: 6px; -} - +.charsheet { + --qualin-ink: #1d221a; + --qualin-muted: #596451; + --qualin-panel: #f5edd8; + --qualin-panel-strong: #ecdfc2; + --qualin-accent: #566b2f; + --qualin-accent-dark: #39471f; + --qualin-border: #b39b6b; + --qualin-shadow: rgba(31, 31, 20, 0.12); + --qualin-sky: #d9e4cf; + color: var(--qualin-ink); + font-family: Georgia, "Book Antiqua", serif; +} + +.charsheet .sheet-qualin { + background: + radial-gradient(circle at top right, rgba(86, 107, 47, 0.18), transparent 28%), + linear-gradient(180deg, #faf4e4 0%, #efe2c2 100%); + border: 1px solid var(--qualin-border); + border-radius: 18px; + box-shadow: 0 16px 30px var(--qualin-shadow); + margin: 0 auto; + max-width: 1180px; + padding: 18px; +} + +.charsheet .sheet-banner, +.charsheet .sheet-card, +.charsheet .sheet-columns, +.charsheet .sheet-grid, +.charsheet .sheet-attribute-grid, +.charsheet .sheet-repeating-top, +.charsheet .sheet-repeating-grid, +.charsheet .sheet-repeating-actions, +.charsheet .sheet-combat-actions, +.charsheet .sheet-notes-grid { + display: grid; + gap: 12px; +} + +.charsheet .sheet-banner { + align-items: end; + background: + linear-gradient(135deg, rgba(57, 71, 31, 0.94), rgba(86, 107, 47, 0.88)), + linear-gradient(180deg, rgba(245, 237, 216, 0.2), rgba(245, 237, 216, 0)); + border-radius: 16px; + color: #f6f0df; + grid-template-columns: minmax(0, 1fr) auto; + margin-bottom: 16px; + padding: 18px; +} + +.charsheet .sheet-kicker { + font-family: "Trebuchet MS", sans-serif; + font-size: 11px; + letter-spacing: 0.18em; + margin: 0 0 6px; + text-transform: uppercase; +} + +.charsheet .sheet-banner h1, +.charsheet .sheet-card-header h2, +.charsheet .sheet-skill-group h3 { + margin: 0; +} + +.charsheet .sheet-banner h1 { + font-size: 34px; + line-height: 1; +} + +.charsheet .sheet-subtitle, +.charsheet .sheet-card-header p { + margin: 0; +} + +.charsheet .sheet-banner-actions { + display: flex; + flex-wrap: wrap; + gap: 10px; + justify-content: flex-end; +} + +.charsheet .sheet-card { + background: rgba(255, 250, 238, 0.78); + border: 1px solid rgba(179, 155, 107, 0.9); + border-radius: 14px; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4); + margin-bottom: 14px; + padding: 14px; +} + +.charsheet .sheet-card-header { + border-bottom: 1px solid rgba(179, 155, 107, 0.5); + display: flex; + flex-direction: column; + gap: 4px; + margin-bottom: 12px; + padding-bottom: 8px; +} + +.charsheet .sheet-grid-identity { + grid-template-columns: repeat(4, minmax(0, 1fr)); +} + +.charsheet .sheet-columns { + grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.95fr); + align-items: start; +} + +.charsheet .sheet-primary-column, +.charsheet .sheet-secondary-column { + min-width: 0; +} + +.charsheet .sheet-attribute-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.charsheet .sheet-attribute { + background: linear-gradient(180deg, rgba(217, 228, 207, 0.72), rgba(236, 223, 194, 0.88)); + border: 1px solid rgba(86, 107, 47, 0.22); + border-radius: 12px; + padding: 12px; +} + +.charsheet .sheet-attribute-top { + align-items: center; + display: grid; + gap: 10px; + grid-template-columns: 1fr 90px; + margin-bottom: 10px; +} + +.charsheet .sheet-attribute-name { + font-size: 18px; + font-weight: 700; +} + +.charsheet .sheet-grid-derived { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} + +.charsheet .sheet-wide-field { + grid-column: 1 / -1; +} + +.charsheet .sheet-skill-group { + margin-bottom: 14px; +} + +.charsheet .sheet-skill-group h3 { + border-left: 4px solid var(--qualin-accent); + font-size: 15px; + margin-bottom: 8px; + padding-left: 8px; +} + +.charsheet .sheet-skill-row { + align-items: center; + display: grid; + gap: 8px; + grid-template-columns: 92px minmax(140px, 1fr) 70px 70px; + margin-bottom: 6px; +} + +.charsheet .sheet-skill-specialization { + grid-template-columns: 92px minmax(110px, 1fr) minmax(100px, 1fr) 70px 70px; +} + +.charsheet .sheet-combat-actions { + grid-template-columns: repeat(2, minmax(0, 1fr)); + margin-bottom: 12px; +} + +.charsheet .sheet-repeating-item { + background: rgba(236, 223, 194, 0.5); + border: 1px solid rgba(179, 155, 107, 0.7); + border-radius: 12px; + margin-bottom: 10px; + padding: 10px; +} + +.charsheet .sheet-repeating-top { + grid-template-columns: 1.4fr repeat(3, minmax(0, 0.7fr)); + margin-bottom: 10px; +} + +.charsheet .sheet-repeating-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + margin-bottom: 10px; +} + +.charsheet .sheet-repeating-actions { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.charsheet .sheet-recharge-flag { + display: none; +} + +.charsheet .sheet-recharge-flag[value="0"] ~ .sheet-recharge-button { + display: none; +} + +.charsheet .sheet-ability-effect-field { + grid-column: 1 / -1; +} + +.charsheet .sheet-ability-effect-field textarea { + min-height: 4.8em; +} + +.charsheet .sheet-notes-grid { + display: grid; + gap: 12px; + grid-template-columns: repeat(2, 1fr); + margin-bottom: 16px; +} + +.charsheet .sheet-card-header h2 { + font-size: 20px; + margin-bottom: 8px; +} + +.charsheet label { + display: flex; + flex-direction: column; + gap: 4px; +} + +.charsheet span { + font-family: "Trebuchet MS", sans-serif; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.05em; + text-transform: uppercase; +} + +.charsheet input[type="text"], +.charsheet input[type="number"], +.charsheet select, +.charsheet textarea { + background: rgba(255, 252, 245, 0.96); + border: 1px solid rgba(86, 107, 47, 0.28); + border-radius: 10px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06); + box-sizing: border-box; + color: var(--qualin-ink); + font-family: Georgia, "Book Antiqua", serif; + font-size: 14px; + min-height: 34px; + padding: 6px 8px; + width: 100%; +} + +.charsheet input[disabled] { + background: rgba(217, 228, 207, 0.54); + color: var(--qualin-accent-dark); + font-weight: 700; +} + +.charsheet input[readonly], +.charsheet textarea[readonly] { + background: rgba(217, 228, 207, 0.54); + color: var(--qualin-accent-dark); + font-weight: 700; +} + +.charsheet textarea { + min-height: 86px; + resize: vertical; +} + +.charsheet button[type="roll"] { + background: linear-gradient(180deg, #687f39 0%, #425123 100%); + border: 0; + border-radius: 999px; + box-shadow: 0 6px 14px rgba(57, 71, 31, 0.24); + color: #f8f3e4; + font-family: "Trebuchet MS", sans-serif; + font-size: 12px; + font-weight: 700; + letter-spacing: 0.05em; + margin: 0; + padding: 8px 12px; + text-shadow: none; + text-transform: uppercase; +} + +.charsheet button[type="roll"]:hover { + background: linear-gradient(180deg, #728c3d 0%, #4a5b28 100%); +} + +.charsheet .repcontrol { + margin-top: 8px; +} + +.charsheet .repcontrol .btn { + background: var(--qualin-panel-strong); + border: 1px solid var(--qualin-border); + border-radius: 999px; + color: var(--qualin-accent-dark); + font-family: "Trebuchet MS", sans-serif; + font-weight: 700; + padding: 4px 10px; +} + +.charsheet .sheet-is-npc { + left: -9999px; + position: absolute; +} + +.charsheet .sheet-mode-toggle { + margin-bottom: 12px; +} + +.charsheet .sheet-toggle-pill { + align-items: center; + background: rgba(255, 250, 238, 0.85); + border: 1px solid rgba(86, 107, 47, 0.35); + border-radius: 999px; + cursor: pointer; + display: inline-flex; + gap: 10px; + padding: 6px 14px; +} + +.charsheet .sheet-toggle-pill strong { + font-family: "Trebuchet MS", sans-serif; + font-size: 11px; + letter-spacing: 0.07em; + text-transform: uppercase; +} + +.charsheet .sheet-toggle-pill .sheet-toggle-mode { + background: linear-gradient(180deg, #687f39 0%, #425123 100%); + border-radius: 999px; + color: #f8f3e4; + font-family: "Trebuchet MS", sans-serif; + font-size: 11px; + padding: 4px 10px; +} + +.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode { + background: linear-gradient(180deg, #5d4a2a 0%, #3f3019 100%); +} + +.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode::after { + content: ""; +} + +.charsheet .sheet-is-npc:not(:checked) ~ .sheet-npc-sheet { + display: none; +} + +.charsheet .sheet-is-npc:checked ~ .sheet-pc-sheet { + display: none; +} + +.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode { + font-size: 0; +} + +.charsheet .sheet-is-npc:checked + .sheet-mode-toggle .sheet-toggle-mode::before { + content: "NPC"; + font-size: 11px; +} + +.charsheet .sheet-npc-sheet { + margin: 0 auto; + max-width: 860px; +} + +.charsheet .sheet-npc-statblock { + background: #d8d3bf; + border: 2px solid #216f31; + border-radius: 0; + padding: 0; +} + +.charsheet .sheet-npc-row { + border-top: 2px solid #216f31; + padding: 0; +} + +.charsheet .sheet-npc-row:first-child { + border-top: 0; +} + +.charsheet .sheet-npc-row input, +.charsheet .sheet-npc-row textarea { + background: transparent; + border: 0; + border-radius: 0; + box-shadow: none; + font-family: Georgia, "Book Antiqua", serif; + padding: 4px 8px; +} + +.charsheet .sheet-npc-row textarea { + min-height: 68px; + resize: vertical; +} + +.charsheet .sheet-npc-row-title input { + font-size: 30px; + font-weight: 700; + line-height: 1.1; + min-height: 44px; + padding: 8px; +} + +.charsheet .sheet-npc-row label { + align-items: center; + display: grid; + gap: 8px; + grid-template-columns: auto minmax(0, 1fr); + padding: 4px 8px; +} + +.charsheet .sheet-npc-row-paired { + display: grid; + gap: 0; + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.charsheet .sheet-npc-row-paired label:first-child { + border-right: 2px solid #216f31; +} + +.charsheet .sheet-npc-divider { + background: #d3cfba; + border-top: 2px solid #216f31; + font-family: "Trebuchet MS", sans-serif; + font-size: 18px; + font-weight: 700; + letter-spacing: 0.02em; + line-height: 1; + padding: 6px 8px; + text-transform: none; +} + +.charsheet .sheet-npc-ability-list { + margin: 0; + padding: 0; +} + +.charsheet .sheet-npc-ability-item { + border-top: 2px solid #216f31; + display: grid; + gap: 0; + grid-template-columns: minmax(180px, 0.38fr) minmax(0, 0.62fr); + padding: 0; +} + +.charsheet .sheet-npc-ability-name { + border-right: 2px solid #216f31; + display: grid; + gap: 4px; + padding: 4px; +} + +.charsheet .sheet-npc-ability-name input[type="text"]:first-child { + font-size: 26px; + font-weight: 700; + min-height: 40px; +} + +.charsheet .sheet-npc-ability-name input[type="text"]:last-child { + font-size: 12px; + font-style: italic; + min-height: 22px; + padding-top: 0; + text-transform: lowercase; +} + +.charsheet .sheet-npc-ability-text { + padding: 4px; +} + +.charsheet .sheet-npc-ability-text textarea { + min-height: 86px; +} + +.charsheet .sheet-npc-ability-meta { + border-top: 2px solid #216f31; + display: grid; + gap: 6px; + grid-column: 1 / -1; + grid-template-columns: repeat(6, minmax(0, 1fr)); + padding: 6px; +} + +.charsheet .sheet-npc-ability-meta input, +.charsheet .sheet-npc-ability-meta select { + background: rgba(255, 252, 245, 0.86); + border: 1px solid rgba(33, 111, 49, 0.5); + border-radius: 6px; + font-family: "Trebuchet MS", sans-serif; + font-size: 11px; + min-height: 26px; + padding: 4px 6px; + text-transform: uppercase; +} + +.charsheet .sheet-npc-ability-rolls { + border-top: 2px solid #216f31; + display: grid; + gap: 8px; + grid-column: 1 / -1; + grid-template-columns: repeat(3, minmax(0, 1fr)); + padding: 6px; +} + +.charsheet .sheet-npc-helper-row { + border-top: 2px solid #216f31; + display: grid; + gap: 6px; + grid-template-columns: repeat(3, minmax(0, 1fr)); + padding: 6px; +} + +.charsheet .sheet-npc-helper-row label { + display: flex; + flex-direction: column; + gap: 4px; + padding: 0; +} + +.charsheet .sheet-npc-helper-rolls { + border-top: 2px solid #216f31; + display: grid; + gap: 8px; + grid-template-columns: repeat(2, minmax(0, 1fr)); + padding: 6px; +} + diff --git a/World of Qualin/sheet.html b/World of Qualin/sheet.html index d2f5c05847..86a04b99b1 100644 --- a/World of Qualin/sheet.html +++ b/World of Qualin/sheet.html @@ -1,1747 +1,1747 @@ -
-
- - -
- -
- -
-
-
-

Roll20 Character Sheet

-

The World of Qualin

-

Four core attributes, d6 dice pools, zone-based combat, and space for the setting-specific choices defined in the world book.

-
-
- - -
-
- -
-
-

Identity

-
-
- - - - - - - - - - - - - - -
-
- -
-
-
-
-

Core Attributes

-

Ability checks use Attribute + Tier.

-
-
-
-
- Body - -
- - -
-
-
- Coordination - -
- - -
-
-
- Mind - -
- - -
-
-
- Presence - -
- - -
-
-
- -
-
-

Derived Stats

-

Health uses the largest package die by Tier, then adds Body x5.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-
-

Skills

-

Skill checks use Skill + Attribute. Add misc only when an ability, package, or circumstance changes the pool.

-
- -
-

Body Skills

-
- - Climbing - - -
-
- - Swimming - - -
-
- - Endurance - - -
-
- - Athleticism - - -
-
- - Survival - - -
-
- -
-

Coordination Skills

-
Stealth
-
Sleight of Hand
-
Lockpicking
-
Trapcraft
-
Balance
-
Craft
-
- -
-

Mind Skills

-
Lore
-
Arcana
-
Medicine
-
Investigation
-
Perception
-
- -
-

Presence Skills

-
Deception
-
Persuasion
-
Performance
-
Empathy
-
Leadership
-
Negotiation
-
Gather Information
-
-
- -
-
-

Equipment

- -
-
-
-
- - - - -
- -
-
-
- -
-
-

Notes

-
-
- - - - -
-
-
- -
-
-
-

Combat

-

Weapon attack pools are Body or Coordination plus any training, Tier, and situational bonuses.

-
-
- - - - - -
-
-
-
- - - - -
-
- - - - -
-
- - -
-
-
-
- -
-
-

Spells

-

Spellcasting uses Tier + the package attribute. Reaction difficulty is usually Spell Tier + that same attribute.

- -
-
-
-
- - - - -
-
- - - - -
-
- - -
-
-
-
- -
-
-

Abilities

-

Auto abilities are populated from Packages and Tier. Manual abilities remain separate for custom entries.

-
-
-
-

Auto Ability Summary

-

Pulled from selected Packages and current Tier.

-
-
- - - -
-
-
-

Auto Package Abilities

-

Automatically rebuilt when Package 1, Package 2, Package 3, or Tier changes.

-
-
-
-
- - - - -
-
- - - - - -
-
- - - - - -
-
-
-
-

Manual Abilities

- -
-
-
-
- - - - -
-
- - - - - -
-
- - - - -
-
-
-
- -
-
-
- -
-
-
- -
-
- -
-
- -
-
- - -
-
- - -
- -
Attributes
-
- - -
-
- - -
-
Environment
-
- -
-
Abilities
-
-
-
- - -
-
- -
-
- - - - - - -
-
- - - -
-
-
-
- - - -
-
- - -
-
-
-
-
- - +
+
+ + +
+ +
+ +
+
+
+

Roll20 Character Sheet

+

The World of Qualin

+

Four core attributes, d6 dice pools, zone-based combat, and space for the setting-specific choices defined in the world book.

+
+
+ + +
+
+ +
+
+

Identity

+
+
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+

Core Attributes

+

Ability checks use Attribute + Tier.

+
+
+
+
+ Body + +
+ + +
+
+
+ Coordination + +
+ + +
+
+
+ Mind + +
+ + +
+
+
+ Presence + +
+ + +
+
+
+ +
+
+

Derived Stats

+

Health uses the largest package die by Tier, then adds Body x5.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+

Skills

+

Skill checks use Skill + Attribute. Add misc only when an ability, package, or circumstance changes the pool.

+
+ +
+

Body Skills

+
+ + Climbing + + +
+
+ + Swimming + + +
+
+ + Endurance + + +
+
+ + Athleticism + + +
+
+ + Survival + + +
+
+ +
+

Coordination Skills

+
Stealth
+
Sleight of Hand
+
Lockpicking
+
Trapcraft
+
Balance
+
Craft
+
+ +
+

Mind Skills

+
Lore
+
Arcana
+
Medicine
+
Investigation
+
Perception
+
+ +
+

Presence Skills

+
Deception
+
Persuasion
+
Performance
+
Empathy
+
Leadership
+
Negotiation
+
Gather Information
+
+
+ +
+
+

Equipment

+ +
+
+
+
+ + + + +
+ +
+
+
+ +
+
+

Notes

+
+
+ + + + +
+
+
+ +
+
+
+

Combat

+

Weapon attack pools are Body or Coordination plus any training, Tier, and situational bonuses.

+
+
+ + + + + +
+
+
+
+ + + + +
+
+ + + + +
+
+ + +
+
+
+
+ +
+
+

Spells

+

Spellcasting uses Tier + the package attribute. Reaction difficulty is usually Spell Tier + that same attribute.

+ +
+
+
+
+ + + + +
+
+ + + + +
+
+ + +
+
+
+
+ +
+
+

Abilities

+

Auto abilities are populated from Packages and Tier. Manual abilities remain separate for custom entries.

+
+
+
+

Auto Ability Summary

+

Pulled from selected Packages and current Tier.

+
+
+ + + +
+
+
+

Auto Package Abilities

+

Automatically rebuilt when Package 1, Package 2, Package 3, or Tier changes.

+
+
+
+
+ + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+
+

Manual Abilities

+ +
+
+
+
+ + + + +
+
+ + + + + +
+
+ + + + +
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ + +
+
+ + +
+ +
Attributes
+
+ + +
+
+ + +
+
Environment
+
+ +
+
Abilities
+
+
+
+ + +
+
+ +
+
+ + + + + + +
+
+ + + +
+
+
+
+ + + +
+
+ + +
+
+
+
+
+ + diff --git a/World of Qualin/sheet.json b/World of Qualin/sheet.json index 4e3f665e35..c50a0a05a6 100644 --- a/World of Qualin/sheet.json +++ b/World of Qualin/sheet.json @@ -1,9 +1,9 @@ -{ - "html": "sheet.html", - "css": "sheet.css", - "authors": "World of Qualin LLC", - "roll20userid": "2544782", - "preview": "preview.png", - "instructions": "Qualin uses d6 dice pools. Species, Environment, and Upbringing now use dropdowns with automatic rule-based bonuses. Environment applies +1 to one core attribute and +1 to one skill; Upbringing applies +1 to one skill. Package selection is split into Package 1, Package 2, and optional Package 3 (later progression). The sheet auto-calculates the largest package health die and displays a health roll formula of Tier d HighestDie. Roll totals are still entered in Health Roll Total, and Health Max adds Body x5 automatically. Use the Sheet Mode toggle at the top to switch between full PC view and compact NPC/Monster view for GM-facing stat blocks and compendium-friendly monster entries.", - "legacy": false -} +{ + "html": "sheet.html", + "css": "sheet.css", + "authors": World of Qualin LLC", + "roll20userid": "2544782", + "preview": "preview.png", + "instructions": "Qualin uses d6 dice pools. Species, Environment, and Upbringing now use dropdowns with automatic rule-based bonuses. Environment applies +1 to one core attribute and +1 to one skill; Upbringing applies +1 to one skill. Package selection is split into Package 1, Package 2, and optional Package 3 (later progression). The sheet auto-calculates the largest package health die and displays a health roll formula of Tier d HighestDie. Roll totals are still entered in Health Roll Total, and Health Max adds Body x5 automatically. Use the Sheet Mode toggle at the top to switch between full PC view and compact NPC/Monster view for GM-facing stat blocks and compendium-friendly monster entries.", + "legacy": false +}