:root {
    --gwm-green: #c8f000;
    --gwm-green-hot: #e2ff31;
    --gwm-black: #090b08;
    --gwm-panel: rgba(9, 12, 8, .985);
    --gwm-font: "Just Another Hand", "Trebuchet MS", "Arial Narrow", sans-serif;
}

html.gwm-menu-lock,
html.gwm-menu-lock body {
    overflow: hidden !important;
}

.gwm-root,
.gwm-root * {
    box-sizing: border-box;
}

.gwm-root {
    position: relative;
    z-index: 2147483000;
}

.gwm-burger {
    position: fixed;
    top: 22px;
    left: 22px;
    z-index: 2147483300;
    appearance: none;
    border: 1px solid rgba(200, 240, 0, .42) !important;
    outline: 0;
    background: rgba(6, 8, 5, .97) !important;
    color: var(--gwm-green) !important;
    width: 72px;
    height: 64px;
    padding: 0 !important;
    border-radius: 15px;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.035) inset,
        0 0 24px rgba(183, 238, 0, .18),
        0 10px 30px rgba(0,0,0,.34);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, opacity .25s ease;
}

body.admin-bar .gwm-burger { top: 54px; }

.gwm-burger:hover,
.gwm-burger:focus-visible {
    transform: translateY(-2px) scale(1.035);
    border-color: rgba(220,255,29,.86) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.05) inset, 0 0 32px rgba(194,244,0,.36), 0 12px 34px rgba(0,0,0,.42);
}

.gwm-burger-frame {
    position: absolute;
    top: 16px;
    left: 18px;
    width: 34px;
    height: 25px;
}

.gwm-burger-line {
    position: absolute;
    left: 0;
    width: 34px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #8ab900, var(--gwm-green-hot));
    box-shadow: 0 0 9px rgba(200,240,0,.5);
    transform-origin: center;
    transition: transform .26s cubic-bezier(.2,.9,.25,1), opacity .18s ease, width .24s ease;
}
.gwm-burger-line-1 { top: 0; }
.gwm-burger-line-2 { top: 10px; width: 27px; }
.gwm-burger-line-3 { top: 20px; width: 31px; }

.gwm-burger-text {
    position: absolute;
    bottom: 4px;
    left: 0;
    width: 100%;
    font: 700 10px/1 Arial, sans-serif;
    letter-spacing: .16em;
    opacity: .72;
}

.gwm-is-open .gwm-burger {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-14px) scale(.92);
}

.gwm-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2147483100;
    background: rgba(0,0,0,.72);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .34s ease, visibility .34s ease;
}

.gwm-is-open .gwm-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.gwm-drawer {
    position: fixed;
    z-index: 2147483200;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(410px, 90vw);
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 10%, rgba(196,239,0,.065), transparent 28%),
        linear-gradient(180deg, rgba(15,18,12,.995), rgba(5,7,5,.995));
    border-right: 1px solid rgba(200,240,0,.58);
    box-shadow: 18px 0 55px rgba(0,0,0,.58), 4px 0 23px rgba(188,238,0,.18);
    transform: translate3d(-104%,0,0);
    visibility: hidden;
    transition: transform .46s cubic-bezier(.18,.9,.26,1), visibility .46s ease;
    isolation: isolate;
    contain: layout paint style;
    will-change: transform;
}


.gwm-is-open .gwm-drawer {
    transform: translate3d(0,0,0);
    visibility: visible;
}

.gwm-panel-noise {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .28;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 16% 22%, rgba(255,255,255,.045) 0 1px, transparent 1.5px),
        radial-gradient(circle at 74% 46%, rgba(255,255,255,.035) 0 1px, transparent 1.5px),
        radial-gradient(circle at 42% 77%, rgba(255,255,255,.03) 0 1px, transparent 1.5px);
    background-size: 18px 18px, 23px 23px, 31px 31px;
}

.gwm-panel-glow {
    position: absolute;
    inset: 0 0 auto auto;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, var(--gwm-green) 10%, rgba(200,240,0,.35) 84%, var(--gwm-green) 94%, transparent 100%);
    box-shadow: 0 0 18px rgba(200,240,0,.68), 0 0 44px rgba(200,240,0,.25);
}

