html, body {
  height: 100%;
  min-height: 100%;
  touch-action: manipulation; 
}

body {
  background-color: black;
  color: var(--text-color);
  padding-bottom: env(safe-area-inset-bottom);
}

::-webkit-scrollbar { 
  width: 0; 
  height: 0; 
}

* { 
  scrollbar-width: none; 
}

img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}


.ntf-wrapper {
    width: fit-content;
    height: fit-content;
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    transition: 0.2s;
    border: none;
    outline: none;
    flex-shrink: 0;
}

.ntf-wrapper:hover {
    background-color: rgba(0, 0, 0, 0.4);
}

.ntf-icon {
    width: 22px;
    height: 22px;
    color: var(--text-color);
    opacity: 0.8;
    transition: 0.2s;
}

.ntf-wrapper:hover .ntf-icon {
    opacity: 1;
    transform: scale(1.1);
}

.ntf-dot-signal {
    position: absolute;
    bottom: 5px;
    left: 5px;
    width: 6px;
    height: 6px;
    background-color: var(--secondary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ntf-dot-signal::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 1px;
    background-color: var(--secondary-color);
    border-radius: 50%;
    animation: ntf-pulse-loop 1s 0s infinite;
}

@keyframes ntf-pulse-loop {
    0% {
        background-color: var(--secondary-color);
        width: 1px;
        height: 1px;
        opacity: 1;
    }
    100% {
        background-color: transparent;
        width: 30px;
        height: 30px;
        opacity: 0;
    }
}