// Use theme variables with namespace to avoid conflicts
@use 'variables' as vars;
// ============================================
// Hikari Image Component
// ============================================
.hi-image-container {
position: relative;
display: inline-block;
overflow: hidden;
}
.hi-image {
display: block;
max-width: 100%;
height: auto;
transition: opacity 0.3s ease;
}
.hi-logo {
display: inline-block;
width: auto;
}
// ============================================
// Image Placeholder Styles
// ============================================
.hi-image-placeholder {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
}
.hi-image-skeleton {
background: linear-gradient(
90deg,
var(--hi-color-surface) 0%,
var(--hi-color-background) 50%,
var(--hi-color-surface) 100%
);
background-size: 200% 100%;
animation: hi-image-shimmer 1.5s infinite linear;
}
@keyframes hi-image-shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
.hi-image-icon-placeholder {
background-color: var(--hi-color-surface);
border-radius: vars.$hikari-radius-fui-sm;
svg {
opacity: 0.5;
transition: opacity 0.2s ease;
}
}
.hi-image-container:hover .hi-image-icon-placeholder svg {
opacity: 0.7;
}
// Dark mode adjustments
[data-theme="dark"] .hi-image-skeleton {
background: linear-gradient(
90deg,
var(--hi-surface) 0%,
var(--hi-surface-hover) 50%,
var(--hi-surface) 100%
);
background-size: 200% 100%;
}