// ============================================================ // ACTOR SHEET — Character layout, attributes, resources, etc. // ============================================================ .oathhammer { .actor-img { height: @portrait-height; width: auto; border: 2px solid @color-blue; border-radius: 4px; cursor: pointer; object-fit: cover; } .character-main { display: flex; flex-direction: column; gap: 4px; .character-pc { display: flex; gap: 10px; flex: 1; } .character-left { min-width: @left-panel-width; max-width: @left-panel-width; display: flex; flex-direction: column; align-items: center; gap: 4px; } .character-portrait { display: flex; justify-content: center; } .character-resource { display: flex; align-items: center; flex-wrap: nowrap; gap: 4px; margin-bottom: 2px; // formInput renders a
— flatten it so it doesn't break flex row div.form-group { display: contents; } input { min-width: 2.5rem; max-width: 2.5rem; text-align: center; } } .resource-label { min-width: 3.5rem; font-family: @font-secondary; font-size: @font-size-xs; } .character-right { flex: 1; display: flex; flex-direction: column; gap: 4px; } .character-name { display: flex; align-items: center; gap: 4px; input { flex: 1; } } } // Attributes grid .attributes-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; } .attribute-box { display: flex; flex-direction: column; align-items: center; gap: 2px; label { font-family: @font-secondary; font-size: @font-size-sm; text-align: center; } input { width: 2.5rem; text-align: center; font-size: @font-size-lg; } } // Currency bar .currency-bar { margin-top: 4px; .currency-item { display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1; input { width: 4rem; text-align: center; } } } // Lineage / Class item slots in Identity tab .identity-lineage-class { gap: 8px; margin-bottom: 8px; .item-slot { flex: 1; display: flex; align-items: center; gap: 6px; padding: 6px 8px; border: 2px solid @color-gold; border-radius: 4px; background: rgba(212, 160, 23, 0.08); min-height: 40px; &.empty { border-style: dashed; opacity: 0.7; cursor: default; .slot-icon { font-size: 1.2rem; color: @color-gold; } .slot-placeholder { font-family: @font-body; font-style: italic; color: @color-gold; font-size: 0.9rem; } } .item-img { width: 32px; height: 32px; object-fit: contain; border: none; flex-shrink: 0; } .item-name { flex: 1; font-family: @font-primary; font-size: 1rem; color: @color-dark; } a[data-action] { color: @color-gold; &:hover { color: @color-blue; } } } } // Biodata .biodata-col { flex: 1; display: flex; flex-direction: column; gap: 2px; } // Arcane Stress narrow inputs .character-arcane-stress { .flexrow { align-items: center; gap: 4px; } input { min-width: 3rem; max-width: 3rem; text-align: center; } } // Defense display .defense-display { min-width: 3rem; max-width: 3rem; text-align: center; font-weight: bold; } }