/* Nyrex interactive menu preview (Fortnite product page) */
.nm-wrap{max-width:1240px;margin:0 auto;padding:70px 24px 0}
.nm-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#ff5fa8;margin:0 0 14px}
.nm-eyebrow i{width:26px;height:1px;background:#ff2e86;display:block}
.nm-h{font-family:"Unbounded","Inter",sans-serif;font-weight:900;font-size:clamp(24px,3vw,40px);text-transform:uppercase;letter-spacing:-.03em;color:#fff;margin:0 0 10px}
.nm-sub{color:#a89cb4;font-size:15px;margin:0 0 28px;max-width:560px}
.nm-win{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);background:#121214;border:1px solid rgba(255,46,134,.32);border-radius:16px;overflow:hidden;color:#e8e6ea;font-family:"Inter",system-ui,sans-serif;
  box-shadow:0 0 0 1px rgba(255,255,255,.03),0 30px 80px rgba(255,26,168,.18),0 0 120px rgba(255,26,168,.12)}
.nm-win::after{content:"";position:absolute;inset:auto 0 0 0;height:160px;background:radial-gradient(ellipse at 50% 120%,rgba(60,50,140,.35),transparent 70%);pointer-events:none}
.nm-side{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0 12px;border-right:1px solid rgba(255,255,255,.07);background:#0f0f11}
.nm-logo img{width:40px;height:auto;display:block;margin:2px 0 14px}
.nm-tab{display:grid;justify-items:center;gap:6px;width:100%;padding:12px 4px;background:none;border:0;color:#9a979f;cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;transition:color .15s}
.nm-tab svg{width:22px;height:22px}
.nm-tab:hover{color:#fff}
.nm-tab.on{color:#ff1aa8}
.nm-tab.on span{border-bottom:2px solid #ff1aa8;padding-bottom:2px}
.nm-user{margin-top:auto;display:grid;justify-items:center;gap:5px;font-size:11px;font-weight:600;color:#9a979f}
.nm-user i{width:34px;height:34px;border-radius:50%;border:2px solid #ff1aa8;background:radial-gradient(circle at 40% 35%,#3a3a44,#15151a)}
.nm-main{padding:18px 22px 24px;min-width:0}
.nm-title{text-align:center;font-weight:800;font-size:17px;letter-spacing:.01em;margin:2px 0 14px;color:#fff}
.nm-title b{color:#ff1aa8}
.nm-search{display:flex;align-items:center;gap:12px;height:44px;padding:0 16px;border-radius:12px;background:#1b1b1e;border:1px solid rgba(255,255,255,.09);color:#8d8a93;margin-bottom:16px}
.nm-search svg{width:18px;height:18px;flex:none}
.nm-search input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font:inherit;font-size:14px}
.nm-panels{min-height:460px}
.nm-panel{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.nm-panel.on{display:grid}
.nm-col{display:grid;gap:16px;min-width:0}
.nm-card{background:#18181b;border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:visible}
.nm-card h4{margin:0;padding:13px 18px;font-size:14px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.07)}
.nm-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;height:43px;font-size:14px;font-weight:600;color:#cfccd4}
.nm-row--sl{display:block;height:auto;padding:12px 18px 14px}
.nm-sl__h{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600;color:#cfccd4}
.nm-sl__h em{font-style:normal;color:#fff;font-size:12.5px}
.nm-sl{position:relative;height:5px;border-radius:5px;background:#2a2a2f;cursor:pointer;touch-action:none}
.nm-sl i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:#ff1aa8;pointer-events:none}
.nm-sl b{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#ff1aa8;box-shadow:0 0 10px rgba(255,26,168,.7);pointer-events:none}
.nm-sl::before{content:"";position:absolute;inset:-10px 0}
.nm-tg{position:relative;flex:none;width:42px;height:24px;border-radius:24px;border:0;background:#2b2b30;cursor:pointer;transition:background .18s}
.nm-tg::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#bdbac2;transition:transform .18s,background .18s}
.nm-tg.on{background:#ff1aa8;box-shadow:0 0 14px rgba(255,26,168,.45)}
.nm-tg.on::after{transform:translateX(18px);background:#fff}
.nm-star{display:inline-block;width:12px;height:12px;margin-left:6px;vertical-align:-1px;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.nm-key{display:inline-flex;align-items:center;gap:12px;height:34px;min-width:128px;justify-content:center;padding:0 16px;border-radius:9px;background:#222226;border:1px solid rgba(255,255,255,.08);color:#fff;cursor:pointer;font:inherit;font-size:12.5px}
.nm-key svg{width:18px;height:18px;color:#8d8a93}
.nm-key.wait{border-color:#ff1aa8}
.nm-sel{position:relative}
.nm-sel__b{display:flex;align-items:center;justify-content:space-between;gap:26px;min-width:164px;height:34px;padding:0 14px;border-radius:9px;background:#222226;border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.nm-sel__b i{width:0;height:0;border:4px solid transparent;border-top:5px solid #aaa;margin-top:4px}
.nm-sel__l{display:none;position:absolute;right:0;top:40px;z-index:20;min-width:100%;padding:5px;border-radius:10px;background:#1f1f23;border:1px solid rgba(255,26,168,.4);box-shadow:0 14px 30px rgba(0,0,0,.6)}
.nm-sel.open .nm-sel__l{display:block}
.nm-sel__l button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:7px;background:none;color:#cfccd4;cursor:pointer;font:inherit;font-size:13px;font-weight:600;white-space:nowrap}
.nm-sel__l button:hover{background:rgba(255,26,168,.14);color:#fff}
.nm-sel__l button.on{color:#ff5fc8}
@media (max-width:820px){
  .nm-wrap{padding:54px 16px 0}
  .nm-win{grid-template-columns:1fr}
  .nm-side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.07);padding:8px 8px}
  .nm-logo,.nm-user{display:none}
  .nm-tab{width:auto;min-width:74px}
  .nm-panel,.nm-panel.on{grid-template-columns:1fr}
  .nm-panel:not(.on){display:none}
  .nm-panels{min-height:0}
}

/* ---- real-menu additions ---- */
.nm-win{--nmp:#ff1aa8}
.nm-end{display:inline-flex;align-items:center;gap:10px}
.nm-gear{display:grid;place-items:center;width:24px;height:24px;color:#bdbac2}.nm-gear svg{width:18px;height:18px}
.nm-dia{display:inline-block;width:11px;height:11px;margin-left:8px;vertical-align:-1px;background:#fff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.nm-card--sc .nm-card__b{max-height:560px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ff1aa8 transparent}
.nm-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nm-seg button{height:36px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#232328;color:#e8e6ea;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.nm-seg button.on{background:#ff1aa8;border-color:#ff1aa8;color:#fff;box-shadow:0 0 14px rgba(255,26,168,.35)}
.nm-cfg{display:grid;gap:8px;padding:12px 14px 14px}
.nm-cfg__l{display:grid;gap:6px;max-height:150px;overflow:auto}
.nm-cfg__l button{height:36px;text-align:left;padding:0 12px;border-radius:9px;border:1px solid transparent;background:#232328;color:#e8e6ea;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.nm-cfg__l button.on{background:#ff1aa8;color:#fff}
.nm-cfg__in{height:38px;padding:0 12px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#1b1b1f;color:#fff;font:inherit;font-size:13px;outline:0}
.nm-cfg__in:focus{border-color:#ff1aa8}
.nm-act{display:flex;align-items:center;justify-content:center;gap:8px;height:38px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#232328;color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.nm-act:hover{border-color:#ff1aa8;background:#2a2028}.nm-act svg{width:16px;height:16px}
.nm-toast{position:absolute;left:50%;bottom:16px;transform:translate(-50%,16px);opacity:0;padding:9px 16px;border-radius:10px;background:#1d1d23;border:1px solid rgba(255,26,168,.5);color:#fff;font-size:13px;font-weight:600;pointer-events:none;transition:opacity .2s,transform .2s;z-index:30}
.nm-toast.on{opacity:1;transform:translate(-50%,0)}
.nm-sel__l button.on::after{content:" ✓";color:#ff5fc8}
.nm-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.nm-col:empty{display:none}

/* ---- v2 restyle: top-bar layout, glass cards, pill tabs ---- */
.nm-win{grid-template-columns:1fr;border-radius:22px;background:linear-gradient(160deg,rgba(26,14,38,.92),rgba(10,8,16,.96));backdrop-filter:blur(14px);border:1px solid rgba(255,95,168,.35)}
.nm-win::after{height:220px;background:radial-gradient(ellipse at 50% 130%,rgba(255,46,134,.28),transparent 70%)}
.nm-side{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;padding:12px 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.35);overflow-x:auto}
.nm-logo{margin-right:10px}.nm-logo img{width:32px;margin:0}
.nm-tab{display:inline-flex;grid-auto-flow:column;align-items:center;justify-content:center;gap:8px;width:auto;padding:9px 16px;border-radius:999px;font-size:13px;border:1px solid transparent;white-space:nowrap}
.nm-tab svg{width:17px;height:17px}
.nm-tab:hover{background:rgba(255,255,255,.06)}
.nm-tab.on{color:#fff;background:linear-gradient(135deg,#ff4fa3,#c2127f);box-shadow:0 6px 22px rgba(255,46,134,.4)}
.nm-tab.on span{border-bottom:0;padding-bottom:0}
.nm-user{margin:0 0 0 auto;display:flex;align-items:center;gap:8px}.nm-user i{width:28px;height:28px}
.nm-main{padding:20px 24px 26px}
.nm-title{text-align:left;font-size:15px;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.nm-search{border-radius:999px;background:rgba(255,255,255,.05)}
.nm-card{border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1)}
.nm-card h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#ff8fc2;border-bottom:1px dashed rgba(255,95,168,.3)}
.nm-row{height:46px}
.nm-tg{width:46px;height:22px;border-radius:6px;background:#2b2b34}
.nm-tg::after{border-radius:4px;width:16px;height:16px;top:3px}
.nm-tg.on{background:linear-gradient(90deg,#ff2e86,#ff7ac0)}
.nm-tg.on::after{transform:translateX(24px)}
.nm-sl{height:8px;border-radius:4px;background:#26262e}.nm-sl i{border-radius:4px;background:linear-gradient(90deg,#c2127f,#ff5fa8)}
.nm-sl b{width:16px;height:16px;border-radius:5px;margin:-8px 0 0 -8px;background:#fff;box-shadow:0 0 12px rgba(255,46,134,.8)}
.nm-key,.nm-sel__b{border-radius:999px}
