.gn-bar { display: none; }

@media (min-width: 901px) {
header {
background: none !important;
border-bottom: 0 !important;
backdrop-filter: none !important;
-webkit-backdrop-filter: none !important;
}
#nav {
padding: 14px 20px 0 !important;
height: auto !important;
}
#nav .menu-toggle,
#nav .nav-list,
#nav .mobile-logo,
#nav .mobile-profile-btn { display: none !important; }
header > .xp-bar-container,
.xp-bar-container,
#streakNavbarIndicator { display: none !important; }

.gn-bar {
position: relative;
z-index: 20;
display: flex;
align-items: center;
gap: 14px;
width: min(1320px, 100%);
height: 66px;
margin: 0 auto;
padding: 0 10px 0 14px;
border-radius: 22px;
background: linear-gradient(180deg, rgba(36,11,82,0.95), rgba(22,7,54,0.95));
border: 1px solid rgba(167,139,250,0.3);
box-shadow: 0 16px 40px rgba(0,0,0,0.38), 0 0 30px rgba(124,58,237,0.18), inset 0 1px 0 rgba(255,255,255,0.08);
font-family: 'Lilita One', cursive;
animation: gnIn 0.45s ease-out both;
}
@keyframes gnIn {
from { opacity: 0; transform: translateY(-10px); }
to { opacity: 1; transform: none; }
}
.gn-bar *, .gn-bar *::before, .gn-bar *::after { box-sizing: border-box; }
.gn-bar a, .gn-bar button { font-family: 'Lilita One', cursive; }
.gn-bar a, .gn-bar button, .gn-bar a *, .gn-bar button *, .gn-chip[role="button"], .gn-chip[role="button"] * { cursor: url('/static/cursor/select.cur'), pointer !important; }

