ui/components/propcard/propcard.scss
@import "/ui/styles/_theme.scss";
.prop-card {
position: relative;
overflow: hidden;
flex-direction: column;
width: 168px;
background-color: $bg-2;
border: 1px solid $line-strong;
cursor: pointer;
padding: 0;
gap: 0;
flex-shrink: 0;
transition: border-color 0.1s ease, background-color 0.1s ease;
&:hover {
border-color: $accent;
background-color: $bg-elev;
}
&.active {
border-color: $accent;
background-color: $bg-elev;
}
&.is-loading {
border-color: $accent;
cursor: default;
}
}
.prop-card-loading-overlay {
position: absolute;
left: 0;
right: 0;
bottom: 0;
flex-direction: column;
align-items: stretch;
justify-content: flex-end;
padding: 6px;
gap: 4px;
background-color: rgba(0, 0, 0, 0.6);
}
.prop-card-loading-label {
font-size: $fs-1;
font-family: $font-mono;
font-weight: 700;
letter-spacing: $ls-wide;
text-transform: uppercase;
color: $accent;
text-align: center;
}
.prop-card-loading-bar {
height: 3px;
background-color: rgba(255, 255, 255, 0.12);
overflow: hidden;
}
.prop-card-loading-bar-fill {
width: 40%;
height: 100%;
background-color: $accent;
animation: prop-card-loading-slide 1.1s linear infinite;
}
@keyframes prop-card-loading-slide {
from { transform: translateX(-100%); }
to { transform: translateX(330%); }
}
.prop-card-thumb {
width: 100%;
height: 128px;
background-color: $accent-ink;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
position: relative;
align-items: center;
justify-content: center;
}
.prop-card-thumb-fallback {
font-size: $fs-5;
font-weight: 900;
font-family: $font-mono;
color: $text-faint;
}
.prop-card-badge {
position: absolute;
top: 4px;
width: 16px;
height: 16px;
align-items: center;
justify-content: center;
font-size: $fs-1;
font-weight: 700;
background-color: rgba(0,0,0,0.7);
color: $text-dim;
border: 1px solid $line-strong;
&.hidden-badge {
right: 4px;
color: $info;
border-color: rgba(98,200,255,0.4);
}
&.mine-badge {
left: 4px;
color: $accent;
border-color: $accent-line;
}
}
.prop-card-meta {
flex-direction: column;
padding: 8px 10px;
gap: 3px;
width: 100%;
}
.prop-card-title {
font-size: $fs-2;
font-weight: 700;
color: $text;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
width: 100%;
}
.prop-card-org {
font-size: $fs-1;
font-family: $font-mono;
font-weight: 700;
letter-spacing: $ls-tight;
text-transform: uppercase;
color: $text-faint;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
width: 100%;
}