.portalbox {
position: relative;
display: flex;
border-radius: var(--border-radius-small);
}
.portalbox-wrapper {
overflow: hidden;
position: relative;
flex: 1;
display: flex;
background-color: var(--portalbox-transparent);
outline: 1px outset var(--portalbox-light);
border-radius: inherit;
box-shadow: var(--template-shadow--small) -1px var(--portalbox-light);
transition-property: box-shadow;
transition-duration: var(--transition-time);
z-index: 1;
}
.portalbox:hover .portalbox-wrapper {
box-shadow: var(--template-shadow--small) -1px var(--portalbox-opaque);
}
.portalbox-role {
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
width: 128px;
gap: 0.5rem;
padding: 0.5rem 0;
background-color: var(--portalbox-transparent);
border-right: 1px solid var(--portalbox-light);
box-shadow: var(--template-shadow--medium) -1px var(--portalbox-light);
}
.portalbox-image a {
transition-property: filter;
transition-duration: var(--transition-time);
}
.portalbox:active .portalbox-image a {
filter: drop-shadow(0 0 3px var(--portalbox-primary));
transition-duration: 0s;
}
.portalbox-name {
hyphens: auto;
font-weight: bold;
line-height: 1rem;
padding: 0 0.25rem;
}
.portalbox-name a {
color: var(--color-text);
}
.portalbox-name a:before {
content: '';
position: absolute;
inset: 0;
}
.portalbox-desc {
flex: 1;
line-height: 1.1rem;
padding: 0.5rem;
}
.portalbox-desc a {
position: relative;
z-index: 2;
}
/* Rainbow */
.portalbox.rgb {
padding: 1px;
background-color: hsl(from var(--color-primal-immutable) h s l / 0.75);
}
.portalbox.rgb .portalbox-role {
background-color: hsl(from var(--color-primal-immutable) h s l / 0.33);
border-right: 1px solid var(--color-border);
}