// Character Main Sheet V2 - Based on PNG character sheet design .character-main-v2 { .sheet-common(); padding: 0; margin: 0; .character-sheet-wrapper { background-image: url("../assets/ui/prism_rpg_background.webp"); background-size: cover; background-position: center; padding: 2px 4px; min-height: auto; } // Character Header with Banner .character-header { position: relative; margin-bottom: 3px; .character-name-banner { background-image: url("../assets/sheet/banner-bg.png"); background-size: contain; background-repeat: no-repeat; background-position: center; height: 42px; display: flex; align-items: center; justify-content: center; input { background: transparent; border: none; text-align: center; font-family: "Cinzel", serif; font-size: 20px; font-weight: bold; color: #2c2c2c; width: 500px; text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5); padding: 2px 0; } } .character-toggle-controls { position: absolute; top: 6px; right: 10px; } } // Main Grid Layout .character-main-grid { display: grid; grid-template-columns: 1fr 300px; gap: 12px; align-items: start; } // Left Column - Portrait, Attributes, HP .character-left-column { display: flex; flex-direction: row; gap: 12px; align-items: flex-start; .portrait-hp-column { display: flex; flex-direction: column; gap: 12px; width: 200px; flex-shrink: 0; } .character-portrait { width: 200px; height: 200px; border: 3px solid #6b6b6b; border-radius: 8px; overflow: hidden; background: #d4d4d4; img { width: 100%; height: 100%; object-fit: cover; } } // HP Shields - below portrait, same width .hp-shields-section { width: 200px; .hp-shields { display: flex; flex-direction: column; gap: 6px; .hp-item { display: flex; flex-direction: row; align-items: center; gap: 8px; .hp-label { font-family: "Cinzel", serif; font-size: 12px; font-weight: bold; color: #2c2c2c; text-transform: uppercase; width: 55px; flex-shrink: 0; } .hp-value { input { width: 40px; height: 28px; text-align: center; font-size: 14px; font-weight: bold; background: rgba(255, 255, 255, 0.9); border: 2px solid #6b6b6b; border-radius: 4px; } } .hp-separator { font-family: "Cinzel", serif; font-size: 14px; font-weight: bold; color: #2c2c2c; } .hp-max { input { width: 40px; height: 28px; text-align: center; font-size: 14px; font-weight: bold; background: rgba(200, 220, 255, 0.5); border: 2px solid #6b6b6b; border-radius: 4px; } } } } } .character-attributes { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; max-width: 280px; .attribute-shield { position: relative; display: flex; flex-direction: row; align-items: center; gap: 8px; padding: 6px 12px; background: rgba(255, 255, 255, 0.3); border: 2px solid #6b6b6b; border-radius: 4px; height: auto; .attribute-label { font-family: "Cinzel", serif; font-size: 11px; font-weight: bold; color: #2c2c2c; text-transform: uppercase; margin: 0; min-width: 40px; display: flex; align-items: center; a.rollable { display: flex; align-items: center; gap: 4px; color: #2c2c2c; text-decoration: none; cursor: pointer; transition: all 0.2s; i { font-size: 12px; color: #6b6b6b; } &:hover { color: #000; text-shadow: 0 0 4px rgba(0, 0, 0, 0.3); i { color: #2c2c2c; } } } } .attribute-value { display: flex; align-items: center; input { width: 45px; height: 32px; text-align: center; font-size: 16px; font-weight: bold; background: rgba(255, 255, 255, 0.9); border: 2px solid #6b6b6b; border-radius: 4px; } } .attribute-save { margin-left: auto; display: flex; align-items: center; a.save-rollable { display: contents; cursor: pointer; i { margin-right: 6px; } &:hover input { background: rgba(200, 220, 255, 0.8); border-color: #4a4a4a; } } input { width: 45px; height: 32px; text-align: center; font-size: 14px; font-weight: bold; background: rgba(200, 220, 255, 0.5); border: 2px solid #6b6b6b; border-radius: 4px; color: #2c2c2c; cursor: pointer; transition: all 0.2s; } } } } } // Right Column - Race, Classes .character-right-column { display: flex; flex-direction: column; gap: 15px; .section-title { font-family: "Cinzel", serif; font-size: 14px; font-weight: bold; color: #2c2c2c; text-transform: uppercase; margin-bottom: 8px; padding: 5px 10px; background: rgba(255, 255, 255, 0.6); border: 2px solid #6b6b6b; border-radius: 4px; text-align: center; } .race-section { .race-box { padding: 6px; background: rgba(255, 255, 255, 0.5); border: 2px solid #6b6b6b; border-radius: 6px; min-height: 50px; .race-label { font-family: "Cinzel", serif; font-size: 10px; color: #6b6b6b; text-align: center; margin-bottom: 3px; } .section-title { font-family: "Cinzel", serif; font-size: 11px; font-weight: bold; color: #2c2c2c; text-transform: uppercase; margin: 0 0 4px 0; padding: 3px; background: rgba(255, 255, 255, 0.6); border: 2px solid #6b6b6b; border-radius: 4px; text-align: center; } .race-item { display: flex; align-items: center; gap: 6px; .item-img { width: 30px; height: 30px; border: 2px solid #6b6b6b; border-radius: 4px; object-fit: cover; cursor: pointer; } .race-name { flex: 1; font-family: "Cinzel", serif; font-size: 12px; font-weight: bold; color: #2c2c2c; text-align: center; } .controls { display: flex; gap: 6px; a { color: #6b6b6b; cursor: pointer; transition: color 0.2s; &:hover { color: #2c2c2c; } i { font-size: 14px; } } } } .no-race { text-align: center; font-family: "Crimson Text", serif; font-size: 11px; color: #6b6b6b; font-style: italic; padding: 5px; } input { width: 100%; background: transparent; border: none; font-family: "Cinzel", serif; font-size: 14px; text-align: center; } } } .classes-section { display: flex; flex-direction: column; gap: 8px; .class-box { padding: 6px; background: rgba(255, 255, 255, 0.5); border: 2px solid #6b6b6b; border-radius: 6px; .class-label { font-family: "Cinzel", serif; font-size: 10px; color: #6b6b6b; text-align: center; margin-bottom: 3px; } .class-content { .class-item { display: flex; align-items: center; gap: 6px; .item-img { width: 28px; height: 28px; border: 2px solid #6b6b6b; border-radius: 4px; object-fit: cover; cursor: pointer; } .class-name { flex: 1; font-family: "Cinzel", serif; font-size: 11px; font-weight: bold; color: #2c2c2c; text-align: center; } .controls { display: flex; gap: 6px; a { color: #6b6b6b; cursor: pointer; transition: color 0.2s; &:hover { color: #2c2c2c; } i { font-size: 12px; } } } } .no-class { text-align: center; font-family: "Crimson Text", serif; font-size: 11px; color: #6b6b6b; font-style: italic; padding: 5px; } } .class-input { input { width: 100%; background: transparent; border: none; font-family: "Cinzel", serif; font-size: 14px; text-align: center; } } } } .origin-section { .origin-box { padding: 15px; background: rgba(255, 255, 255, 0.5); border: 3px solid #6b6b6b; border-radius: 8px; min-height: 350px; textarea { width: 100%; min-height: 320px; background: transparent; border: none; font-family: "Crimson Text", serif; font-size: 13px; line-height: 1.6; resize: vertical; } } } } }