/* Futuristic full-screen mobile menu shared by the 3D site and the classic site.
   Any <nav data-fxm hidden> gets this look; fxmenu.js adds the rain and the text decode. */
nav.fxm{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:0;padding:96px 24px 70px;margin:0;background:#03020a;overflow:hidden;font-family:Inter,"Arial Black",system-ui,sans-serif;color:#fff;animation:none;pointer-events:auto}
nav.fxm[hidden]{display:none}
nav.fxm:before{content:"";position:absolute;inset:0;background:radial-gradient(90% 55% at 5% 8%,rgba(31,91,255,.38),transparent 60%),radial-gradient(80% 55% at 95% 95%,rgba(138,43,255,.4),transparent 60%),radial-gradient(60% 40% at 75% 40%,rgba(255,43,214,.2),transparent 70%);pointer-events:none}
nav.fxm:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px);pointer-events:none}
.fxm-rain{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
.fxm-head,.fxm-foot{position:absolute;z-index:1;left:24px;font:600 10px/1.4 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.28em;color:rgba(255,255,255,.6);text-transform:uppercase}
.fxm-head{position:relative;left:auto;margin:0 0 14px}
.fxm-head b,.fxm-grad{background:linear-gradient(90deg,#3d8bff,#ff2bd6,#a24bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.fxm-foot{right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;letter-spacing:.2em}
.fxm-foot i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2bff9a;box-shadow:0 0 8px #2bff9a;margin-right:8px;vertical-align:1px;animation:fxm-blink 1.4s steps(1) infinite}
@keyframes fxm-blink{50%{opacity:.25}}
nav.fxm .fxm-item{position:relative;z-index:1;display:grid;grid-template-columns:34px 1fr auto;align-items:center;column-gap:10px;padding:15px 0;margin:0;border:0;background:none;color:#fff;text-decoration:none;text-align:left;font:inherit;cursor:pointer;opacity:0;transform:translateX(-26px);transition:opacity .45s,transform .6s cubic-bezier(.22,1,.36,1);-webkit-tap-highlight-color:transparent}
nav.fxm .fxm-item:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#3d8bff,#ff2bd6,#a24bff);opacity:.7;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,1,.36,1)}
nav.fxm.fxm-in .fxm-item{opacity:1;transform:none;transition-delay:calc(var(--k) * 80ms + .08s)}
nav.fxm.fxm-in .fxm-item:after{transform:none;transition-delay:calc(var(--k) * 80ms + .25s)}
.fxm-n{grid-row:1/3;align-self:start;padding-top:9px;font:700 11px ui-monospace,Menlo,Consolas,monospace;color:var(--c);text-shadow:0 0 10px var(--c)}
.fxm-l{grid-column:2;overflow:hidden;font-size:clamp(28px,8.4vw,52px);font-weight:900;letter-spacing:-.04em;line-height:1;white-space:nowrap}
.fxm-s{grid-column:2;margin-top:7px;font:600 9.5px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.22em;color:rgba(255,255,255,.55);text-transform:uppercase}
.fxm-a{grid-row:1/3;grid-column:3;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.28);font-size:15px;transition:background .3s,border-color .3s,box-shadow .3s}
nav.fxm .fxm-item:hover .fxm-l,nav.fxm .fxm-item:focus-visible .fxm-l,nav.fxm .fxm-item:active .fxm-l{background:linear-gradient(90deg,#4aa8ff,#ff2bd6,#a55bff);-webkit-background-clip:text;background-clip:text;color:transparent}
nav.fxm .fxm-item:hover .fxm-a,nav.fxm .fxm-item:active .fxm-a{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:0 0 16px var(--c)}
@media (prefers-reduced-motion:reduce){nav.fxm .fxm-item,nav.fxm .fxm-item:after{transition:none}}
