html,
body {
width: 100%;
height: 100%;
margin: 0;
overflow: hidden;
font-family: var(--font);
background: transparent;
}
#radial-container {
width: 100%;
height: 100%;
display: none;
justify-content: center;
align-items: center;
}
#radial-container.active {
display: flex;
}
div.menuHolder {
user-select: none;
position: relative;
width: 351px;
height: 351px;
margin: 0;
overflow: visible;
flex-shrink: 0;
}
.radial {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
opacity: 0;
transform: scale(0.86);
transition: opacity 0.2s ease-out, transform 0.2s ease-out;
}
.radial.is-open {
opacity: 1;
transform: scale(1);
}
.radial.is-closing {
opacity: 0;
transform: scale(0.86);
pointer-events: none;
}
.radial-ring {
position: absolute;
border-radius: 50%;
pointer-events: none;
box-sizing: border-box;
}
.radial-ring--outer {
inset: 0;
background: var(--panel-9);
box-shadow: inset 0 0 0 1px var(--white-2);
-webkit-mask: radial-gradient(circle closest-side, transparent 75px, #000 76px);
mask: radial-gradient(circle closest-side, transparent 75px, #000 76px);
}
.radial-ring--inner {
width: 42.735%;
height: 42.735%;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background: rgba(0, 0, 0, 0.6);
box-shadow: inset 0 0 0 1px var(--white-2);
}
.radial-hit {
position: absolute;
inset: 0;
border-radius: 50%;
z-index: 2;
cursor: pointer;
}
.radial-wedge {
position: absolute;
inset: 0;
border-radius: 50%;
pointer-events: none;
opacity: 0;
transition: opacity 0.15s ease;
-webkit-mask: radial-gradient(circle closest-side, transparent 75px, #000 76px);
mask: radial-gradient(circle closest-side, transparent 75px, #000 76px);
}
.radial-wedge.is-visible {
opacity: 1;
}
.radial-dividers {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 1;
}
.radial-divider {
position: absolute;
left: 50%;
bottom: 50%;
width: 1px;
height: 50%;
margin-left: -0.5px;
transform-origin: 50% 100%;
background: linear-gradient(to top, transparent 0, transparent 42.735%, var(--white-4) 42.735%, var(--white-4) 100%);
pointer-events: none;
}
.radial-center {
appearance: none;
-webkit-appearance: none;
position: absolute;
left: 50%;
top: 50%;
width: 40px;
height: 40px;
margin: -20px 0 0 -20px;
padding: 0;
outline: none;
border: none;
border-radius: 5px;
background: var(--accent);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
z-index: 5;
transition: transform 0.12s ease, filter 0.12s ease;
}
.radial-center:hover {
filter: brightness(1.08);
}
.radial-center:active {
transform: scale(0.94);
}
.radial-center img {
display: block;
pointer-events: none;
}
.radial-center > img:not(.radial-center-back) {
width: 16px;
height: 16px;
}
.radial-center-back {
width: 14px;
height: 16px;
display: block;
pointer-events: none;
}
.radial-item {
appearance: none;
-webkit-appearance: none;
position: absolute;
left: 50%;
top: 50%;
width: 42px;
height: 42px;
margin: -21px 0 0 -21px;
padding: 0;
outline: none;
border: none;
border-radius: 10px;
background: var(--elevated-8);
color: var(--white-9);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
z-index: 3;
pointer-events: none;
box-shadow: 0 2px 10px var(--black-5);
}
.radial-item:hover,
.radial-item.is-selected {
background: var(--accent);
color: var(--white);
}
.radial-item .action-icon {
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
pointer-events: none;
color: inherit;
}
.radial-item .action-icon i,
.radial-item .icon {
font-size: 18px;
line-height: 1;
color: inherit;
}
.radial-item img {
width: 20px;
height: 20px;
object-fit: contain;
pointer-events: none;
filter: grayscale(1) brightness(1.4);
opacity: 0.92;
}
.radial-item img.icon-sm {
width: 14px;
height: 14px;
}
.radial-item img.icon-local {
width: 14px;
height: 20px;
}
.radial-item img.icon-ativo {
width: 18px;
height: 18px;
}
.radial-item img.icon-glasses {
width: 20px;
height: 16px;
}
.radial-item img.icon-mask {
width: 20px;
height: 22px;
}
.radial-item img.icon-vehicle {
width: 15px;
height: 19px;
}
.radial-item img.icon-shirt {
width: 23px;
height: 18px;
}
.radial-item img.icon-trash {
width: 20px;
height: 25px;
}
.radial-item:hover img,
.radial-item.is-selected img {
opacity: 1;
filter: brightness(0) invert(1);
}
.radial-label {
position: absolute;
left: 50%;
top: 50%;
min-height: 19px;
padding: 3px 12px;
border-radius: 10px;
background: var(--accent);
box-shadow: var(--shadow-accent-45);
box-sizing: border-box;
font-family: var(--font);
font-weight: 700;
font-size: 10px;
line-height: 1.3;
letter-spacing: 0.02em;
color: var(--white);
text-transform: uppercase;
white-space: nowrap;
pointer-events: none;
opacity: 0;
z-index: 6;
transition: opacity 0.12s ease;
}
.radial-label.is-visible {
opacity: 1;
}