.portalbox {
position: relative;
display: flex;
border-radius: var(--border-radius-small);
}
.portalbox-wrapper {
overflow: hidden;
position: relative;
flex: 1;
display: flex;
background-color: var(--tmp-10);
outline: 1px outset var(--tmp-25);
border-radius: inherit;
box-shadow: var(--template-shadow--small) -1px var(--tmp-25);
transition-property: box-shadow;
transition-duration: var(--transition-time);
z-index: 1;
}
.portalbox:hover .portalbox-wrapper {
box-shadow: var(--template-shadow--small) -1px var(--tmp-100);
}
.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(--tmp-10);
border-right: 1px solid var(--tmp-25);
box-shadow: var(--template-shadow--medium) -1px var(--tmp-25);
}
.portalbox-image a {
transition-property: filter;
transition-duration: var(--transition-time);
}
.portalbox:active .portalbox-image a {
filter: drop-shadow(0 0 3px var(--tmp-75));
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 .portalbox-wrapper {
margin: 1px;
background-color: hsl(from var(--color-primal-immutable) h s l / 0.85);
}
.portalbox.rgb .portalbox-role {
background-color: hsl(from var(--color-primal-immutable) h s l / 0.25);
border-right: 1px solid var(--color-border);
box-shadow: var(--template-shadow--medium) -1px var(--color-primal);
}
.portalbox.rgb .rainbow {
filter: blur(1px);
}
.portalbox.rgb:hover .rainbow {
filter: blur(3px);
}