.gwm-drawer-header {
    min-height: 170px;
    padding: 24px 30px 22px 100px;
    position: relative;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

body.admin-bar .gwm-drawer-header { padding-top: 48px; }

.gwm-close {
    position: absolute;
    left: 25px;
    top: 30px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2px solid rgba(200,240,0,.65) !important;
    background: rgba(0,0,0,.3) !important;
    box-shadow: 0 0 16px rgba(200,240,0,.28), inset 0 0 13px rgba(200,240,0,.08);
    padding: 0 !important;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
body.admin-bar .gwm-close { top: 54px; }
.gwm-close:hover,
.gwm-close:focus-visible { transform: rotate(90deg) scale(1.06); box-shadow: 0 0 25px rgba(200,240,0,.5); outline: none; }
.gwm-close span {
    position: absolute;
    width: 25px;
    height: 4px;
    top: 23px;
    left: 13px;
    background: var(--gwm-green-hot);
    border-radius: 999px;
    box-shadow: 0 0 8px rgba(200,240,0,.55);
}
.gwm-close span:first-child { transform: rotate(45deg); }
.gwm-close span:last-child { transform: rotate(-45deg); }

.gwm-brand {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
}
.gwm-brand-logo {
    display: block;
    width: min(235px, 100%);
    max-height: 92px;
    object-fit: contain;
    object-position: left center;
    transform: rotate(-1deg);
}

.gwm-nav {
    position: relative;
    padding: 0 0 96px;
}

.gwm-nav-item {
    position: relative;
    min-height: 84px;
    display: grid;
    grid-template-columns: 72px 1fr 24px;
    align-items: center;
    gap: 10px;
    padding: 11px 30px 11px 26px;
    color: #f8f8f3 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: transparent;
    opacity: 0;
    transform: translateX(-24px);
    transition: background .25s ease, color .25s ease, padding-left .25s ease, transform .36s cubic-bezier(.16,1,.3,1), opacity .3s ease;
}

.gwm-is-open .gwm-nav-item {
    opacity: 1;
    transform: translateX(0);
    transition-delay: calc(90ms + (var(--gwm-index) * 48ms));
}

.gwm-nav-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14%;
    bottom: 14%;
    width: 0;
    background: var(--gwm-green);
    box-shadow: 0 0 16px rgba(200,240,0,.6);
    transition: width .23s ease;
}

.gwm-nav-item:hover,
.gwm-nav-item:focus-visible {
    color: #fff !important;
    padding-left: 32px;
    background: linear-gradient(90deg, rgba(200,240,0,.11), rgba(200,240,0,.015) 72%, transparent);
    outline: none;
}
.gwm-nav-item:hover::before,
.gwm-nav-item:focus-visible::before { width: 4px; }

.gwm-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    color: var(--gwm-green);
    transition: transform .28s cubic-bezier(.16,1,.3,1), color .2s ease;
}
.gwm-icon-wrap svg { width: 38px; height: 38px; display: block; fill: currentColor; }
.gwm-nav-item:hover .gwm-icon-wrap,
.gwm-nav-item:focus-visible .gwm-icon-wrap { transform: scale(1.12) rotate(-3deg); color: var(--gwm-green-hot); }

.gwm-label {
    font-family: var(--gwm-font);
    font-size: 29px;
    line-height: .95;
    letter-spacing: .025em;
    text-transform: uppercase;
    text-shadow: 0 1px 0 #000;
}

.gwm-arrow {
    color: rgba(200,240,0,.42);
    font: 300 30px/1 Arial, sans-serif;
    transform: translateX(-6px);
    opacity: 0;
    transition: transform .2s ease, opacity .2s ease;
}
.gwm-nav-item:hover .gwm-arrow,
.gwm-nav-item:focus-visible .gwm-arrow { transform: translateX(0); opacity: 1; }

.gwm-nav-item-vip .gwm-icon-wrap { color: #e8ff4c; }
.gwm-nav-item-vip .gwm-label { color: #fff; }

.gwm-footer-copy {
    position: absolute;
    left: 30px;
    bottom: 34px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    color: rgba(255,255,255,.36);
    pointer-events: none;
}
.gwm-footer-copy span { font: 800 10px/1 Arial, sans-serif; letter-spacing: .2em; }
.gwm-footer-copy small { margin-top: 5px; font: 17px/1 var(--gwm-font); }

.gwm-slime {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 25px;
    z-index: 2;
    background:
        radial-gradient(18px 22px at 8% 0, var(--gwm-green) 0 35%, transparent 38%),
        radial-gradient(11px 28px at 18% 0, var(--gwm-green) 0 33%, transparent 36%),
        radial-gradient(16px 20px at 31% 0, var(--gwm-green) 0 34%, transparent 37%),
        radial-gradient(9px 31px at 42% 0, var(--gwm-green) 0 32%, transparent 35%),
        radial-gradient(17px 22px at 58% 0, var(--gwm-green) 0 34%, transparent 37%),
        radial-gradient(10px 29px at 72% 0, var(--gwm-green) 0 33%, transparent 36%),
        radial-gradient(18px 23px at 89% 0, var(--gwm-green) 0 35%, transparent 38%);
    opacity: .82;
    pointer-events: none;
}

@media (max-width: 782px) {
    body.admin-bar .gwm-burger { top: 60px; }
    body.admin-bar .gwm-close { top: 64px; }
    .gwm-drawer { width: min(365px, 92vw); }
    .gwm-drawer-header { min-height: 142px; padding: 18px 18px 18px 88px; }
    body.admin-bar .gwm-drawer-header { padding-top: 54px; min-height: 178px; }
    .gwm-close { left: 18px; top: 24px; width: 50px; height: 50px; }
    .gwm-close span { top: 21px; left: 12px; }
    .gwm-brand-logo { width: min(210px, 100%); max-height: 80px; }
    .gwm-nav-item { min-height: 72px; grid-template-columns: 58px 1fr 18px; padding: 8px 22px 8px 20px; }
    .gwm-icon-wrap { width: 44px; height: 44px; }
    .gwm-icon-wrap svg { width: 31px; height: 31px; }
    .gwm-label { font-size: 25px; }
    .gwm-burger { top: 14px; left: 14px; width: 62px; height: 58px; border-radius: 13px; }
    .gwm-burger-frame { top: 14px; left: 15px; transform: scale(.93); }
    .gwm-burger-text { font-size: 9px; bottom: 3px; }
}

@media (max-height: 680px) {
    .gwm-drawer-header { min-height: 112px; }
    .gwm-brand-logo { width: min(190px, 100%); max-height: 68px; }
    .gwm-nav-item { min-height: 58px; }
    .gwm-icon-wrap { width: 38px; height: 38px; }
    .gwm-icon-wrap svg { width: 28px; height: 28px; }
    .gwm-label { font-size: 22px; }
    .gwm-footer-copy { display: none; }
    .gwm-nav { padding-bottom: 28px; }
}

@media (prefers-reduced-motion: reduce) {
    .gwm-root *, .gwm-root *::before, .gwm-root *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
