.notification-menu{max-height:min(560px,calc(100dvh - 24px),var(--radix-popover-content-available-height,100dvh))}.notification-menu-feed{display:flex;flex-direction:column;min-height:0}.notification-menu-feed>:not(.notification-menu-scroll){flex-shrink:0}.notification-menu-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted-foreground) 40%,transparent) transparent}.notification-menu-scroll:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.notification-row-actions{opacity:0;pointer-events:none}li:focus-within>.notification-row-actions,li:hover>.notification-row-actions{opacity:1;pointer-events:auto}}.notification-menu[data-state=open]{animation:notification-menu-in .12s ease-out}.notification-menu[data-state=closed]{animation:notification-menu-out 90ms ease-in}@keyframes notification-menu-in{0%{opacity:0}to{opacity:1}}@keyframes notification-menu-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.notification-menu[data-state]{animation:none}}

/*!
 * CSS Rain Effect — Copyright (c) Aaron Rickle
 * https://codepen.io/arickle/pen/XKjMZY
 * Adapted for STALBASE: bounded layers, theme colors, visibility and motion controls.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */.site-rain{--rain-color:80 80 100;position:fixed;inset:0;overflow:hidden;pointer-events:none;contain:strict}.dark .site-rain{--rain-color:180 190 205}[data-theme=blood] .site-rain{--rain-color:190 49 63}[data-theme=uwu] .site-rain{--rain-color:111 45 76}.site-rain__row{position:absolute;inset:0}.site-rain__row--back{opacity:.4}.site-rain__drop{position:absolute;top:-100px;width:18px;height:100px;animation:site-rain-fall var(--rain-duration) linear var(--rain-delay) infinite}.site-rain__drop:after,.site-rain__drop:before{content:"";position:absolute;animation-duration:var(--rain-duration);animation-delay:var(--rain-delay);animation-timing-function:linear;animation-iteration-count:infinite}.site-rain__drop:before{bottom:0;left:8px;width:1px;height:76px;background:linear-gradient(transparent,rgb(var(--rain-color)/.42));transform:rotate(5deg);transform-origin:bottom;animation-name:site-rain-streak}.site-rain__row--back .site-rain__drop:before{height:48px}.site-rain__drop:after{top:100%;left:0;width:18px;height:6px;border:1px solid rgb(var(--rain-color)/.35);border-top-style:dotted;border-radius:50%;animation-name:site-rain-splash}@keyframes site-rain-fall{0%{transform:translate3d(-24px,0,0)}78%,to{transform:translate3d(0,calc(100svh - var(--rain-floor)),0)}}@keyframes site-rain-streak{0%,65%{opacity:1}78%,to{opacity:0}}@keyframes site-rain-splash{0%,78%{opacity:0;transform:scale(.25)}82%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}.site-rain[data-paused] .site-rain__drop,.site-rain[data-paused] .site-rain__drop:after,.site-rain[data-paused] .site-rain__drop:before{animation-play-state:paused}@media (max-width:640px){.site-rain__drop:nth-child(n+25),.site-rain__row--back .site-rain__drop:nth-child(n+13){display:none}}@media (prefers-reduced-motion:reduce){.site-rain{display:none}.site-rain__drop,.site-rain__drop:after,.site-rain__drop:before{animation:none}}