.gn-brand {
display: flex;
align-items: center;
gap: 10px;
flex-shrink: 0;
padding: 0 6px 0 0;
text-decoration: none;
}
.gn-logo {
width: 50px;
height: 50px;
object-fit: contain;
margin-top: 10px;
filter: drop-shadow(0 6px 12px rgba(0,0,0,0.45));
transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.gn-brand:hover .gn-logo { transform: translateY(-3px) rotate(-6deg); }
.gn-word {
width: auto;
height: 24px;
filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}

.gn-links {
display: flex;
align-items: center;
gap: 4px;
margin: 0 auto;
padding: 4px;
list-style: none;
border-radius: 16px;
background: rgba(10,4,30,0.35);
border: 1px solid rgba(167,139,250,0.12);
}
.gn-links li { list-style: none; margin: 0; padding: 0; }
.gn-link {
position: relative;
display: flex;
align-items: center;
height: 40px;
padding: 0 16px;
border-radius: 12px;
font-size: 1rem;
letter-spacing: 0.04em;
color: rgba(237,233,254,0.8);
text-decoration: none;
white-space: nowrap;
transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.gn-link:hover { color: #fff; background: rgba(167,139,250,0.14); }
.gn-link:active { transform: scale(0.97); }
.gn-link.is-active {
color: #fff;
background: linear-gradient(135deg, #a855f7, #7c3aed);
box-shadow: 0 6px 16px rgba(124,58,237,0.45), inset 0 1px 0 rgba(255,255,255,0.25);
}

.gn-right {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
}
.gn-stats {
display: flex;
align-items: center;
gap: 6px;
}

.gn-vip {
display: inline-flex;
align-items: center;
gap: 6px;
height: 38px;
padding: 0 12px;
border-radius: 12px;
font-size: 0.95rem;
color: #fbbf24;
text-decoration: none;
background: linear-gradient(135deg, rgba(251,191,36,0.2), rgba(245,158,11,0.12));
border: 1.5px solid rgba(251,191,36,0.45);
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.gn-vip img { width: 20px; height: 20px; filter: drop-shadow(0 0 4px rgba(251,191,36,0.6)); }
.gn-vip:hover { transform: translateY(-1px); border-color: rgba(251,191,36,0.85); box-shadow: 0 0 16px rgba(251,191,36,0.3); }

.gn-lang { position: relative; }
.gn-lang-btn {
display: inline-flex;
align-items: center;
gap: 7px;
height: 38px;
padding: 0 11px;
border-radius: 12px;
font-size: 0.92rem;
color: #fff;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(167,139,250,0.28);
transition: background 0.2s ease, border-color 0.2s ease;
}
.gn-lang-btn img { width: 22px; height: 16px; border-radius: 3px; box-shadow: 0 1px 4px rgba(0,0,0,0.3); pointer-events: none; }
.gn-lang-btn span, .gn-lang-btn svg { pointer-events: none; }
.gn-lang-btn svg { opacity: 0.7; transition: transform 0.2s ease; }
.gn-lang-btn:hover { background: rgba(167,139,250,0.16); border-color: rgba(192,132,252,0.55); }
.gn-lang.is-open .gn-lang-btn svg { transform: rotate(180deg); }

.gn-pop {
position: absolute;
top: calc(100% + 12px);
right: 0;
z-index: 9999;
border-radius: 18px;
background: linear-gradient(165deg, rgba(34,10,78,0.98), rgba(18,5,42,0.98));
border: 1px solid rgba(167,139,250,0.35);
box-shadow: 0 20px 50px rgba(0,0,0,0.55), 0 0 30px rgba(124,58,237,0.2);
}
.gn-pop::before {
content: '';
position: absolute;
left: 0;
right: 0;
top: -14px;
height: 14px;
}
.gn-lang-menu {
min-width: 170px;
padding: 6px;
animation: gnPop 0.18s ease-out;
}
@keyframes gnPop {
from { opacity: 0; transform: translateY(-6px); }
to { opacity: 1; transform: none; }
}
.gn-lang-opt {
display: flex;
align-items: center;
gap: 10px;
padding: 9px 12px;
border-radius: 12px;
font-size: 0.95rem;
color: #c4b5fd;
text-decoration: none;
transition: background 0.2s ease, color 0.2s ease;
}
.gn-lang-opt img { width: 22px; height: 15px; border-radius: 2px; }
.gn-lang-opt i { margin-left: auto; font-style: normal; color: #4ade80; }
.gn-lang-opt:hover { background: rgba(167,139,250,0.14); color: #fff; }
.gn-lang-opt.is-active { color: #fff; background: rgba(124,58,237,0.3); }

.gn-chip {
position: relative;
display: inline-flex;
align-items: center;
gap: 6px;
height: 38px;
padding: 0 11px;
border-radius: 12px;
font-size: 1rem;
line-height: 1;
color: #fff;
background: rgba(10,4,30,0.55);
border: 1px solid rgba(167,139,250,0.22);
white-space: nowrap;
}
.gn-coins { color: #fde047; }
.gn-coins img { width: 22px; height: 22px; object-fit: contain; }
.gn-mult {
position: absolute;
top: -8px;
right: -6px;
padding: 2px 5px;
border-radius: 7px;
font-size: 0.66rem;
line-height: 1.1;
color: #1a1a1a;
background: linear-gradient(135deg, #facc15, #f59e0b);
box-shadow: 0 2px 8px rgba(0,0,0,0.35);
pointer-events: none;
}
.gn-mult--gold { background: linear-gradient(135deg, #fde68a, #f59e0b); }
.gn-mult--boost { background: linear-gradient(135deg, #c084fc, #7c3aed); color: #fff; }
.gn-mult--xp { position: static; color: #fff; background: linear-gradient(135deg, #38bdf8, #0ea5e9); }

.gn-streak { color: #fdba74; }
.gn-streak-flame { font-size: 1.05rem; }
.gn-streak.ds-done .gn-streak-flame { filter: drop-shadow(0 0 6px #ff4500); }
.gn-streak.ds-pending { animation: gnStreakPulse 2s ease-in-out infinite; }
.gn-streak.ds-pending .gn-streak-flame { filter: grayscale(0.5); opacity: 0.85; }
.gn-streak.ds-none { color: rgba(221,214,254,0.6); }
.gn-streak.ds-none .gn-streak-flame { filter: grayscale(1); opacity: 0.5; }
@keyframes gnStreakPulse {
0%, 100% { box-shadow: 0 0 0 0 rgba(251,146,60,0.35); }
50% { box-shadow: 0 0 0 5px rgba(251,146,60,0); }
}

#nav .gn-energy {
overflow: hidden;
min-width: 0;
color: #fde68a;
background: rgba(10,4,30,0.55);
border: 1px solid rgba(250,204,21,0.35);
box-shadow: none;
transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
#nav .gn-energy:hover { border-color: rgba(250,204,21,0.75); transform: translateY(-1px); box-shadow: 0 0 14px rgba(250,204,21,0.25); }
#nav .gn-energy:focus-visible { outline: 2px solid rgba(250,204,21,0.8); outline-offset: 2px; }
#nav .gn-energy .energie-bar-bg {
position: absolute;
inset: 0;
z-index: 0;
border-radius: inherit;
overflow: hidden;
pointer-events: none;
}
#nav .gn-energy .energie-bar-fill {
display: block;
height: 100%;
opacity: 0.28;
filter: none;
background: linear-gradient(90deg, #facc15, #f59e0b);
animation: none;
transition: width 0.5s ease;
}
#nav .gn-energy.recharging .energie-bar-fill { opacity: 0.32; animation: gnEnergy 1.6s ease-in-out infinite alternate; }
@keyframes gnEnergy { from { opacity: 0.22; } to { opacity: 0.4; } }
#nav .gn-energy > *:not(.energie-bar-bg) { position: relative; z-index: 1; }
.gn-energy-ico { font-size: 1rem; }
.gn-energy-val small { font-size: 0.78em; opacity: 0.7; margin-left: 1px; }
.gn-energy-timer {
padding: 3px 6px;
border-radius: 7px;
font-size: 0.74rem;
color: #fff;
background: rgba(0,0,0,0.3);
}
#nav .gn-energy.vip-energy {
color: #fde68a;
background: linear-gradient(135deg, rgba(91,33,182,0.75), rgba(124,58,237,0.55));
border-color: rgba(251,191,36,0.55);
animation: none;
}
#nav .gn-energy.vip-energy .energy-number { font-size: 1.25rem; }
.gn-energy-vip {
padding: 2px 7px;
border-radius: 8px;
font-size: 0.72rem;
color: #1e0340;
background: linear-gradient(135deg, #fde68a, #f59e0b);
}

.gn-palette { position: relative; }
.gn-icon-btn {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
padding: 0;
border-radius: 12px;
font-size: 1.1rem;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(167,139,250,0.28);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.gn-icon-btn > * { pointer-events: none; }
.gn-icon-btn:hover { background: rgba(167,139,250,0.18); border-color: rgba(192,132,252,0.6); transform: translateY(-1px); }
.gn-icon-lock {
position: absolute;
right: -4px;
bottom: -4px;
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
border-radius: 50%;
font-size: 0.55rem;
background: #1e0340;
}
.gn-bg-pop {
min-width: 210px;
padding: 12px 14px;
transition: opacity 0.15s ease;
}
.gn-pop-title {
margin-bottom: 10px;
font-size: 0.72rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(221,214,254,0.6);
}
.gn-bg-unlock {
display: flex;
align-items: center;
gap: 6px;
margin-top: 10px;
padding: 7px 10px;
border-radius: 10px;
font-size: 0.8rem;
color: #fbbf24;
text-decoration: none;
background: linear-gradient(135deg, rgba(251,191,36,0.15), rgba(245,158,11,0.1));
border: 1px solid rgba(251,191,36,0.3);
}

.gn-profile { position: relative; }
.gn-profile-btn {
display: flex;
align-items: center;
gap: 10px;
height: 50px;
padding: 0 12px 0 5px;
border-radius: 16px;
color: #fff;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(167,139,250,0.3);
transition: background 0.2s ease, border-color 0.2s ease;
}
.gn-profile-btn > *, .gn-profile-btn img { pointer-events: none; }
.gn-profile-btn:hover,
.gn-profile.dropdown-open .gn-profile-btn { background: rgba(167,139,250,0.18); border-color: rgba(192,132,252,0.6); }
.gn-avatar {
position: relative;
display: block;
flex-shrink: 0;
width: 40px;
height: 40px;
}
.gn-avatar-img {
display: block;
width: 40px;
height: 40px;
border-radius: 50%;
object-fit: cover;
border: 2px solid rgba(192,132,252,0.7);
background: #2a0f5c;
}
.gn-avatar.has-frame .gn-avatar-img { border: 0; width: 34px; height: 34px; margin: 3px; }
.gn-avatar-frame {
position: absolute;
inset: -3px;
width: 46px;
height: 46px;
pointer-events: none;
}
.gn-avatar-dot {
position: absolute;
top: -4px;
right: -4px;
min-width: 18px;
height: 18px;
padding: 0 4px;
border-radius: 9px;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.65rem;
color: #fff;
background: #ef4444;
border: 2px solid #1e0340;
box-shadow: 0 0 8px rgba(239,68,68,0.6);
}
.gn-lv {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 62px;
text-align: left;
}
.gn-lv-num { font-size: 0.9rem; line-height: 1; color: #fff; }
.gn-lv-bar {
display: block;
width: 62px;
height: 6px;
border-radius: 999px;
overflow: hidden;
background: rgba(10,4,30,0.7);
}
.gn-lv-bar span {
display: block;
height: 100%;
min-width: 4px;
border-radius: inherit;
background: linear-gradient(90deg, #38bdf8, #a855f7);
}
.gn-caret { opacity: 0.7; transition: transform 0.2s ease; }
.gn-profile.dropdown-open .gn-caret { transform: rotate(180deg); }

.gn-menu {
display: none;
width: 310px;
padding: 12px;
}
.gn-menu.show { display: block; animation: gnPop 0.18s ease-out; }
.gn-menu-head {
display: flex;
align-items: center;
gap: 12px;
padding: 6px 6px 12px;
}
.gn-menu-avatar {
position: relative;
flex-shrink: 0;
width: 50px;
height: 50px;
}
.gn-menu-avatar > img:first-child {
width: 50px;
height: 50px;
border-radius: 50%;
object-fit: cover;
border: 2px solid rgba(192,132,252,0.7);
}
.gn-menu-avatar.has-frame > img:first-child { border: 0; width: 42px; height: 42px; margin: 4px; }
.gn-menu-avatar .gn-avatar-frame { inset: -4px; width: 58px; height: 58px; }
.gn-menu-id { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.gn-menu-name {
font-size: 1.15rem;
line-height: 1.1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.gn-menu-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.gn-tag {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
border-radius: 7px;
font-size: 0.7rem;
text-decoration: none;
}
.gn-tag img { width: 14px; height: 14px; border-radius: 3px; object-fit: cover; }
.gn-tag--vip { color: #1a0a20; background: linear-gradient(135deg, #fbbf24, #f59e0b); }
.gn-tag--guild { color: #c4b5fd; background: rgba(124,58,237,0.25); border: 1px solid rgba(167,139,250,0.4); }
.gn-tag--guild:hover { color: #fff; background: rgba(124,58,237,0.45); }
.gn-bell {
position: relative;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 12px;
font-size: 1.15rem;
text-decoration: none;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(167,139,250,0.25);
transition: background 0.2s ease;
}
.gn-bell:hover { background: rgba(167,139,250,0.18); }
.gn-bell.has-new { animation: bellShake 0.8s ease-in-out infinite; }
.gn-bell span {
position: absolute;
top: -6px;
right: -6px;
min-width: 18px;
height: 18px;
padding: 0 4px;
border-radius: 9px;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.65rem;
color: #fff;
background: #ef4444;
box-shadow: 0 0 8px rgba(239,68,68,0.6);
}
.gn-menu-xp {
padding: 10px 12px;
margin-bottom: 10px;
border-radius: 14px;
background: rgba(10,4,30,0.5);
border: 1px solid rgba(167,139,250,0.16);
}
.gn-menu-xp-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
margin-bottom: 8px;
font-size: 0.85rem;
color: #ddd6fe;
}
.gn-menu-xp-bar {
height: 8px;
border-radius: 999px;
overflow: hidden;
background: rgba(10,4,30,0.8);
}
.gn-menu-xp-bar span {
display: block;
height: 100%;
min-width: 6px;
border-radius: inherit;
background: linear-gradient(90deg, #38bdf8, #a855f7);
box-shadow: 0 0 10px rgba(168,85,247,0.5);
}
.gn-menu-links {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px;
}
.gn-menu-links a {
display: flex;
align-items: center;
gap: 8px;
height: 44px;
padding: 0 12px;
border-radius: 12px;
font-size: 0.95rem;
color: #ede9fe;
text-decoration: none;
background: rgba(255,255,255,0.05);
border: 1px solid rgba(167,139,250,0.14);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.gn-menu-links a span { font-size: 1.05rem; }
.gn-menu-links a em {
margin-left: auto;
padding: 2px 6px;
border-radius: 7px;
font-style: normal;
font-size: 0.62rem;
color: #fff;
background: linear-gradient(135deg, #f59e0b, #ef4444);
}
.gn-menu-links a:hover,
.gn-menu-links a.is-active { background: rgba(167,139,250,0.18); border-color: rgba(192,132,252,0.5); color: #fff; }
.gn-menu-links a:active { transform: scale(0.98); }
.gn-menu-wide { grid-column: 1 / -1; }
.gn-menu-vip {
display: flex;
align-items: center;
gap: 10px;
margin-top: 8px;
padding: 10px 12px;
border-radius: 14px;
font-size: 0.98rem;
color: #fbbf24;
text-decoration: none;
background: linear-gradient(135deg, rgba(251,191,36,0.18), rgba(245,158,11,0.1));
border: 1.5px solid rgba(251,191,36,0.4);
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.gn-menu-vip img { filter: drop-shadow(0 0 5px rgba(251,191,36,0.6)); }
.gn-menu-vip span { flex: 1; }
.gn-menu-vip i { font-style: normal; }
.gn-menu-vip:hover { border-color: rgba(251,191,36,0.8); box-shadow: 0 0 16px rgba(251,191,36,0.25); }
.gn-menu-foot {
display: block;
margin: 10px 0 0;
padding-top: 10px;
border-top: 1px solid rgba(167,139,250,0.16);
}
.gn-menu-foot a {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
height: 40px;
border-radius: 12px;
font-size: 0.92rem;
color: #fca5a5;
text-decoration: none;
background: rgba(239,68,68,0.08);
border: 1px solid rgba(239,68,68,0.22);
transition: background 0.2s ease, color 0.2s ease;
}
.gn-menu-foot a:hover { color: #fff; background: rgba(239,68,68,0.22); }

.gn-btn {
display: inline-flex;
align-items: center;
justify-content: center;
height: 42px;
padding: 0 18px;
border-radius: 13px;
font-size: 1rem;
letter-spacing: 0.02em;
color: #fff;
text-decoration: none;
white-space: nowrap;
transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease;
}
.gn-btn:hover { transform: translateY(-1px); }
.gn-btn--ghost { background: rgba(255,255,255,0.06); border: 1px solid rgba(221,214,254,0.3); }
.gn-btn--ghost:hover { background: rgba(167,139,250,0.18); }
.gn-btn--primary {
background: linear-gradient(135deg, #c084fc 0%, #a855f7 45%, #7c3aed 100%);
border: 1px solid rgba(233,213,255,0.55);
box-shadow: 0 8px 20px rgba(124,58,237,0.5), inset 0 1px 0 rgba(255,255,255,0.3);
}
.gn-btn--primary:hover { filter: brightness(1.08); }
}

@media (min-width: 901px) and (max-width: 1360px) {
.gn-word { display: none; }
}
@media (min-width: 901px) and (max-width: 1560px) {
.gn-bar.is-logged .gn-word { display: none; }
}
@media (min-width: 901px) and (max-width: 1200px) {
.gn-bar { gap: 10px; }
.gn-link { padding: 0 11px; font-size: 0.94rem; }
.gn-vip span { display: none; }
.gn-vip { padding: 0 9px; }
.gn-lv { display: none; }
.gn-profile-btn { padding: 0 10px 0 5px; gap: 8px; }
}
@media (min-width: 901px) and (max-width: 1080px) {
.gn-links { padding: 3px; gap: 2px; }
.gn-link { padding: 0 9px; font-size: 0.88rem; letter-spacing: 0.02em; }
.gn-lang-btn span { display: none; }
.gn-palette, .gn-energy-timer { display: none; }
.gn-chip { padding: 0 9px; }
}

.event-indicator {
position: absolute;
top: -8px;
right: -6px;
background: linear-gradient(135deg, #ff4757, #ff3742);
color: white;
font-size: 0.65rem;
font-weight: 700;
padding: 2px 4px;
border-radius: 6px;
box-shadow: 0 0 8px rgba(255, 71, 87, 0.6), 0 2px 4px rgba(0,0,0,0.3);
letter-spacing: 0.3px;
border: 1px solid rgba(255, 255, 255, 0.3);
z-index: 10;
pointer-events: none;
}
.event-indicator.xp-x2 {
background: linear-gradient(135deg, #38bdf8, #0ea5e9);
box-shadow: 0 0 8px rgba(56, 189, 248, 0.6), 0 2px 4px rgba(0,0,0,0.3);
position: relative;
top: auto;
right: auto;
margin-left: 8px;
display: inline-block;
}
@media (max-width: 768px) {
.event-indicator.xp-x2 { font-size: 0.65rem; padding: 2px 5px; margin-left: 5px; min-width: 26px; }
}

@keyframes bellShake {
0%, 100% { transform: rotate(0deg); }
10%, 30%, 50%, 70% { transform: rotate(-10deg); }
20%, 40%, 60% { transform: rotate(10deg); }
80% { transform: rotate(-5deg); }
90% { transform: rotate(5deg); }
}
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.8; transform: scale(1.1); }
}
@keyframes bounce {
0%, 100% { transform: translateY(0); opacity: 1; }
25% { transform: translateY(-5px); }
50% { transform: translateY(0); }
75% { transform: translateY(-3px); }
}

.gn-boosts {
position: absolute;
top: 90px;
right: calc(max(20px, (100% - 1320px) / 2) + 12px);
z-index: 15;
display: inline-flex;
align-items: center;
gap: 6px;
padding: 5px 6px 5px 12px;
border-radius: 999px;
background: linear-gradient(135deg, rgba(44,16,78,0.95), rgba(22,7,54,0.95));
border: 1px solid rgba(251,191,36,0.45);
box-shadow: 0 10px 26px rgba(0,0,0,0.35), 0 0 18px rgba(251,191,36,0.16), inset 0 1px 0 rgba(255,255,255,0.08);
font-family: 'Lilita One', cursive;
overflow: hidden;
animation: gnBoostIn 0.5s 0.15s ease-out both;
}
.gn-boosts::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 40%;
background: linear-gradient(100deg, transparent, rgba(255,255,255,0.16), transparent);
transform: translateX(-120%);
animation: gnBoostShine 6s 1.2s ease-in-out infinite;
pointer-events: none;
}
@keyframes gnBoostIn {
from { opacity: 0; transform: translateY(-6px); }
to { opacity: 1; transform: none; }
}
@keyframes gnBoostShine {
0%, 70% { transform: translateX(-120%); }
100% { transform: translateX(320%); }
}
.gn-boosts-src {
margin-right: 2px;
font-size: 0.8rem;
letter-spacing: 0.03em;
white-space: nowrap;
background: linear-gradient(135deg, #fde68a, #fbbf24);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.gn-boost {
display: inline-flex;
align-items: center;
gap: 4px;
height: 26px;
padding: 0 9px;
border-radius: 999px;
font-family: 'Lilita One', cursive;
font-size: 0.8rem;
line-height: 1;
color: #fff;
white-space: nowrap;
}
.gn-boost i { font-style: normal; font-size: 0.78rem; }
.gn-boost img { width: 16px; height: 16px; object-fit: contain; }
.gn-boost b { font-weight: 400; font-size: 0.95rem; }
.gn-boost--xp {
background: linear-gradient(135deg, #38bdf8, #6366f1);
box-shadow: 0 3px 10px rgba(56,189,248,0.35), inset 0 1px 0 rgba(255,255,255,0.3);
}
.gn-boost--coins {
color: #3b1d02;
background: linear-gradient(135deg, #fde68a, #f59e0b);
box-shadow: 0 3px 10px rgba(245,158,11,0.35), inset 0 1px 0 rgba(255,255,255,0.45);
}
.gn-boost--energy {
color: #3b1d02;
background: linear-gradient(135deg, #fef08a, #f97316);
box-shadow: 0 3px 10px rgba(249,115,22,0.35), inset 0 1px 0 rgba(255,255,255,0.45);
}
@media (max-width: 900px) {
.gn-boosts { display: none !important; }
}
.ggmm-boosts {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 8px;
padding: 10px 12px;
border-radius: 16px;
background: linear-gradient(135deg, rgba(251,191,36,0.14), rgba(124,58,237,0.14));
border: 1px solid rgba(251,191,36,0.35);
}
.ggmm-boosts-src {
font-family: 'Lilita One', cursive;
font-size: 0.85rem;
letter-spacing: 0.03em;
color: #fcd34d;
}
.ggmm-boosts-list { display: flex; flex-wrap: wrap; gap: 6px; }

@media (max-width: 900px) {
#nav {
position: fixed;
top: 0;
left: 0;
width: 100vw;
min-height: 60px;
background: #0a061e;
z-index: 4000;
display: flex;
align-items: center;
justify-content: flex-start;
padding: 0 15px;
border-bottom: 1px solid rgba(139, 92, 246, 0.15);
}
}
@media (max-width: 480px) {
#nav { min-height: 55px; }
}

@keyframes streakPulse {
0%, 100% { transform: scale(1); filter: brightness(1); }
50% { transform: scale(1.1); filter: brightness(1.2); }
}
#streakNavbarIndicator { cursor: default; }
#streakNavbarIndicator.ds-done .ds-flame { filter: drop-shadow(0 0 8px #ff4500); }
#streakNavbarIndicator.ds-pending { animation: streakPulse 2s infinite; }
#streakNavbarIndicator.ds-pending .ds-flame { filter: grayscale(.5) drop-shadow(0 0 6px rgba(255, 69, 0, .5)); opacity: .8; }
#streakNavbarIndicator.ds-none .ds-flame { filter: grayscale(1); opacity: .45; }
#streakNavbarIndicator.ds-none .ds-count { opacity: .7; }
@media (max-width: 768px) {
#streakNavbarIndicator { top: 62px !important; right: 5px !important; font-size: 1.2rem !important; z-index: 4500 !important; }
#streakNavbarIndicator div:first-child { font-size: 1.2rem !important; }
#streakNavbarIndicator div:last-child { font-size: 0.7rem !important; }
}

@media (max-width: 1024px) {
.xp-bar-container {
position: fixed;
top: 10px;
left: 50%;
transform: translateX(-50%);
z-index: 4500;
max-width: 65vw;
pointer-events: none;
display: block !important;
visibility: visible !important;
}
}
@media (max-width: 360px) {
.xp-bar-container { max-width: 58vw; }
}
@media (max-width: 320px) {
.xp-bar-container { max-width: 54vw; }
}

@keyframes bgVolIn { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: translateX(0); } }
#bg-vol-slider, #sfx-vol-slider { -webkit-appearance: none; appearance: none; background: rgba(139,92,246,0.25); border-radius: 3px; outline: none; }
#bg-vol-slider::-webkit-slider-thumb, #sfx-vol-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(135deg,#8b5cf6,#6d28d9); cursor: url('/static/cursor/select.cur'), pointer; box-shadow: 0 0 6px rgba(139,92,246,0.5); }
#bg-vol-slider::-moz-range-thumb, #sfx-vol-slider::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(135deg,#8b5cf6,#6d28d9); cursor: url('/static/cursor/select.cur'), pointer; border: none; box-shadow: 0 0 6px rgba(139,92,246,0.5); }
#bg-vol-down:hover, #bg-vol-up:hover, #sfx-vol-down:hover, #sfx-vol-up:hover { color: #c4b5fd; }
#sfx-toggle:hover { transform: scale(1.08); }

#navBgHueSlider { -webkit-appearance: none; appearance: none; flex: 1; height: 12px; border-radius: 6px; background: linear-gradient(to right, hsl(0,70%,50%), hsl(60,70%,50%), hsl(120,70%,50%), hsl(180,70%,50%), hsl(240,70%,50%), hsl(300,70%,50%), hsl(359,70%,50%)); outline: none; border: none; }
#navBgHueSlider::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,0.5); }
#navBgHueSlider::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,0.5); border: none; }

.sunburst-bg::before { width: 160vmax !important; height: 160vmax !important; }

#gg-toast-container {
    position: fixed;
    top: 80px;
    right: 20px;
    z-index: 50000;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none;
    max-height: 80vh;
    overflow: hidden;
}

@media (max-width: 768px) {
    #gg-toast-container {
        top: 70px;
        right: 10px;
        left: 10px;
        align-items: stretch;
    }
}

.gg-toast {
    pointer-events: auto;
    min-width: 320px;
    max-width: 420px;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.97), rgba(30, 27, 75, 0.97));
    border: 1.5px solid rgba(139, 92, 246, 0.4);
    border-radius: 16px;
    padding: 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 20px rgba(124, 58, 237, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    animation: ggToastIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    transform-origin: top right;
    overflow: hidden;
    cursor: default;
    font-family: 'Lilita One', cursive;
    transition: opacity 0.3s, transform 0.3s;
}

@media (max-width: 768px) {
    .gg-toast {
        min-width: unset;
        max-width: 100%;
        width: 100%;
        transform-origin: top center;
    }
}

.gg-toast.toast-exit {
    animation: ggToastOut 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.gg-toast-glow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 16px 16px 0 0;
    z-index: 1;
}

.gg-toast.toast-friend .gg-toast-glow {
    background: linear-gradient(90deg, #3b82f6, #60a5fa, #3b82f6);
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.6);
}

.gg-toast.toast-lobby .gg-toast-glow {
    background: linear-gradient(90deg, #8b5cf6, #a78bfa, #8b5cf6);
    box-shadow: 0 0 15px rgba(139, 92, 246, 0.6);
}

.gg-toast.toast-challenge .gg-toast-glow {
    background: linear-gradient(90deg, #ef4444, #f87171, #ef4444);
    box-shadow: 0 0 15px rgba(239, 68, 68, 0.6);
}

.gg-toast.toast-default .gg-toast-glow {
    background: linear-gradient(90deg, #22c55e, #4ade80, #22c55e);
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.6);
}

.gg-toast-body {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 16px 12px;
    position: relative;
    z-index: 2;
}

.gg-toast-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    position: relative;
}

.toast-friend .gg-toast-icon {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(96, 165, 250, 0.15));
    border: 1.5px solid rgba(59, 130, 246, 0.4);
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.2);
}

.toast-lobby .gg-toast-icon {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.25), rgba(167, 139, 250, 0.15));
    border: 1.5px solid rgba(139, 92, 246, 0.4);
    box-shadow: 0 0 12px rgba(139, 92, 246, 0.2);
}

.toast-challenge .gg-toast-icon {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.25), rgba(248, 113, 113, 0.15));
    border: 1.5px solid rgba(239, 68, 68, 0.4);
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.2);
}

.toast-default .gg-toast-icon {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.25), rgba(74, 222, 128, 0.15));
    border: 1.5px solid rgba(34, 197, 94, 0.4);
    box-shadow: 0 0 12px rgba(34, 197, 94, 0.2);
}

.gg-toast-content {
    flex: 1;
    min-width: 0;
}

.gg-toast-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.gg-toast-title-text {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gg-toast-badge {
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    flex-shrink: 0;
}

.toast-friend .gg-toast-badge {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.3), rgba(96, 165, 250, 0.2));
    color: #93c5fd;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.toast-lobby .gg-toast-badge {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.3), rgba(167, 139, 250, 0.2));
    color: #c4b5fd;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

.toast-challenge .gg-toast-badge {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.3), rgba(248, 113, 113, 0.2));
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.toast-default .gg-toast-badge {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.3), rgba(74, 222, 128, 0.2));
    color: #86efac;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.gg-toast-msg {
    font-size: 0.88rem;
    color: #cbd5e1;
    font-family: system-ui, -apple-system, sans-serif;
    font-weight: 400;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.gg-toast-time {
    font-size: 0.72rem;
    color: #64748b;
    margin-top: 4px;
}

.gg-toast-close {
    position: absolute;
    top: 8px;
    right: 10px;
    background: none;
    border: none;
    color: #64748b;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    transition: color 0.2s, transform 0.2s;
    z-index: 3;
}

.gg-toast-close:hover {
    color: #ef4444;
    transform: scale(1.15);
}

.gg-toast-actions {
    display: flex;
    gap: 8px;
    padding: 0 16px 14px;
    position: relative;
    z-index: 2;
}

.gg-toast-btn {
    flex: 1;
    padding: 8px 14px;
    border: none;
    border-radius: 10px;
    font-family: 'Lilita One', cursive;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    letter-spacing: 0.02em;
}

.gg-toast-btn-primary {
    background: linear-gradient(135deg, #7c3aed, #6d28d9);
    color: #fff;
    box-shadow: 0 3px 12px rgba(124, 58, 237, 0.4);
}

.gg-toast-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(124, 58, 237, 0.5);
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.gg-toast-btn-accept {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #fff;
    box-shadow: 0 3px 12px rgba(34, 197, 94, 0.4);
}

.gg-toast-btn-accept:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(34, 197, 94, 0.5);
}

.gg-toast-btn-decline {
    background: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.gg-toast-btn-decline:hover {
    background: rgba(239, 68, 68, 0.25);
    color: #fff;
    transform: translateY(-1px);
}

.gg-toast-btn-secondary {
    background: rgba(255, 255, 255, 0.08);
    color: #94a3b8;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.gg-toast-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    transform: translateY(-1px);
}

.gg-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    border-radius: 0 0 16px 16px;
    background: rgba(139, 92, 246, 0.5);
    animation: ggToastProgress linear forwards;
}

.toast-friend .gg-toast-progress { background: rgba(59, 130, 246, 0.5); }
.toast-lobby .gg-toast-progress { background: rgba(139, 92, 246, 0.5); }
.toast-challenge .gg-toast-progress { background: rgba(239, 68, 68, 0.5); }

@keyframes ggToastIn {
    0% { opacity: 0; transform: translateX(60px) scale(0.85); }
    100% { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes ggToastOut {
    0% { opacity: 1; transform: translateX(0) scale(1); }
    100% { opacity: 0; transform: translateX(60px) scale(0.85); }
}

@media (max-width: 768px) {
    @keyframes ggToastIn {
        0% { opacity: 0; transform: translateY(-30px) scale(0.9); }
        100% { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes ggToastOut {
        0% { opacity: 1; transform: translateY(0) scale(1); }
        100% { opacity: 0; transform: translateY(-30px) scale(0.9); }
    }
}

@keyframes ggToastProgress {
    0% { width: 100%; }
    100% { width: 0%; }
}

@keyframes ggToastIconPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}

.gg-toast-icon-pulse {
    animation: ggToastIconPulse 1.5s ease-in-out 2;
}

.ggmm-toggle,
.ggmm-backdrop,
.ggmm-panel { display: none; }

@media (max-width: 900px) {
    #nav .menu-toggle,
    #nav .nav-list,
    #mobileProfileDropdown { display: none !important; }

    .ggmm-toggle {
        display: flex;
        position: fixed;
        top: calc(9px + env(safe-area-inset-top, 0px));
        right: 12px;
        z-index: 6010;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
        padding: 0;
        border-radius: 13px;
        border: 1.5px solid rgba(167,139,250,0.55);
        background: linear-gradient(145deg, rgba(124,58,237,0.55), rgba(76,29,149,0.55));
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        box-shadow: 0 2px 10px rgba(0,0,0,0.35), 0 0 12px rgba(124,58,237,0.4), inset 0 1px 0 rgba(255,255,255,0.18);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.18s ease, background 0.3s ease, box-shadow 0.3s ease;
    }
    .ggmm-toggle:active { transform: scale(0.9); }
    .ggmm-bars {
        position: relative;
        width: 20px;
        height: 15px;
        display: block;
    }
    .ggmm-bars span {
        position: absolute;
        left: 0;
        height: 2.4px;
        border-radius: 3px;
        background: #fff;
        box-shadow: 0 0 6px rgba(255,255,255,0.35);
        transition: transform 0.42s cubic-bezier(0.68,-0.4,0.27,1.4), opacity 0.2s ease, width 0.3s ease, top 0.3s ease;
    }
    .ggmm-bars span:nth-child(1) { top: 0; width: 20px; }
    .ggmm-bars span:nth-child(2) { top: 6.3px; width: 14px; }
    .ggmm-bars span:nth-child(3) { top: 12.6px; width: 20px; }
    .ggmm-toggle[aria-expanded="true"] {
        background: linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.06));
        box-shadow: 0 4px 16px rgba(0,0,0,0.35);
    }
    .ggmm-toggle[aria-expanded="true"] .ggmm-bars span:nth-child(1) { top: 6.3px; transform: rotate(45deg); }
    .ggmm-toggle[aria-expanded="true"] .ggmm-bars span:nth-child(2) { opacity: 0; transform: translateX(10px); }
    .ggmm-toggle[aria-expanded="true"] .ggmm-bars span:nth-child(3) { top: 6.3px; transform: rotate(-45deg); }
    .ggmm-toggle[aria-expanded="true"] .ggmm-dot { transform: scale(0); }
    .ggmm-dot {
        position: absolute;
        top: -6px;
        right: -6px;
        min-width: 19px;
        height: 19px;
        padding: 0 5px;
        border-radius: 999px;
        background: #ef4444;
        border: 2px solid #1e0340;
        color: #fff;
        font: 700 0.65rem/15px system-ui, sans-serif;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.25s ease;
    }

    .ggmm-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 5990;
        background: rgba(8,3,22,0.55);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        opacity: 0;
        transition: opacity 0.35s ease;
    }
    .ggmm-backdrop[hidden] { display: none; }
    body.ggmm-open .ggmm-backdrop { opacity: 1; }

    .ggmm-panel {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 6000;
        width: min(88vw, 380px);
        border-radius: 26px 0 0 26px;
        background:
            radial-gradient(120% 60% at 100% 0%, rgba(168,85,247,0.28) 0%, transparent 60%),
            radial-gradient(90% 50% at 0% 100%, rgba(59,130,246,0.14) 0%, transparent 60%),
            linear-gradient(165deg, #2b1063 0%, #1b0940 55%, #12062b 100%);
        border-left: 1.5px solid rgba(167,139,250,0.35);
        box-shadow: -18px 0 50px rgba(0,0,0,0.55);
        transform: translateX(105%);
        transition: transform 0.46s cubic-bezier(0.22,1,0.36,1);
        will-change: transform;
        color: #fff;
        overflow: hidden;
        touch-action: pan-y;
        overscroll-behavior: contain;
    }
    .ggmm-panel[hidden] { display: none; }
    body.ggmm-open .ggmm-panel { transform: translateX(0); }
    .ggmm-panel.is-dragging { transition: none; }

    .ggmm-scroll {
        height: 100%;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: calc(14px + env(safe-area-inset-top, 0px)) 18px calc(24px + env(safe-area-inset-bottom, 0px));
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .ggmm-scroll > * { flex-shrink: 0; }
    .ggmm-scroll::after {
        content: '';
        display: block;
        flex-shrink: 0;
        height: calc(16px + env(safe-area-inset-bottom, 0px));
    }

    .ggmm-item {
        opacity: 0;
        transform: translateX(28px);
        transition: opacity 0.35s ease, transform 0.5s cubic-bezier(0.22,1,0.36,1);
    }
    body.ggmm-open .ggmm-item {
        opacity: 1;
        transform: none;
        transition-delay: calc(0.05s + var(--i, 0) * 0.035s);
    }

    .ggmm-head {
        position: sticky;
        top: calc(-14px - env(safe-area-inset-top, 0px));
        z-index: 3;
        display: flex;
        align-items: center;
        min-height: 46px;
        margin: calc(-14px - env(safe-area-inset-top, 0px)) -18px 0;
        padding: calc(14px + env(safe-area-inset-top, 0px)) 74px 12px 18px;
        background: linear-gradient(180deg, #2c1066 0%, #2a0f61 72%, rgba(42,15,97,0) 100%);
    }
    .ggmm-brand {
        display: flex;
        align-items: center;
        gap: 10px;
        color: #fff;
        text-decoration: none;
        font-family: 'Lilita One', cursive;
        font-size: 1.35rem;
        letter-spacing: 0.3px;
        text-shadow: 0 2px 10px rgba(0,0,0,0.4);
    }
    .ggmm-brand img { filter: drop-shadow(0 2px 8px rgba(124,58,237,0.6)); }

    .ggmm-profile {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px;
        border-radius: 20px;
        text-decoration: none;
        color: #fff;
        background: linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
        border: 1px solid rgba(167,139,250,0.28);
    }
    .ggmm-avatar {
        position: relative;
        width: 58px;
        height: 58px;
        flex-shrink: 0;
    }
    .ggmm-avatar-img {
        width: 58px;
        height: 58px;
        border-radius: 50%;
        object-fit: cover;
        border: 2.5px solid rgba(167,139,250,0.75);
        box-shadow: 0 0 16px rgba(124,58,237,0.55);
    }
    .ggmm-avatar.is-vip .ggmm-avatar-img {
        position: absolute;
        inset: 6px;
        width: 46px;
        height: 46px;
        border: none;
    }
    .ggmm-avatar-frame {
        position: absolute;
        inset: 0;
        width: 58px;
        height: 58px;
        pointer-events: none;
    }
    .ggmm-profile-info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    .ggmm-username {
        font-family: 'Lilita One', cursive;
        font-size: 1.2rem;
        line-height: 1.1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .ggmm-tags { display: flex; flex-wrap: wrap; gap: 5px; }
    .ggmm-tag {
        font-family: 'Lilita One', cursive;
        font-size: 0.7rem;
        padding: 2px 8px;
        border-radius: 999px;
        background: rgba(124,58,237,0.45);
        border: 1px solid rgba(167,139,250,0.4);
    }
    .ggmm-tag-vip {
        background: linear-gradient(135deg, #fbbf24, #f59e0b);
        border-color: transparent;
        color: #2a1600;
    }
    .ggmm-tag-guild { background: rgba(255,255,255,0.08); }
    .ggmm-xp {
        display: block;
        height: 5px;
        border-radius: 999px;
        background: rgba(255,255,255,0.12);
        overflow: hidden;
    }
    .ggmm-xp span {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #38bdf8, #a855f7);
    }

    .ggmm-stats {
        display: grid;
        grid-template-columns: 1fr 1.4fr auto;
        gap: 8px;
    }
    .ggmm-stat {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 42px;
        padding: 0 10px;
        border-radius: 14px;
        background: rgba(10,4,30,0.45);
        border: 1px solid rgba(167,139,250,0.22);
        color: #fde68a;
        font-family: 'Lilita One', cursive;
        font-size: 0.98rem;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }
    .ggmm-energy {
        color: #fde047;
        cursor: pointer;
        font: inherit;
        font-family: 'Lilita One', cursive;
        font-size: 0.98rem;
    }
    .ggmm-energy-timer {
        font-size: 0.72rem;
        color: rgba(255,255,255,0.7);
    }
    .ggmm-energy-timer:empty { display: none; }
    .ggmm-bell { width: 46px; padding: 0; font-size: 1.1rem; }
    .ggmm-bell-count {
        position: absolute;
        top: -6px;
        right: -6px;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        border-radius: 999px;
        background: #ef4444;
        color: #fff;
        font: 700 0.62rem/18px system-ui, sans-serif;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ggmm-guest {
        padding: 16px;
        border-radius: 20px;
        background: linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
        border: 1px solid rgba(167,139,250,0.28);
    }
    .ggmm-guest-title {
        font-family: 'Lilita One', cursive;
        font-size: 1.25rem;
        margin-bottom: 4px;
    }
    .ggmm-guest-text {
        margin: 0 0 12px;
        font-family: system-ui, sans-serif;
        font-size: 0.85rem;
        line-height: 1.4;
        color: rgba(255,255,255,0.78);
    }
    .ggmm-guest-actions { display: flex; gap: 8px; }
    .ggmm-btn {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        border-radius: 14px;
        font-family: 'Lilita One', cursive;
        font-size: 1rem;
        text-decoration: none;
        color: #fff;
        transition: transform 0.15s ease;
    }
    .ggmm-btn:active { transform: scale(0.96); }
    .ggmm-btn-primary {
        background: linear-gradient(135deg, #a855f7, #7c3aed);
        box-shadow: 0 6px 18px rgba(124,58,237,0.5);
        border: 1px solid rgba(216,180,254,0.5);
    }
    .ggmm-btn-ghost {
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.22);
    }

    .ggmm-play {
        position: relative;
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 16px 16px;
        border-radius: 20px;
        text-decoration: none;
        color: #fff;
        overflow: hidden;
        background: linear-gradient(135deg, #a855f7 0%, #7c3aed 55%, #5b21b6 100%);
        border: 1px solid rgba(216,180,254,0.55);
        box-shadow: 0 10px 28px rgba(124,58,237,0.55), inset 0 1px 0 rgba(255,255,255,0.25);
        transition: transform 0.15s ease;
    }
    .ggmm-play::after {
        content: '';
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(100deg, transparent, rgba(255,255,255,0.28), transparent);
        transform: skewX(-18deg);
        animation: ggmmShine 3.6s ease-in-out 1s infinite;
    }
    @keyframes ggmmShine {
        0%, 70% { left: -60%; }
        100% { left: 130%; }
    }
    .ggmm-play:active { transform: scale(0.97); }
    .ggmm-play-icon {
        width: 44px;
        height: 44px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(255,255,255,0.2);
        font-size: 1.05rem;
        padding-left: 3px;
    }
    .ggmm-play-text { flex: 1; display: flex; flex-direction: column; }
    .ggmm-play-title {
        font-family: 'Lilita One', cursive;
        font-size: 1.45rem;
        line-height: 1.05;
        letter-spacing: 0.5px;
        text-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    .ggmm-play-sub {
        font-family: system-ui, sans-serif;
        font-size: 0.8rem;
        font-weight: 600;
        color: rgba(255,255,255,0.85);
    }

    .ggmm-section {
        margin-top: 6px;
        font-family: 'Lilita One', cursive;
        font-size: 0.78rem;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        color: rgba(196,181,253,0.75);
    }

    .ggmm-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .ggmm-tile {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 54px;
        padding: 8px 10px;
        border-radius: 16px;
        text-decoration: none;
        color: #fff;
        background: rgba(255,255,255,0.055);
        border: 1px solid rgba(167,139,250,0.18);
        -webkit-tap-highlight-color: transparent;
    }
    body.ggmm-open .ggmm-tile { transition: opacity 0.35s ease, transform 0.5s cubic-bezier(0.22,1,0.36,1), background 0.2s ease; }
    .ggmm-tile:active { background: rgba(167,139,250,0.2); }
    .ggmm-tile-icon {
        width: 34px;
        height: 34px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 11px;
        background: linear-gradient(135deg, rgba(124,58,237,0.55), rgba(76,29,149,0.55));
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
        font-size: 1.05rem;
    }
    .ggmm-tile-label {
        font-family: 'Lilita One', cursive;
        font-size: 0.95rem;
        line-height: 1.1;
    }
    .ggmm-tile.is-current,
    .ggmm-row.is-current {
        background: rgba(167,139,250,0.2);
        border-color: rgba(216,180,254,0.6);
        box-shadow: 0 0 14px rgba(124,58,237,0.35);
    }
    .ggmm-play.is-current { box-shadow: 0 0 0 2px #fff, 0 10px 28px rgba(124,58,237,0.55); }

    .ggmm-list {
        display: flex;
        flex-direction: column;
        border-radius: 18px;
        overflow: hidden;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(167,139,250,0.18);
    }
    .ggmm-row {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 50px;
        padding: 0 14px;
        color: #fff;
        text-decoration: none;
        font-family: 'Lilita One', cursive;
        font-size: 0.98rem;
        border-bottom: 1px solid rgba(167,139,250,0.12);
        border-left: 1px solid transparent;
        border-right: 1px solid transparent;
        -webkit-tap-highlight-color: transparent;
    }
    .ggmm-row:last-child { border-bottom: none; }
    .ggmm-row:active { background: rgba(167,139,250,0.18); }
    .ggmm-row-icon { width: 24px; text-align: center; font-size: 1.05rem; }
    .ggmm-row-icon-img { width: 24px; height: 24px; object-fit: contain; filter: drop-shadow(0 0 5px rgba(251,191,36,0.6)); }
    .ggmm-row-vip {
        color: #fbbf24;
        background: linear-gradient(90deg, rgba(251,191,36,0.16), rgba(251,191,36,0.03));
    }
    .ggmm-new {
        font-size: 0.6rem;
        padding: 2px 6px;
        border-radius: 8px;
        background: linear-gradient(135deg, #f59e0b, #ef4444);
    }
    .ggmm-chev {
        margin-left: auto;
        font-size: 1.4rem;
        line-height: 1;
        color: rgba(255,255,255,0.45);
    }

    .ggmm-swatches {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 7px;
    }
    .ggmm-swatch {
        position: relative;
        width: 100%;
        aspect-ratio: 1;
        border-radius: 50%;
        border: 2px solid rgba(255,255,255,0.25);
        cursor: pointer;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.7rem;
        transition: transform 0.15s ease, box-shadow 0.2s ease;
        -webkit-tap-highlight-color: transparent;
    }
    .ggmm-swatch:active { transform: scale(0.88); }
    .ggmm-swatch.is-locked { opacity: 0.55; }
    .ggmm-swatch.is-active {
        border-color: #fff;
        box-shadow: 0 0 0 3px rgba(167,139,250,0.7), 0 0 14px rgba(167,139,250,0.6);
    }

    .ggmm-lang {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4px;
        padding: 4px;
        border-radius: 16px;
        background: rgba(10,4,30,0.45);
        border: 1px solid rgba(167,139,250,0.2);
    }
    .ggmm-lang-opt {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 42px;
        border-radius: 12px;
        color: rgba(255,255,255,0.7);
        text-decoration: none;
        font-family: 'Lilita One', cursive;
        font-size: 0.95rem;
    }
    .ggmm-lang-opt img { border-radius: 3px; box-shadow: 0 1px 4px rgba(0,0,0,0.35); }
    .ggmm-lang-opt.is-active {
        color: #fff;
        background: linear-gradient(135deg, rgba(168,85,247,0.75), rgba(124,58,237,0.75));
        box-shadow: 0 4px 12px rgba(124,58,237,0.4);
    }

    .ggmm-foot {
        margin-top: 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        flex-wrap: wrap;
    }
    .ggmm-socials { display: flex; gap: 8px; }
    .ggmm-socials a {
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(255,255,255,0.07);
        border: 1px solid rgba(255,255,255,0.15);
    }
    .ggmm-logout {
        display: flex;
        align-items: center;
        gap: 6px;
        min-height: 42px;
        padding: 0 16px;
        border-radius: 14px;
        border: 1px solid rgba(248,113,113,0.45);
        background: rgba(239,68,68,0.12);
        color: #fca5a5;
        font-family: 'Lilita One', cursive;
        font-size: 0.95rem;
        cursor: pointer;
    }

    body.ggmm-open { overflow: hidden; }
    body.ggmm-open .event-banner-container,
    body.ggmm-open #streakNavbarIndicator,
    body.ggmm-open .xp-bar-container { visibility: hidden; }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
    .ggmm-panel,
    .ggmm-item,
    .ggmm-bars span { transition-duration: 0.01s !important; }
    .ggmm-play::after { animation: none; }
}
