/* D&D 5e Spellcasting Sheet Styles */ :root { --border-color: #2b2b2b; --accent-red: #922610; --bg-page: #eaedf0; --bg-sheet: #ffffff; --bg-box: #f9fbfd; --text-main: #1e1e1e; --text-muted: #666666; --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --font-serif: "Libre Baskerville", "Georgia", serif; } body.sheet-page-wrapper { margin: 0; padding: 24px; background-color: var(--bg-page); font-family: var(--font-sans); color: var(--text-main); display: flex; justify-content: center; box-sizing: border-box; } .spellcasting-sheet-container { width: 100%; max-width: 1050px; background: var(--bg-sheet); border: 2px solid var(--border-color); border-radius: 6px; padding: 20px 24px 24px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); box-sizing: border-box; } /* Header */ .spell-header { display: grid; grid-template-columns: 320px 1fr; gap: 16px; border-bottom: 2px solid var(--border-color); padding-bottom: 16px; margin-bottom: 20px; } .spell-header-class-box { border: 1.5px solid var(--border-color); border-radius: 4px; padding: 12px 16px; display: flex; flex-direction: column; justify-content: flex-end; background: var(--bg-box); } .spell-class-name { font-family: var(--font-serif); font-size: 26px; color: var(--accent-red); margin: 0 0 6px 0; line-height: 1.1; } .spell-header-label { font-size: 9px; font-weight: bold; color: var(--text-muted); letter-spacing: 0.5px; } .spell-header-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border: 1.5px solid var(--border-color); border-radius: 4px; padding: 10px 14px; background: var(--bg-box); } .spell-stat-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid #ccc; } .spell-stat-cell:last-child { border-right: none; } .spell-stat-val { font-size: 20px; font-weight: bold; color: var(--text-main); margin-bottom: 4px; } /* 3-Column Layout */ .spells-main-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .spells-column { display: flex; flex-direction: column; gap: 14px; } .spell-level-box { border: 1.5px solid var(--border-color); border-radius: 6px; background: #ffffff; overflow: hidden; } .spell-level-header { background: var(--bg-box); border-bottom: 1.5px solid var(--border-color); padding: 6px 10px; display: flex; align-items: center; gap: 8px; } .level-num { font-size: 16px; font-weight: bold; color: #ffffff; background: var(--accent-red); border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .level-title { font-size: 11px; font-weight: bold; color: var(--text-main); letter-spacing: 0.5px; } .spell-level-header.has-slots { justify-content: space-between; } .slot-counters { display: flex; gap: 10px; font-size: 10.5px; color: #555; } .slot-field strong { color: var(--text-main); } .spell-items-list { list-style: none; margin: 0; padding: 6px 10px; min-height: 80px; } .spell-item-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px solid #f0f0f0; font-size: 12px; } .spell-item-row:last-child { border-bottom: none; } .spell-prep-circle { width: 10px; height: 10px; border: 1.2px solid var(--border-color); border-radius: 50%; display: inline-block; flex-shrink: 0; } .spell-prep-circle.prepared { background: var(--accent-red); border-color: var(--accent-red); } .spell-prep-circle.invisible { opacity: 0; } .spell-name { color: var(--text-main); } .spell-item-row.empty { color: #bbb; justify-content: center; } /* Responsive */ @media (max-width: 900px) { .spell-header { grid-template-columns: 1fr; } .spells-main-grid { grid-template-columns: 1fr; } }