#sim-root { font-family:var(--sim-font); font-size:16px; line-height:1.5; color:var(--sim-main-text); text-align:left; }
#sim-root *, #sim-root *::before, #sim-root *::after { box-sizing:border-box; }
#sim-root [hidden] { display:none !important; }
#sim-root button { appearance:none; margin:0; border:0; border-radius:0; box-shadow:none; cursor:pointer; font:inherit; text-transform:none; letter-spacing:normal; }
#sim-root button:focus-visible, #sim-root a:focus-visible { outline:3px solid currentColor; outline-offset:-4px; }
#sim-root .sim-trigger { position:fixed; z-index:999990; top:calc(var(--sim-offset) + env(safe-area-inset-top, 0px)); width:var(--sim-trigger-size,52px); height:var(--sim-trigger-size,52px); min-width:0; min-height:0; border-radius:var(--sim-trigger-radius,8px); background:var(--sim-trigger-bg); color:var(--sim-trigger-text); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:calc(var(--sim-trigger-size,52px) * .096); padding:0; box-shadow:none; isolation:isolate; overflow:visible; }
#sim-root.sim-side-right .sim-trigger { right:calc(var(--sim-margin-right,20px) + env(safe-area-inset-right,0px)); }
#sim-root.sim-side-left .sim-trigger { left:calc(var(--sim-margin-left,20px) + env(safe-area-inset-left,0px)); }
#sim-root .sim-trigger .sim-burger-svg { display:block; width:46%; height:46%; min-width:0; max-width:none; max-height:none; flex:none; position:relative; z-index:1; color:inherit; fill:currentColor; opacity:1; visibility:visible; background:none; overflow:visible; pointer-events:none; }
#sim-root .sim-trigger .sim-burger-svg path { fill:currentColor; }
#sim-root.sim-open .sim-trigger { visibility:hidden; }
#sim-root .sim-overlay { position:fixed; inset:0; z-index:999991; background:#0006; opacity:0; transition:opacity .28s ease; }
#sim-root #sim-panel { position:fixed; z-index:999992; top:0; bottom:0; width:min(var(--sim-width),100vw); height:100vh; height:100dvh; margin:0; padding:0; border:0; max-width:none; display:flex; flex-direction:column; isolation:isolate; overflow-y:auto; overscroll-behavior:contain; box-shadow:0 0 40px #0003; transition:transform .28s ease; color:var(--sim-main-text); background:transparent; }
#sim-root.sim-side-right #sim-panel { right:0; left:auto; transform:translateX(105%); }
#sim-root.sim-side-left #sim-panel { left:0; right:auto; transform:translateX(-105%); }
#sim-root.sim-open #sim-panel { transform:translateX(0); }
#sim-root.sim-open .sim-overlay { opacity:1; }
#sim-root .sim-background { position:fixed; inset:0; z-index:-1; background:var(--sim-background); opacity:var(--sim-opacity); pointer-events:none; }
#sim-root .sim-background img { width:100%; height:100%; object-fit:cover; display:block; }
#sim-root .sim-header { position:relative; min-height:100px; display:flex; justify-content:center; align-items:center; flex-shrink:0; padding:calc(24px + env(safe-area-inset-top,0px)) 64px 24px; background:none; }
#sim-root .sim-logo { display:block; width:var(--sim-logo-width); max-width:100%; }
#sim-root .sim-logo img { width:100%; max-height:160px; height:auto; object-fit:contain; display:block; }
#sim-root .sim-close { position:absolute; top:calc(16px + env(safe-area-inset-top,0px)); right:12px; width:44px; height:44px; padding:0; background:var(--sim-main-bg); color:var(--sim-main-text); font-size:32px; line-height:1; border-radius:var(--sim-close-radius,50%); }
#sim-root .sim-nav { padding:12px 20px 24px; display:block; background:none; }
#sim-root .sim-nav ul { display:block; list-style:none; margin:0; padding:0; position:static; width:auto; min-width:0; max-height:none; height:auto; opacity:1; visibility:visible; float:none; transform:none; box-shadow:none; border:0; background:transparent; }
#sim-root .sim-nav li { display:block; position:relative; margin:0 0 6px; padding:0; width:auto; float:none; border:0; }
#sim-root .sim-nav li::before, #sim-root .sim-nav li::after, #sim-root .sim-nav a::before, #sim-root .sim-nav a::after { display:none; }
#sim-root .sim-nav a { display:block; padding:15px 16px; margin:0; background:var(--sim-main-bg); color:var(--sim-main-text); text-decoration:none; font:inherit; line-height:1.5; text-transform:none; letter-spacing:normal; border:0; border-radius:var(--sim-radius,6px); white-space:normal; overflow-wrap:anywhere; }
#sim-root .sim-nav .sim-has-submenu > a { padding-right:60px; }
#sim-root .sim-nav .sub-menu { padding:6px 0 0 14px; }
#sim-root .sim-nav .sub-menu a { color:var(--sim-sub-text); background:var(--sim-sub-bg); }
#sim-root .sim-nav a:hover, #sim-root .sim-nav .current-menu-item > a { background:var(--sim-hover); }
#sim-root .sim-sub-toggle { position:absolute; right:4px; top:5px; width:44px; height:44px; padding:0; display:grid; place-items:center; color:var(--sim-main-text); background:var(--sim-hover); border:1px solid currentColor; border-radius:var(--sim-radius,6px); }
#sim-root .sub-menu .sim-sub-toggle { color:var(--sim-sub-text); }
#sim-root .sim-sub-toggle span { transition:transform .2s; width:20px; height:20px; }
#sim-root .sim-sub-toggle[aria-expanded="true"] span { transform:rotate(180deg); }
#sim-root .sim-footer { margin-top:auto; padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px)); color:var(--sim-footer-color); text-align:center; overflow-wrap:anywhere; background:none; }
body.admin-bar #sim-root .sim-trigger { top:calc(var(--sim-offset) + 32px); }
@media(max-width:782px) { body.admin-bar #sim-root .sim-trigger { top:calc(var(--sim-offset) + 46px); } }
@media(max-width:767px) { #sim-root #sim-panel { width:100%; } }
@media(prefers-reduced-motion:reduce) { #sim-root #sim-panel, #sim-root .sim-overlay, #sim-root .sim-sub-toggle span { transition:none; } }

/* Font Awesome Free 6.7.2 by Fonticons, Inc. — icons: CC BY 4.0.
   Original SVG files and license are bundled in assets/icons. */
#sim-root .sim-fa { display:inline-block; width:24px; height:24px; background-color:currentColor; -webkit-mask:var(--sim-icon) no-repeat center / contain; mask:var(--sim-icon) no-repeat center / contain; flex-shrink:0; }
#sim-root .sim-fa-chevron-down { --sim-icon:url('icons/chevron-down.svg'); }
#sim-root .sim-fa-facebook { --sim-icon:url('icons/facebook.svg'); }
#sim-root .sim-fa-discord { --sim-icon:url('icons/discord.svg'); }
#sim-root .sim-fa-youtube { --sim-icon:url('icons/youtube.svg'); }
#sim-root .sim-sub-toggle:hover { filter:brightness(1.2); }
#sim-root .sim-socials { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:0 0 16px; }
#sim-root .sim-socials:last-child { margin-bottom:0; }
#sim-root .sim-socials a { display:flex; align-items:center; justify-content:center; width:48px; height:48px; color:var(--sim-footer-color); background:var(--sim-main-bg); border:1px solid currentColor; border-radius:var(--sim-social-radius,50%); text-decoration:none; box-shadow:none; }
#sim-root .sim-socials a:hover { background:var(--sim-hover); }
body #sim-root.sim-anchor-bottom .sim-trigger { top:auto; bottom:calc(var(--sim-margin-bottom,24px) + env(safe-area-inset-bottom,0px)); }

/* Animate only the glow: the button and its hit area remain stationary. */
#sim-root .sim-trigger::before { content:""; display:block; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:0; box-shadow:0 0 10px 2px var(--sim-trigger-glow,#4f9dff), 0 0 28px 7px var(--sim-trigger-glow,#4f9dff); opacity:var(--sim-glow-intensity,.65); }
#sim-root.sim-pulse .sim-trigger::before { animation:sim-burger-glow var(--sim-pulse-duration,7s) ease-in-out infinite; }
#sim-root .sim-trigger:hover::before, #sim-root .sim-trigger:focus-visible::before, #sim-root.sim-open .sim-trigger::before { animation-play-state:paused; }
@keyframes sim-burger-glow { 0%,100% { opacity:calc(var(--sim-glow-intensity,.65) * .25); } 50% { opacity:var(--sim-glow-intensity,.65); } }
@media(prefers-reduced-motion:reduce) { #sim-root.sim-pulse .sim-trigger::before { animation:none; } }

#sim-root .sim-fa-bars { --sim-icon:url('icons/bars.svg'); }
#sim-root .sim-fa-bars-staggered { --sim-icon:url('icons/bars-staggered.svg'); }
#sim-root .sim-fa-bars-progress { --sim-icon:url('icons/bars-progress.svg'); }
#sim-root .sim-fa-grip { --sim-icon:url('icons/grip.svg'); }
#sim-root .sim-fa-ellipsis { --sim-icon:url('icons/ellipsis.svg'); }
#sim-root .sim-fa-ellipsis-vertical { --sim-icon:url('icons/ellipsis-vertical.svg'); }

@media(max-width:767px) {
  #sim-root .sim-trigger {
    --sim-offset:var(--sim-mobile-offset);
    --sim-margin-left:var(--sim-mobile-margin-left);
    --sim-margin-right:var(--sim-mobile-margin-right);
    --sim-margin-bottom:var(--sim-mobile-margin-bottom);
  }
}

/* Optional caption stays inside the button and shares its configured color. */
#sim-root .sim-trigger.sim-trigger-labeled { gap:3px; }
#sim-root .sim-trigger.sim-trigger-labeled .sim-burger-svg { width:40%; height:34%; }
#sim-root .sim-trigger .sim-trigger-label { display:block; position:relative; z-index:1; color:inherit; font-family:inherit; font-size:clamp(10px,calc(var(--sim-trigger-size,52px) * .21),18px); font-weight:600; line-height:1; letter-spacing:0; text-transform:none; white-space:nowrap; margin:0; padding:0; background:none; pointer-events:none; }
