:root {
  --nr-bg: #0b0f16;
  --nr-panel: #111827;
  --nr-panel-2: #0f1623;
  --nr-text: #e5e7eb;
  --nr-muted: #9ca3af;
  --nr-brand: #278cf3;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ---------- Base ---------- */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

html,
body {
  margin: 0;
  padding: 0;
  background: var(--nr-bg);
  color: var(--nr-text);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  line-height: 1.6
}

body {
  font-size: 16px
}

img {
  max-width: 100%;
  height: auto
}

a {
  color: var(--nr-brand);
  text-decoration: none;
  font-weight: 600
}

a:hover {
  color: #93c5fd
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.02em
}

h1 {
  font-size: 2.5rem;
  font-weight: 900
}

h2 {
  font-size: 1.75rem;
  font-weight: 800
}

h3 {
  font-size: 1.25rem;
  font-weight: 800
}

p {
  font-weight: 400;
  line-height: 1.6
}

/* ---------- Header ---------- */
.nr-bar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(11, 15, 22, .9);
  backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: 1px solid #1f2937
}

.nr-bar__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px
}

.nr-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #e5e7eb;
  padding: 0 8px
}

.nr-brand__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #0ea5e9;
  color: #001018;
  font-weight: 900
}

.nr-brand__text {
  font-weight: 800;
  letter-spacing: .2px
}

/* ---------- Menu ---------- */
.nr-burger {
  display: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 8px;
  margin-left: auto
}

.nr-burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #e5e7eb;
  margin: 5px 0;
  transition: .3s
}

.nr-burger.is-active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px)
}

.nr-burger.is-active span:nth-child(2) {
  opacity: 0
}

.nr-burger.is-active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px)
}

.nr-menu .nr-nav {
  display: flex;
  gap: 16px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none
}

.nr-menu .nr-nav>li {
  position: relative
}

.nr-menu .nr-nav a {
  color: #d1d5db;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  opacity: .9;
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.nr-menu .nr-nav a:hover {
  opacity: 1;
  color: #fff
}

.nr-menu .nr-nav>li.menu-item-has-children>a::after {
  content: "▾";
  font-size: 12px;
  opacity: .8;
  margin-left: 4px
}

.nr-menu .nr-nav .sub-menu {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  background: #0b121d;
  border: 1px solid #1f2937;
  border-radius: 12px;
  padding: 8px;
  margin-top: 8px;
  min-width: 200px;
  list-style: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .35)
}

.nr-menu .nr-nav .sub-menu li a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px
}

.nr-menu .nr-nav .sub-menu li a:hover {
  background: #0e1726
}

.nr-menu .nr-nav>li.menu-item-has-children:hover>.sub-menu,
.nr-menu .nr-nav>li.menu-item-has-children:focus-within>.sub-menu {
  display: block
}

@media (max-width:768px) {
  .nr-burger {
    display: block
  }

  .nr-menu {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    background: rgba(11, 15, 22, .98);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #1f2937;
    max-height: 0;
    overflow: hidden;
    transition: .3s ease
  }

  .nr-menu.is-open {
    max-height: 100vh;
    padding: 20px 0
  }

  .nr-menu .nr-nav {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 0 20px
  }

  .nr-menu .nr-nav>li {
    width: 100%;
    border-bottom: 1px solid #1f2937
  }

  .nr-menu .nr-nav>li:last-child {
    border-bottom: 0
  }

  .nr-menu .nr-nav a {
    padding: 12px 0;
    width: 100%
  }

  .nr-menu .nr-nav .sub-menu {
    position: static;
    margin: 0;
    padding: 0 0 0 20px;
    border: 0;
    box-shadow: none
  }

  .nr-menu .nr-nav .sub-menu li {
    border-top: 1px solid #253043
  }
}

/* ---------- Containers ---------- */
.nr-wrap {
  background: linear-gradient(180deg, #0b0f16 0%, #0b0f16 60%, #0f1623 100%)
}

.nr-cont {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 16px
}

.nr-section {
  padding: 60px 0
}

.nr-section--alt {
  background: transparent;
  padding: 48px 0;
  margin: 48px 0;
}

.nr-section--alt .nr-cont {
  background: linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .01));
  border-radius: 18px;
  padding: 48px 24px;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.nr-section--light {
  background: transparent;
  padding: 48px 0;
  margin: 48px 0;
}

.nr-section--light .nr-cont {
  background: #1a1e27;
  color: #f0f0f0;
  border-radius: 18px;
  padding: 48px 24px;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.nr-section--light:first-of-type {
  margin-top: 24px
}

.nr-divider {
  height: 24px
}

#about,
#nr-issues,
#nr-modes,
#nr-news {
  padding-top: 8px;
  margin-top: 0
}

/* ---------- Hero ---------- */
.nr-hero {
  padding: 38px 0 20px
}

.nr-hero__box {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 24px;
  align-items: center
}

.nr-hero h1 {
  font-size: 40px;
  line-height: 1.15;
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: -.03em;
  text-shadow: 0 0 1px rgba(255, 255, 255, .1)
}

.nr-hero h1 span {
  color: var(--nr-brand);
  font-weight: 900
}

.nr-hero p {
  color: #cbd5e1;
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400
}

/* ---------- Buttons ---------- */
.nr-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid #1f2937;
  background: #111827;
  color: #e5e7eb
}

.nr-btn:hover {
  opacity: .9
}

.nr-btn--android {
  background: linear-gradient(180deg, #0e1b12, #0b1510)
}

.nr-btn--ios {
  background: linear-gradient(180deg, #121825, #0f1420)
}

.nr-btn--download {
  margin-top: 12px;
  background: linear-gradient(90deg, #6366f1, #a855f7);
  border: none;
  color: #fff;
  font-weight: 800;
  text-align: center;
  justify-content: center;
  letter-spacing: .5px;
  box-shadow: 0 4px 12px rgba(99, 102, 241, .4);
  transition: transform .15s ease, box-shadow .15s ease
}

.nr-btn--download:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(168, 85, 247, .55)
}

.nr-btn--full {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  margin-top: auto
}

.nr-btn--sm {
  padding: 8px 14px;
  font-weight: 700;
  border-radius: 10px;
  font-size: 14px;
  white-space: nowrap
}

.nr-btn--ghost {
  background: transparent;
  color: #e5e7eb;
  border: 1px solid #253043;
  box-shadow: none;
  transition: .2s
}

.nr-btn--ghost:hover {
  color: #fff;
  border-color: #278cf3;
  transform: translateY(-1px)
}

.nr-btn--tg {
  background: #229ED9
}

.nr-btn--fb {
  background: #1877F2
}

.nr-btn--tw {
  background: #1DA1F2
}

.nr-btn__icon {
  font-size: 16px
}

.nr-btn__count {
  font-size: 13px;
  color: #9aa3b1;
  margin-left: 6px
}

.nr-dl__btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap
}

.nr-dl__btns .nr-dl__count {
  opacity: .85;
  font-weight: 700;
  margin-left: 6px
}

.nr-dl__meta {
  opacity: .8;
  margin-bottom: 8px
}

.nr-dl-stats {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap
}

.nr-dl-chip {
  font-size: 12px;
  color: #cbd5e1;
  background: #0b121d;
  border: 1px solid #1f2937;
  border-radius: 999px;
  padding: 4px 8px
}

/* ---------- Pills / Badges ---------- */
.nr-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #0b121d;
  border: 1px solid #1f2937;
  font-size: 12px;
  color: #cbd5e1;
  text-decoration: none;
  transition: .2s ease
}

.nr-pill:hover {
  background: #0e1726;
  border-color: #253043;
  color: #e5e7eb
}

.nr-pill.is-cat {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff
}

.nr-pill.is-cat:hover {
  background: #1d4ed8;
  border-color: #1d4ed8
}

.nr-badge {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
  margin: 8px 0 0;
  text-align: left
}

.nr-badge.is-online {
  background: rgba(34, 197, 94, .15);
  color: #4ade80;
  border: 1px solid rgba(74, 222, 128, .35);
  box-shadow: 0 0 8px rgba(34, 197, 94, .2)
}

.nr-badge.is-offline {
  background: rgba(156, 163, 175, .1);
  color: #9ca3af;
  border: 1px solid rgba(156, 163, 175, .3)
}

.nr-badge.is-maintenance {
  background: rgba(251, 146, 60, .15);
  color: #fb923c;
  border: 1px solid rgba(251, 146, 60, .35)
}

/* ---------- Cards ---------- */
.nr-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  max-width: 100%;
  width: 100%;
  transition: .2s ease;
}

.nr-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
}

.nr-version {
  padding: 16px
}

.nr-preview {
  margin-top: 14px
}

.nr-preview__ph {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed #334155;
  border-radius: 14px;
  color: #94a3b8
}

.nr-version__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 12px
}

.nr-version__meta {
  flex: 1 1 auto;
  font-size: 14px;
  line-height: 1.3;
  color: #cbd5e1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.nr-version__row .nr-badge {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 14px;
  border-radius: 10px;
  font-weight: 700;
  line-height: 1;
  margin-top: 1px
}

/* ---------- Features Grid ---------- */
.nr-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none
}

.nr-grid>li,
.nr-grid>div {
  list-style: none
}

.nr-grid .feat {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 16px;
  border-radius: 12px;
  background: #0e1520;
  border: 1px solid #1f2937
}

.feat-icon {
  font-size: 36px;
  margin-bottom: 10px;
  color: #278cf3;
  filter: drop-shadow(0 2px 6px rgba(39, 140, 243, .25))
}

.nr-grid .feat h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -.02em
}

.nr-grid .feat p {
  margin: 0;
  font-size: 14px;
  color: #c0c8d2;
  font-weight: 400
}

/* ---------- App Badge ---------- */
.nr-app {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 16px;
  border: 1px dashed #334155;
  border-radius: 14px;
  min-height: 140px
}

.nr-app img {
  width: 84px;
  height: 84px;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 0 0 1px #1f2937 inset;
  background: linear-gradient(180deg, #121826, #0f1420)
}

.nr-app__name {
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -.02em;
  line-height: 1.1;
  text-shadow: 0 0 1px rgba(255, 255, 255, .1)
}

.nr-app__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #9aa3b1;
  font-size: 13px;
  font-weight: 400
}

.nr-app__meta .sep {
  opacity: .5
}

/* ---------- Stars Rating ---------- */
.nr-stars {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1
}

.nr-stars__wrap {
  position: relative;
  display: inline-block;
  height: 22px;
  line-height: 1
}

.nr-stars__base,
.nr-stars__fill {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 2px;
  white-space: nowrap;
  user-select: none
}

.nr-stars__base {
  color: #2f3a4a;
  opacity: .9
}

.nr-stars__fill {
  color: #a855f7;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  height: 100%;
  z-index: 1
}

.nr-stars__hit {
  position: absolute;
  inset: 0;
  display: flex;
  z-index: 2;
  pointer-events: auto
}

.nr-stars__btn {
  flex: 1;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  margin: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent
}

.nr-stars__btn:focus-visible {
  outline: 2px solid #278cf3;
  outline-offset: 4px;
  border-radius: 4px
}

.nr-stars,
.nr-stars * {
  -webkit-user-select: none;
  user-select: none
}

.nr-stars__count {
  font-size: 12px;
  color: #9aa3b1
}

/* ---------- Typography & Content ---------- */
.nr-title-lg {
  text-align: center;
  font-size: 28px;
  font-weight: 900;
  margin-bottom: 14px;
  letter-spacing: -.02em;
  text-shadow: 0 0 1px rgba(255, 255, 255, .1)
}

.nr-title-lg .nr-accent {
  color: #278cf3;
  font-weight: 900
}

.nr-lead {
  text-align: center;
  color: #cbd5e1;
  margin: 0 auto 28px;
  max-width: 780px;
  font-size: 16px;
  line-height: 1.55
}

.nr-text {
  max-width: 860px;
  margin: 0 auto;
  color: #e5e7eb;
  line-height: 1.65;
  font-size: 16px
}

.nr-text a {
  color: #278cf3;
  text-decoration: none;
  font-weight: 600;
  transition: color .2s ease, border-color .2s ease;
  border-bottom: 1px dashed rgba(39, 140, 243, .6)
}

.nr-text a:hover {
  color: #a855f7;
  border-color: #a855f7
}

.nr-list {
  list-style: none;
  padding: 0;
  margin: 0
}

.nr-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 10px
}

.nr-list__icon {
  width: 18px;
  height: 18px;
  color: #278cf3;
  flex-shrink: 0;
  margin-top: 2px
}

/* ---------- Tables ---------- */
.nr-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start
}

.nr-about__specs {
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 12px;
  padding: 16px
}

.nr-about__specs.is-table {
  padding: 0;
  overflow: hidden;
  border-radius: 14px
}

.nr-specs {
  width: 100%;
  border-collapse: collapse
}

.nr-specs th,
.nr-specs td {
  padding: 8px 10px;
  border-bottom: 1px solid #1f2937;
  font-size: 14px
}

.nr-specs th {
  color: #9ca3af;
  font-weight: 600;
  text-align: left;
  width: 42%
}

.nr-specs td {
  color: #e5e7eb
}

.nr-specs tr:last-child td,
.nr-specs tr:last-child th {
  border-bottom: 0
}

.nr-specs thead {
  background: #1f2937;
  color: #e5e7eb
}

.nr-specs thead th {
  font-weight: 700;
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid #2a3648
}

.nr-specs thead th:first-child {
  border-top-left-radius: 10px
}

.nr-specs thead th:last-child {
  border-top-right-radius: 10px
}

.nr-specs.nr-specs--full {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #0e1520
}

.nr-specs.nr-specs--full thead th {
  background: #1f2937;
  color: #e5e7eb;
  font-weight: 700;
  text-align: left;
  padding: 12px 16px;
  border-bottom: 1px solid #243044
}

.nr-specs.nr-specs--full td {
  padding: 14px 16px;
  border-bottom: 1px solid #243044;
  color: #e5e7eb
}

.nr-specs.nr-specs--full tr:last-child td {
  border-bottom: 0
}

.nr-specs.nr-specs--full th:first-child,
.nr-specs.nr-specs--full td:first-child {
  padding-left: 20px
}

.nr-specs .center-cell {
  text-align: center;
  font-weight: 600
}

/* ---------- News Grid ---------- */
.nr-news-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap
}

.nr-news-head h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 900;
  flex: 1;
  letter-spacing: -.01em
}

.nr-news__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 18px;
  margin-top: 18px;
  align-items: stretch;
  overflow: visible
}

.nr-news__list .post {
  display: flex;
  flex-direction: column;
  position: relative;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .15) inset;
  transition: transform .15s ease;
  overflow: visible
}

.nr-news__list .post:hover {
  transform: translateY(-2px)
}

.nr-news__list .post::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
  opacity: 0;
  transition: opacity .15s ease;
  pointer-events: none
}

.nr-news__list .post:hover::after {
  opacity: 1
}

.nr-news__list .thumb {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-bottom: 1px solid #1f2937;
  border-radius: 14px 14px 0 0
}

.nr-news__list .post__in {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 14px 16px 28px;
  gap: 10px
}

.nr-news__list .post h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 4px
}

.nr-news__list .post h3 a {
  color: #fff;
  text-decoration: none
}

.nr-news__list .post h3 a:hover {
  color: var(--nr-brand)
}

.nr-news__list .post .meta {
  font-size: 13px;
  color: #9ca3af
}

.nr-news__list .post p {
  font-size: 13px;
  color: #cbd5e1;
  margin: 0;
  flex: 1
}

.nr-news__list .post .nr-btn {
  margin-top: auto;
  margin-bottom: 2px;
  align-self: flex-start;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 8px;
  background: linear-gradient(90deg, #6366f1, #a855f7);
  border: none;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(99, 102, 241, .35);
  position: relative;
  z-index: 1
}

.nr-news__list .post .nr-btn:hover {
  box-shadow: 0 4px 12px rgba(168, 85, 247, .5);
  transform: translateY(-1px)
}

/* ---------- News Swiper ---------- */
.nr-news-swiper .swiper-wrapper {
  align-items: stretch
}

.nr-news-swiper .swiper-slide {
  display: flex;
  height: auto
}

.nr-news-swiper .post {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .15) inset;
  overflow: visible;
  transition: transform .15s ease
}

.nr-news-swiper .post:hover {
  transform: translateY(-2px)
}

.nr-news-swiper .post::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
  opacity: 0;
  transition: opacity .15s ease;
  pointer-events: none
}

.nr-news-swiper .post:hover::after {
  opacity: 1
}

.nr-news-swiper .thumb {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-bottom: 1px solid #1f2937;
  border-radius: 14px 14px 0 0
}

.nr-news-swiper .post__in {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 14px 16px 28px;
  gap: 10px
}

.nr-news-swiper .post h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700
}

.nr-news-swiper .post h3 a {
  color: #e5e7eb;
  text-decoration: none
}

.nr-news-swiper .post h3 a:hover {
  color: #278cf3
}

.nr-news-swiper .post p {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.45;
  color: #cbd5e1;
  flex: 1
}

.nr-news-swiper .post .nr-btn {
  margin-top: auto
}

.nr-news-swiper,
.nr-news-swiper .swiper {
  overflow: hidden
}

.swiper-pagination-bullet {
  background: #374151;
  opacity: .7
}

.swiper-pagination-bullet-active {
  background: #278cf3;
  opacity: 1
}

/* ---------- Issues Grid ---------- */
.nr-issues-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.nr-issue {
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .15) inset
}

.nr-issue h3 {
  margin: 0 0 8px;
  font-weight: 800;
  font-size: 16px;
  color: #e5e7eb
}

.nr-issue p {
  margin: 0 0 10px;
  color: #cbd5e1
}

.nr-issue ul {
  margin: 0;
  padding-left: 18px
}

.nr-issue li {
  margin: 4px 0
}

.nr-issue a {
  color: #278cf3;
  text-decoration: none
}

.nr-issue a:hover {
  color: #a5f3ff
}

/* ---------- Progress Bars ---------- */
.nb-progress,
.nb-update {
  --nb-h: 36px;
  --nb-bg: #111317;
  width: 100%;
  max-width: 680px;
  margin: 20px auto
}

.nb-progress .nb-track,
.nb-update .nb-track {
  position: relative;
  height: var(--nb-h);
  background: var(--nb-bg);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: inset 0 0 0 2px #0e0f13, inset 0 2px 0 rgba(255, 255, 255, .06), inset 0 -2px 0 rgba(0, 0, 0, .55)
}

.nb-progress .nb-bar,
.nb-update .nb-bar {
  height: 100%;
  width: 0%;
  border-radius: 8px;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .22), inset 0 -2px 0 rgba(0, 0, 0, .28);
  transition: none
}

.nb-progress .nb-bar {
  background: linear-gradient(#52a8ff, #2f89f7)
}

.nb-update .nb-bar {
  background: linear-gradient(#ffcf52, #f7a72f)
}

.nb-progress .nb-label,
.nb-update .nb-label {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: calc(var(--nb-h)*.72);
  line-height: 1;
  color: #fff;
  user-select: none;
  text-shadow: 0 1px 0 #000, 1px 0 0 #000, 0 -1px 0 #000, -1px 0 0 #000;
  z-index: 2
}

.nb-progress .nb-rail-shadow,
.nb-update .nb-rail-shadow {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
  width: 54%;
  height: 6px;
  background: rgba(0, 0, 0, .35);
  border-radius: 999px;
  filter: blur(.3px);
  pointer-events: none
}

/* ---------- Modes Grid ---------- */
.nr-modes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 20px
}

.nr-mode {
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 14px;
  padding: 20px;
  text-align: center;
  transition: .2s ease;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .15) inset
}

.nr-mode:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .35)
}

.nr-mode__icon {
  font-size: 32px;
  margin-bottom: 10px
}

.nr-mode h3 {
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 8px;
  color: #fff
}

.nr-mode p {
  font-size: 14px;
  color: #cbd5e1;
  margin: 0
}

/* ---------- Chat Bubble ---------- */
.nb-bubble-wrap {
  display: flex;
  justify-content: center;
  margin: 40px 0
}

.nb-bubble {
  --nb-bg: #5caef5;
  --nb-color: #fff;
  --nb-radius: 12px;
  --nb-pad-x: 16px;
  --nb-pad-y: 12px;
  --nb-delay-step: .7s;
  --nb-line-dur: .45s;
  max-width: 360px;
  color: var(--nb-color);
  background: var(--nb-bg);
  border-radius: var(--nb-radius) var(--nb-radius) var(--nb-radius) 0;
  padding: var(--nb-pad-y) var(--nb-pad-x);
  position: relative;
  font: clamp(13px, 2.8vw, 15px)/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  word-break: break-word
}

.nb-bubble::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-left: 12px solid var(--nb-bg);
  border-top: 12px solid transparent
}

.nb-bubble .nb-line {
  opacity: 0;
  transform: translateY(6px);
  will-change: opacity, transform;
  transition: opacity .2s ease, transform .2s ease
}

.nb-bubble.is-inview .nb-line {
  animation: nb-line-in var(--nb-line-dur) ease forwards;
  animation-delay: calc((var(--i, 1) - 1) * var(--nb-delay-step))
}

@keyframes nb-line-in {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.nb-bubble .nb-strong {
  font-weight: 700
}

.nb-bubble .nb-dim {
  opacity: .9
}

/* ---------- iOS Install Icon ---------- */
.nb-ios-install {
  --size: 108px;
  --radius: 22px;
  --ring: 8;
  --dur: 4s;
  --circumference: 314;
  position: relative;
  display: inline-block;
  width: var(--size);
  height: var(--size)
}

.nb-ios-install .nb-icon {
  width: 100%;
  height: 100%;
  border-radius: var(--radius);
  overflow: hidden;
  background: #202225;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .35)
}

.nb-ios-install .nb-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%) brightness(.7);
  transition: filter .45s ease
}

.nb-ios-install .nb-svg {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none
}

.nb-ios-install svg {
  width: calc(100% - 20px);
  height: calc(100% - 20px)
}

.nb-ios-install .nb-ring-bg {
  stroke: rgba(255, 255, 255, .95);
  stroke-width: var(--ring);
  fill: none
}

.nb-ios-install .nb-ring-prog {
  stroke: #0065b2;
  stroke-width: var(--ring);
  fill: none;
  stroke-linecap: round;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  stroke-dasharray: var(--circumference);
  stroke-dashoffset: var(--circumference);
  animation: none
}

.nb-ios-install.nb-inview .nb-ring-prog {
  animation: nb-dash var(--dur) linear forwards
}

.nb-ios-install.nb-done .nb-icon img {
  filter: none
}

.nb-ios-install.nb-done .nb-svg {
  display: none
}

@keyframes nb-dash {
  to {
    stroke-dashoffset: 0
  }
}

.nb-ios-install-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 20px
}

.nb-ios-install--store .nb-ring-bg {
  stroke: rgba(255, 255, 255, .95)
}

.nb-ios-install--store .nb-ring-prog {
  stroke: rgba(255, 255, 255, .95)
}

.nb-ios-install--store .nb-svg::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  -webkit-mask: radial-gradient(circle at 50% 50%, #000 44%, transparent 46%);
  mask: radial-gradient(circle at 50% 50%, #000 44%, transparent 46%);
  background: rgba(0, 0, 0, .20)
}

/* ---------- Android Install Icon ---------- */
.nb-android-install {
  --size: 96px;
  --ring: 4;
  --dur: 4s;
  --track: #2c241e;
  --prog: #ff9f43;
  --circumference: 285;
  position: relative;
  width: var(--size);
  height: var(--size);
  display: inline-block
}

.nb-android-install .nb-icon {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background: #222;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .35)
}

.nb-android-install .nb-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.nb-android-install .nb-svg {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none
}

.nb-android-install svg {
  width: 100%;
  height: 100%
}

.nb-android-install .ring-track {
  stroke: var(--track);
  stroke-width: var(--ring);
  fill: none;
  transform: rotate(-90deg);
  transform-origin: 50% 50%
}

.nb-android-install .ring-prog {
  stroke: var(--prog);
  stroke-width: var(--ring);
  fill: none;
  stroke-linecap: round;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  stroke-dasharray: var(--circumference);
  stroke-dashoffset: var(--circumference);
  animation: none
}

.nb-android-install.nb-inview .ring-prog {
  animation: nb-ad-dash var(--dur) linear forwards
}

@keyframes nb-ad-dash {
  to {
    stroke-dashoffset: 0
  }
}

.nb-android-center {
  display: flex;
  justify-content: center
}

.nb-android-install.nb-done .nb-svg {
  display: none
}

.nb-android-install.nb-inview:not(.nb-done) .nb-icon img {
  filter: grayscale(100%) brightness(.72);
  transition: filter .35s ease
}

.nb-android-install.nb-inview:not(.nb-done) .nb-svg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask: radial-gradient(circle at 50% 50%, #000 44%, transparent 46%);
  mask: radial-gradient(circle at 50% 50%, #000 44%, transparent 46%);
  background: rgba(0, 0, 0, .18)
}

/* ---------- Pros & Cons ---------- */
.nr-pros-cons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 32px 0
}

.nr-pros-cons .nr-box {
  padding: 20px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  transition: .2s ease;
}

.nr-pros-cons .nr-box:hover {
  transform: translateY(-4px);
  border-color: rgba(39, 140, 243, .4);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
}

.nr-pros-cons .nr-box h4 {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.01em;
  display: flex;
  align-items: center;
  gap: 8px;
}

.nr-pros-cons .nr-box ul {
  margin: 0;
  padding: 0 0 0 20px;
  line-height: 1.7;
  text-align: left;
  list-style: none;
}

.nr-pros-cons .nr-box ul li {
  margin: 10px 0;
  color: #cbd5e1;
  font-size: 14px;
  position: relative;
  padding-left: 4px;
}

.nr-pros-cons .nr-box ul li::before {
  content: "•";
  position: absolute;
  left: -16px;
  color: #278cf3;
  font-size: 18px;
}

/* ---------- Highlight (oval/annotation) ---------- */
.hl-wrap {
  position: relative;
  width: 100%;
  max-width: 600px;
  aspect-ratio: 600/323;
  margin: 16px auto;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35)
}

.hl-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.hl-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.hl-oval {
  fill: none;
  stroke: #ff3b30;
  stroke-width: 6;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 6px rgba(255, 59, 48, .6));
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: none
}

.hl-wrap.is-inview .hl-oval {
  animation: draw 3s ease-out forwards, pulse 2.5s ease-in-out 2s infinite
}

@keyframes draw {
  to {
    stroke-dashoffset: 0
  }
}

@keyframes pulse {

  0%,
  100% {
    stroke-width: 6;
    filter: drop-shadow(0 0 6px rgba(255, 59, 48, .6))
  }

  50% {
    stroke-width: 8;
    filter: drop-shadow(0 0 12px rgba(255, 59, 48, .75))
  }
}

.hl-finger {
  --x: 75%;
  --y: 92%;
  --rot: -10deg;
  --size: clamp(40px, 12vw, 72px);
  --tip-x: 92%;
  --tip-y: 52%;
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%) rotate(var(--rot));
  font-size: var(--size);
  line-height: 1;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .35));
  opacity: 0
}

.hl-finger::before {
  content: "👉";
  display: block
}

.hl-finger::after {
  content: "";
  position: absolute;
  left: var(--tip-x);
  top: var(--tip-y);
  width: .18em;
  height: .18em;
  border-radius: 999px;
  border: .035em solid rgba(10, 132, 255, .9);
  transform: translate(-50%, -50%) scale(.2);
  opacity: 0
}

.hl-wrap.is-inview .hl-finger {
  animation: finger-in .55s cubic-bezier(.2, .9, .2, 1) forwards, finger-tap 1.4s ease-out .55s infinite
}

.hl-wrap.is-inview .hl-finger::after {
  animation: tap-wave 1.4s ease-out .65s infinite
}

@keyframes finger-in {
  0% {
    opacity: 0;
    transform: translate(24px, 18px) rotate(var(--rot)) scale(.96)
  }

  60% {
    opacity: 1;
    transform: translate(-2px, -4px) rotate(var(--rot)) scale(1.04)
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(var(--rot)) scale(1)
  }
}

@keyframes finger-tap {

  0%,
  60%,
  100% {
    transform: translate(-50%, -50%) rotate(var(--rot)) scale(1)
  }

  70% {
    transform: translate(-50%, -52%) rotate(var(--rot)) scale(.98)
  }

  80% {
    transform: translate(-50%, -49%) rotate(var(--rot)) scale(1.02)
  }
}

@keyframes tap-wave {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2)
  }

  20% {
    opacity: 1
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2.2)
  }
}

/* ---------- Vertical Steps ---------- */
.nr-stepsv {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  position: relative
}

.nr-stepv {
  position: relative;
  padding-left: 56px;
  margin: 0 0 18px
}

.nr-stepsv::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #253043;
  opacity: .8
}

.nr-stepv::before {
  content: "";
  position: absolute;
  left: 19px;
  top: 28px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2f3a4a;
  box-shadow: 0 0 0 2px rgba(47, 58, 74, .35)
}

.nr-stepv__head {
  background: #1c2737;
  border: 1px solid #223043;
  color: #e5e7eb;
  font-weight: 800;
  padding: 10px 14px 10px 46px;
  border-radius: 12px 12px 0 0;
  position: relative
}

.nr-stepv__body {
  background: #151e2a;
  border: 1px solid #223043;
  border-top: 0;
  color: #cbd5e1;
  padding: 12px 14px;
  border-radius: 0 0 12px 12px;
  line-height: 1.55;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18)
}

.nr-stepv__num {
  position: absolute;
  left: 10px;
  top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #0e1a28;
  border: 1px solid #2b3a4f;
  color: #9fd3ff;
  font-weight: 900;
  font-size: 14px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .25), inset 0 0 0 1px rgba(255, 255, 255, .04)
}

/* ---------- Install Cards ---------- */
.nr-install {
  padding: 24px;
  text-align: center;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
  transition: .2s ease;
}

.nr-install:hover {
  transform: translateY(-2px);
  border-color: rgba(39, 140, 243, .3);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
}

.nr-install__pills {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 12px
}

.nr-install__icon {
  width: 88px;
  height: 88px;
  border-radius: 20px;
  display: block;
  margin: 6px auto 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 0 0 1px #1f2937 inset
}

.nr-install__title {
  margin: 0 0 6px;
  font-size: 28px;
  font-weight: 900
}

.nr-install__lead {
  margin: 0 0 10px;
  color: #cbd5e1
}

.nr-install__file a {
  color: #93c5fd;
  text-decoration: none
}

.nr-install__file a:hover {
  color: #278cf3
}

.nr-install__btn {
  margin-top: 8px;
  min-width: 220px
}

.nr-install__note {
  margin-top: 12px
}

/* ---------- Mirrors ---------- */
.nr-mirrors {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 14px;
  color: rgba(255, 255, 255, .6);
}

.nr-mirrors__label {
  font-weight: 600
}

.nr-mirror-link {
  padding: 4px 10px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 6px;
  color: rgba(255, 255, 255, .8);
  text-decoration: none;
  transition: all .2s ease;
}

.nr-mirror-link:hover {
  background: rgba(39, 140, 243, .15);
  border-color: rgba(39, 140, 243, .4);
  color: #43a9ff;
}

/* ---------- FAQ (Modern Dark Theme) ---------- */
.nr-section--dark {
  background: transparent;
  padding: 48px 0;
  margin: 48px 0;
}

.nr-section--dark .nr-cont {
  background:
    radial-gradient(900px 400px at 50% -120px, rgba(67, 169, 255, .25), transparent 60%),
    linear-gradient(180deg, #070b12, #0b1220);
  border-radius: 18px;
  padding: 48px 24px;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.nr-faq-header {
  text-align: center;
  margin-bottom: 36px;
}

.nr-faq-header .nr-title-lg {
  margin: 0;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 800;
  letter-spacing: -.02em;
}

.nr-faq-header .nr-title-lg .nr-accent {
  color: #43a9ff;
}

.nr-faq-header .nr-lead {
  margin: 12px auto 0;
  max-width: 640px;
  color: rgba(255, 255, 255, .65);
  font-size: 16px;
}

.nr-faq .nr-faq-list {
  display: grid;
  gap: 14px;
  max-width: 900px;
  margin: 0 auto;
}

.nr-faq .nr-faq-item {
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  padding: 16px 18px;
  transition: all .25s ease;
}

.nr-faq .nr-faq-item:hover {
  border-color: rgba(67, 169, 255, .3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
}

.nr-faq .nr-faq-item[open] {
  background: linear-gradient(180deg, rgba(67, 169, 255, .08), rgba(67, 169, 255, .04));
  border-color: rgba(67, 169, 255, .4);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.nr-faq .nr-faq-q {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 700;
  font-size: 16px;
  color: rgba(255, 255, 255, .9);
  user-select: none;
  -webkit-user-select: none;
  margin: 0;
  padding: 0;
}

.nr-faq .nr-faq-q::-webkit-details-marker {
  display: none;
}

.nr-faq .nr-faq-q:hover {
  color: #43a9ff;
}

.nr-faq .nr-faq-chevron {
  opacity: .6;
  transition: transform .2s ease;
  font-size: 18px;
  flex-shrink: 0;
  color: #43a9ff;
}

.nr-faq .nr-faq-item[open] .nr-faq-chevron {
  transform: rotate(180deg);
}

.nr-faq .nr-faq-a {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .65);
  line-height: 1.6;
  font-size: 15px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.nr-faq .nr-faq-a p {
  margin: 0 0 10px;
}

.nr-faq .nr-faq-a p:last-child {
  margin-bottom: 0;
}

.nr-faq .nr-faq-a a {
  color: #43a9ff;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px dashed rgba(67, 169, 255, .5);
  transition: all .2s ease;
}

.nr-faq .nr-faq-a a:hover {
  color: #93c5fd;
  border-color: #93c5fd;
}

.nr-faq .nr-faq-a b,
.nr-faq .nr-faq-a strong {
  color: rgba(255, 255, 255, .85);
  font-weight: 700;
}

.nr-faq .nr-ul {
  margin: 8px 0;
  padding-left: 20px;
  list-style: none;
}

.nr-faq .nr-ul li {
  position: relative;
  margin: 6px 0;
  padding-left: 8px;
}

.nr-faq .nr-ul li::before {
  content: "•";
  position: absolute;
  left: -12px;
  color: #43a9ff;
  font-size: 18px;
  line-height: 1.6;
}

/* ---------- SEO Content Box ---------- */
.nr-seo-box {
  padding: 24px;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 14px;
  margin: 24px 0
}

.nr-seo-box h2 {
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 800;
  color: #fff
}

.nr-specs-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px
}

.nr-specs-list li {
  padding: 10px 14px;
  background: #0a0f1a;
  border: 1px solid #1a2332;
  border-radius: 10px;
  color: #cbd5e1
}

.nr-specs-list strong {
  color: #e5e7eb;
  font-weight: 700
}

.nr-title-md {
  font-size: 28px;
  font-weight: 900;
  margin: 32px 0 16px;
  color: #fff;
  letter-spacing: -.02em
}

.nr-alert {
  padding: 16px;
  background: rgba(251, 146, 60, .1);
  border: 1px solid rgba(251, 146, 60, .3);
  border-radius: 12px;
  margin: 20px 0
}

.nr-alert p {
  margin: 0;
  color: #cbd5e1
}

.nr-list {
  list-style: decimal;
  padding-left: 24px;
  margin: 16px 0
}

.nr-list li {
  margin: 8px 0;
  color: #cbd5e1;
  line-height: 1.6
}

.nr-list ul {
  list-style: disc;
  padding-left: 20px;
  margin-top: 8px
}

code {
  background: #0e1520;
  border: 1px solid #1f2937;
  padding: 2px 8px;
  border-radius: 6px;
  color: #278cf3;
  font-family: monospace
}

/* ---------- Feature Sections ---------- */
.nr-feature-section {
  margin: 48px 0
}

.nr-feature-header {
  text-align: center;
  margin-bottom: 32px
}

.nr-feature-visual {
  max-width: 700px;
  margin: 32px auto;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .4);
  border: 1px solid #1f2937
}

.nr-feature-visual img {
  display: block;
  width: 100%;
  height: auto
}

.nr-feature-steps {
  margin: 32px 0
}

.nr-numbered-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px
}

.nr-numbered-steps li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 12px;
  transition: .2s
}

.nr-numbered-steps li:hover {
  border-color: #278cf3;
  transform: translateX(4px)
}

.nr-step-number {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #278cf3;
  color: #fff;
  font-weight: 900;
  border-radius: 8px;
  font-size: 16px
}

.nr-step-content p {
  margin: 0;
  color: #cbd5e1;
  line-height: 1.6
}

.nr-alert-box {
  display: flex;
  gap: 16px;
  padding: 20px;
  background: rgba(251, 146, 60, .1);
  border: 1px solid rgba(251, 146, 60, .3);
  border-radius: 12px;
  margin-top: 32px
}

.nr-alert-icon {
  font-size: 32px;
  flex-shrink: 0
}

.nr-alert-content {
  color: #cbd5e1;
  line-height: 1.6
}

.nr-alert-content strong {
  color: #fb923c
}

/* ---------- Features Grid ---------- */
.nr-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 32px
}

.nr-feature-card {
  padding: 24px;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 14px;
  text-align: center;
  transition: .2s
}

.nr-feature-card:hover {
  transform: translateY(-4px);
  border-color: #278cf3;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35)
}

.nr-feature-icon {
  font-size: 48px;
  margin-bottom: 16px;
  filter: drop-shadow(0 2px 8px rgba(39, 140, 243, .3))
}

.nr-feature-card h3 {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  color: #fff
}

.nr-feature-card p {
  margin: 0;
  color: #9ca3af;
  font-size: 14px;
  line-height: 1.5
}

/* ---------- Commands Section ---------- */
.nr-commands-section {
  margin: 48px 0
}

.nr-commands-visual {
  max-width: 600px;
  margin: 32px auto
}

.nr-commands-visual .nb-bubble-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px
}

.nr-commands-visual .nb-bubble {
  max-width: 500px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #1a2332, #0e1726);
  border-radius: 18px;
  border: 1px solid #278cf3;
  box-shadow: 0 8px 28px rgba(39, 140, 243, .25);
  position: relative
}

.nr-commands-visual .nb-bubble::after {
  content: "";
  position: absolute;
  left: 20px;
  bottom: -12px;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 12px solid #0e1726;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .3))
}

/* Desktop grid */
.nr-commands-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 32px
}

.nr-command-card {
  padding: 16px 18px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
  transition: .2s;
}

.nr-command-card:hover {
  border-color: #278cf3;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .3)
}

.nr-command {
  display: inline-block;
  background: rgba(59, 130, 246, .12);
  border: 1px solid rgba(59, 130, 246, .35);
  padding: 7px 12px;
  border-radius: 12px;
  color: rgba(255, 255, 255, .9);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
}

.nr-command-card p {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, .6);
  font-size: 14px;
  line-height: 1.45
}

.nr-command-card code {
  margin-left: 4px
}

/* Mobile accordion (hidden by default) */
.nr-commands-accordion {
  display: none
}

.nr-acc {
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .03);
  border-radius: 18px;
  padding: 12px 14px;
}

.nr-acc+.nr-acc {
  margin-top: 10px
}

.nr-acc summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
}

.nr-acc summary::-webkit-details-marker {
  display: none
}

.nr-acc summary span {
  font-weight: 700;
  font-size: 14px;
  color: rgba(255, 255, 255, .8);
}

.nr-acc p {
  margin: 10px 0 0;
  font-size: 14px;
  color: rgba(255, 255, 255, .6);
  line-height: 1.45;
}

/* ---------- Alternative Downloads ---------- */
.nr-download-alt {
  text-align: center
}

.nr-download-alt .nr-title-md {
  margin: 0 0 12px
}

.nr-download-alt .nr-lead {
  margin: 0 auto 32px;
  max-width: 600px
}

.nr-download-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
  margin-top: 0;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.nr-download-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  transition: .2s ease;
}

.nr-download-option:hover {
  transform: translateY(-4px);
  border-color: rgba(39, 140, 243, .4);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
}

.nr-download-icon {
  font-size: 42px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 6px rgba(39, 140, 243, .3))
}

.nr-download-info {
  text-align: left
}

.nr-download-info h3 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.01em
}

.nr-download-info p {
  margin: 0;
  color: #9ca3af;
  font-size: 14px;
  line-height: 1.5
}

/* ---------- Server Overview Panel ---------- */
.nr-server-panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
  overflow: hidden;
  margin: 32px 0;
}

.nr-panel-head {
  padding: 18px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background: rgba(0, 0, 0, .15);
}

.nr-panel-title {
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -.01em;
  color: #fff;
}

.nr-status-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(34, 197, 94, .12);
  color: rgba(255, 255, 255, .9);
  white-space: nowrap;
}

.nr-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, .2);
}

/* Stats Grid */
.nr-stats-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
  padding: 18px;
}

.nr-stat-card {
  grid-column: span 6;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 14px;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .015));
  position: relative;
  overflow: hidden;
  transition: .2s ease;
}

.nr-stat-card:hover {
  border-color: rgba(39, 140, 243, .4);
  background: linear-gradient(180deg, rgba(39, 140, 243, .08), rgba(39, 140, 243, .04));
  transform: translateY(-2px);
}

.nr-stat-card--wide {
  grid-column: span 12
}

.nr-stat-label {
  font-size: 13px;
  color: rgba(255, 255, 255, .6);
  margin-bottom: 6px;
  font-weight: 500;
}

.nr-stat-value {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.01em;
  color: #fff;
}

.nr-stat-hint {
  margin-top: 6px;
  font-size: 13px;
  color: rgba(255, 255, 255, .5);
  line-height: 1.5;
}

/* ---------- iOS Page Enhancements ---------- */
.nr-ios-install .nr-cont,
.page-template-page-ios .site-main {
  position: relative;
}

.page-template-page-ios {
  background:
    radial-gradient(1200px 600px at 50% 0%, rgba(39, 140, 243, .12), transparent 70%),
    linear-gradient(180deg, #0a0e17, #0b0f16);
  min-height: 100vh;
}

/* Breadcrumbs */
.nr-breadcrumbs {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 14px 0 28px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Courier New', monospace;
  font-size: 13px;
  color: rgba(255, 255, 255, .6);
}

.nr-breadcrumbs a {
  color: rgba(255, 255, 255, .8);
  text-decoration: none;
  transition: color .15s ease;
}

.nr-breadcrumbs a:hover {
  color: #43a9ff;
}

.nr-breadcrumbs .nr-sep {
  opacity: .35;
}

.nr-breadcrumbs .nr-current {
  color: #43a9ff;
  font-weight: 600;
}

/* Section Headers */
.nr-section-header {
  text-align: center;
  margin: 32px auto;
  max-width: 800px;
}

.nr-section-header .nr-title-md {
  margin: 0 0 12px;
}

.nr-section-header .nr-lead {
  margin: 0 auto;
  max-width: 720px;
}

/* Remove excessive spacing between sections */
.page-template-page-ios .nr-section--light {
  margin: 0;
  padding: 60px 20px;
  border-radius: 0;
  background: transparent;
}

.page-template-page-ios .nr-section--light:first-child {
  margin-top: 0;
}

/* ---------- iOS FAQ Section ---------- */
.nr-ios-faq-section {
  padding: 80px 20px;
  background:
    radial-gradient(900px 400px at 50% -120px, rgba(39, 140, 243, .15), transparent 60%),
    linear-gradient(180deg, #0a0f1a, #0b1220);
  border-radius: 0;
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, .05);
}

.nr-ios-faq-header {
  text-align: center;
  margin-bottom: 48px
}

.nr-ios-faq-header .nr-title-lg {
  margin-bottom: 12px
}

.nr-ios-faq-header .nr-lead {
  max-width: 720px;
  margin: 0 auto;
  color: #9ca3af
}

.nr-ios-faq-list {
  display: grid;
  gap: 14px;
  max-width: 900px;
  margin: 0 auto
}

.nr-ios-faq-item {
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  padding: 16px 18px;
  transition: all .3s ease;
}

.nr-ios-faq-item:hover {
  border-color: rgba(39, 140, 243, .4);
  background: linear-gradient(180deg, rgba(39, 140, 243, .08), rgba(39, 140, 243, .04));
  box-shadow: 0 4px 16px rgba(39, 140, 243, .15);
}

.nr-ios-faq-item[open] {
  border-color: rgba(39, 140, 243, .5);
  background: linear-gradient(180deg, rgba(39, 140, 243, .1), rgba(39, 140, 243, .05));
}

.nr-ios-faq-q {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  transition: color .2s ease;
  user-select: none;
  -webkit-user-select: none;
}

.nr-ios-faq-q::-webkit-details-marker {
  display: none
}

.nr-ios-faq-q:hover {
  color: #278cf3
}

.nr-ios-chevron {
  opacity: .6;
  transition: transform .3s ease;
  font-size: 20px;
  flex-shrink: 0;
  color: #278cf3;
}

.nr-ios-faq-item[open] .nr-ios-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

.nr-ios-faq-a {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .08)
}

.nr-ios-faq-a p {
  margin: 0;
  color: #cbd5e1;
  line-height: 1.7;
  font-size: 15px
}

.nr-ios-faq-a strong {
  color: #e5e7eb;
  font-weight: 700
}

/* ---------- iOS/Android CTA ---------- */
.nr-ios-cta,
.nr-android-cta {
  padding: 48px 20px
}

.nr-cta-grid {
  max-width: 720px;
  margin: 0 auto
}

.nr-cta-content {
  text-align: center
}

.nr-cta-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0
}

.nr-cta-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 12px
}

.nr-cta-icon {
  font-size: 32px;
  filter: drop-shadow(0 2px 6px rgba(39, 140, 243, .25))
}

.nr-cta-feature span:last-child {
  font-size: 14px;
  color: #cbd5e1;
  font-weight: 600
}

.nr-cta-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 32px 0 24px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto
}

.nr-cta-meta {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap
}

/* ---------- Extra Links / Installation Guides ---------- */
.nr-extra-links {
  margin-top: 40px;
  padding: 32px 24px;
  background: #0a0f1a;
  border-radius: 16px;
  border: 1px solid #1a2332
}

.nr-extra-links .nr-title-sm {
  margin: 0 0 20px;
  text-align: center;
  color: #e5e7eb;
  font-weight: 800;
  font-size: 20px
}

.nr-extra-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px
}

.nr-extra-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 14px;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 14px;
  text-decoration: none;
  color: #e5e7eb;
  font-weight: 700;
  transition: all .2s ease;
  text-align: center;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .15) inset
}

.nr-extra-card:hover {
  transform: translateY(-2px);
  border-color: #278cf3;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .35)
}

.nr-extra-icon {
  font-size: 32px;
  filter: drop-shadow(0 2px 6px rgba(39, 140, 243, .25))
}

/* ---------- iOS Alert ---------- */
.ios-alert--inline {
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
  background: #f7f8fa;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .35);
  border: 1px solid rgba(0, 0, 0, .08);
  opacity: 0;
  transform: translateY(12px) scale(.97)
}

.ios-alert--inline .ios-alert__content {
  padding: 18px 16px 14px;
  text-align: center
}

.ios-alert--inline .ios-alert__title {
  margin: 0 0 8px;
  font: 700 20px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: #000
}

.ios-alert--inline .ios-alert__text {
  margin: 0;
  font: 16px/1.3 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: #222
}

.ios-alert--inline .ios-alert__divider {
  height: 1px;
  background: rgba(0, 0, 0, .15)
}

.ios-alert--inline .ios-alert__btn {
  display: block;
  padding: 12px 8px 14px;
  text-align: center;
  font: 600 18px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: #0A84FF;
  pointer-events: none
}

.ios-alert--inline.is-inview {
  animation: ios-alert-pop .42s cubic-bezier(.17, .9, .2, 1) forwards
}

@keyframes ios-alert-pop {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(.97)
  }

  60% {
    opacity: 1;
    transform: translateY(-2px) scale(1.01)
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1)
  }
}

/* ---------- Video Embed ---------- */
.nr-vid {
  position: relative;
  width: 100%;
  max-width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: #0b121d;
  aspect-ratio: 16/9;
  height: auto
}

.nr-vid iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0
}

.nr-vid-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: .25s ease
}

.nr-vid-play svg {
  width: 72px;
  height: 72px;
  fill: #fff;
  opacity: .9;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, .5));
  transition: transform .25s ease, opacity .25s ease
}

.nr-vid:hover .nr-vid-play svg {
  transform: scale(1.08);
  opacity: 1
}

.nr-vid-play circle {
  fill: rgba(255, 255, 255, 0.12)
}

.nr-vid-play polygon {
  fill: #fff
}

/* ---------- Article ---------- */
.nr-article {
  padding: 22px 20px;
  border-radius: 18px;
  background: linear-gradient(180deg, #0f1623, #0e1520);
  border: 1px solid #1f2937;
  box-shadow: 0 0 0 1px #1f2937 inset
}

.nr-article__head {
  margin-bottom: 12px
}

.nr-article__title {
  margin: 0 0 6px;
  font-weight: 900;
  font-size: 28px;
  line-height: 1.15
}

.nr-brow {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 6px;
  margin: 6px 0 12px;
  font-size: 14px;
  color: #9aa3b1
}

.nr-bc__date {
  color: #9aa3b1;
  display: inline-flex;
  align-items: center;
  line-height: 1.25
}

.nr-bc__date::before {
  content: "•";
  margin: 0 8px;
  opacity: .55;
  transform: translateY(-.05em)
}

.nr-article__cover {
  display: grid;
  place-items: center;
  margin: 10px auto 16px
}

.nr-article__img {
  display: block;
  max-width: min(960px, 100%);
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .35), 0 0 0 1px #1f2937 inset
}

.post-content {
  max-width: 860px;
  margin: 0 auto;
  color: #e5e7eb;
  line-height: 1.65;
  font-size: 16px
}

.post-content>*+* {
  margin-top: .9em
}

.post-content h2 {
  font-size: 22px;
  margin: 1.2em 0 .5em;
  font-weight: 800
}

.post-content h3 {
  font-size: 19px;
  margin: 1.1em 0 .45em;
  font-weight: 800
}

.post-content a {
  color: #278cf3;
  text-decoration: none;
  border-bottom: 1px dashed rgba(39, 140, 243, .6)
}

.post-content a:hover {
  color: #a855f7;
  border-color: #a855f7
}

.post-content img {
  display: block;
  margin: 12px auto;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .3)
}

.post-content figure {
  margin: 12px auto;
  text-align: center
}

.post-content figcaption {
  font-size: 13px;
  color: #9aa3b1;
  margin-top: 6px
}

.post-content table {
  width: 100%;
  border-collapse: collapse;
  background: #0e1520;
  border: 1px solid #1f2937;
  border-radius: 12px;
  overflow: hidden
}

.post-content th,
.post-content td {
  padding: 10px 12px;
  border-bottom: 1px solid #243044
}

.post-content tr:last-child td {
  border-bottom: 0
}

.post-content thead th {
  background: #1f2937;
  color: #e5e7eb;
  text-align: left
}

.post-content pre {
  background: #0b121d;
  border: 1px solid #1f2937;
  border-radius: 10px;
  padding: 12px;
  overflow: auto;
  font-size: 14px
}

.post-content code {
  background: rgba(31, 41, 55, .55);
  padding: .1em .35em;
  border-radius: 6px
}

.post-content blockquote {
  margin: 12px 0;
  padding: 10px 14px;
  border-left: 3px solid #278cf3;
  background: #0b121d;
  color: #cbd5e1;
  border-radius: 8px
}

.post-content ul,
.post-content ol {
  padding-left: 1.1em
}

.post-content li+li {
  margin-top: .35em
}

/* ---------- Tags + Share ---------- */
.nr-meta-footer {
  margin: 24px 0;
  text-align: center
}

.nr-meta-footer::before {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: #1f2937;
  border-radius: 2px;
  margin: 28px auto 20px
}

.nr-article__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 14px
}

.nr-share {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap
}

.nr-share .nr-btn {
  padding: 8px 14px;
  border-radius: 8px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: .2s
}

.nr-share .nr-btn:hover {
  opacity: .85;
  transform: translateY(-1px)
}

/* ---------- Comments ---------- */
.nr-comments-wrap {
  margin-top: 28px
}

.nr-comments {
  padding: 18px;
  border-radius: 14px;
  background: #0e1520;
  border: 1px solid #1f2937;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .08) inset
}

.nr-comments h2,
.nr-comments .comment-reply-title {
  margin: 0 0 14px;
  font-weight: 800;
  font-size: 20px;
  color: #fff
}

.nr-comments .comment-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0
}

.nr-comments .comment {
  background: #0b121d;
  border: 1px solid #243044;
  border-radius: 12px;
  padding: 12px;
  margin: 0 0 12px
}

.nr-comments .comment-meta {
  font-size: 12px;
  color: #9aa3b1;
  margin-bottom: 6px
}

.nr-comments .comment-meta a {
  color: #9ca3af;
  text-decoration: none
}

.nr-comments .comment-meta a:hover {
  color: #d1d5db
}

#comments .comment-author {
  display: flex;
  align-items: center;
  gap: 8px
}

#comments .comment-author img {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 10px;
  vertical-align: middle
}

.nr-comments .children {
  list-style: none;
  margin: 10px 0 0 22px;
  padding-left: 14px;
  border-left: 1px solid #1f2937
}

.nr-comments .children .comment {
  margin-top: 10px
}

.nr-comments .comment-respond {
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid #1f2937
}

.nr-comments .comment-form label {
  display: block;
  margin: 8px 0 4px;
  font-weight: 500;
  color: #e5e7eb
}

.nr-comments .comment-form input[type="text"],
.nr-comments .comment-form input[type="email"],
.nr-comments .comment-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #253043;
  background: #0b121d;
  color: #e5e7eb;
  box-sizing: border-box
}

.nr-comments .comment-form textarea {
  min-height: 120px
}

.nr-comments .comment-form input:focus,
.nr-comments .comment-form textarea:focus {
  outline: 0;
  border-color: #324158;
  box-shadow: 0 0 0 2px rgba(39, 140, 243, .12)
}

#commentform .form-submit {
  display: flex;
  justify-content: center;
  margin-top: 16px
}

#commentform .form-submit .submit {
  width: auto;
  min-width: 180px;
  text-align: center;
  padding: 10px 24px;
  border-radius: 10px;
  font-weight: 800;
  background: linear-gradient(90deg, #6366f1, #a855f7);
  color: #fff;
  border: 0;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(99, 102, 241, .35);
  transition: transform .15s, box-shadow .15s, opacity .2s
}

#commentform .form-submit .submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(168, 85, 247, .5)
}

/* ---------- Blog Layout ---------- */
.nr-blog-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px
}

.nr-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px
}

.nr-list>.nr-post.is-featured {
  grid-column: 1 / -1
}

.nr-card.nr-post {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
  border-radius: 14px;
  background: #0e1520;
  border: 1px solid #1f2937;
  box-shadow: 0 0 0 1px rgba(31, 41, 55, .08) inset, 0 8px 24px rgba(0, 0, 0, .25);
  overflow: hidden
}

.nr-post__thumb {
  display: block;
  line-height: 0;
  background: #0b121d
}

.nr-post__thumb img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
  transform: translateZ(0)
}

.nr-post__body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.nr-post__meta {
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: #9aa3b1;
  font-size: 13px;
  margin: 0
}

.nr-post__meta .nr-dot {
  opacity: .6;
  transform: translateY(-.05em)
}

.nr-post__title {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 800;
  color: #e5e7eb;
  position: relative;
  padding-bottom: 6px
}

.nr-post__title a {
  color: #e5e7eb;
  text-decoration: none
}

.nr-post__title a:hover {
  color: #a855f7
}

.nr-post__title::after {
  content: "";
  display: block;
  height: 1px;
  background: #1f2937;
  margin-top: 6px;
  border-radius: 1px;
  opacity: .75
}

.nr-post__excerpt {
  margin: 6px 0 0;
  color: #cbd5e1;
  font-size: 15px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.nr-post.is-featured .nr-post__title {
  font-size: 24px
}

.nr-post.is-featured .nr-post__excerpt {
  font-size: 16px
}

.nr-btn--full {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  margin-top: auto;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 800;
  background: linear-gradient(90deg, #6366f1, #a855f7);
  color: #fff;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(99, 102, 241, .35);
  transition: transform .15s, box-shadow .15s, opacity .2s
}

.nr-btn--full:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(168, 85, 247, .5)
}

/* ---------- Sidebar ---------- */
.nr-blog-side {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.nr-sidebox {
  padding: 14px
}

.nr-sidebox__title {
  font-weight: 800;
  font-size: 16px;
  margin: 0 0 8px
}

.nr-sidebox__list {
  list-style: none;
  margin: 0;
  padding: 0
}

.nr-sidebox__list li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 10px 0;
  border-top: 1px solid #1f2937
}

.nr-sidebox__list li:first-child {
  border-top: 0
}

.nr-sidebox__list a {
  color: #cbd5e1;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.nr-sidebox__list a:hover {
  color: #278cf3
}

.nr-sidebox__date {
  color: #9aa3b1;
  font-size: 12px;
  white-space: nowrap
}

.nr-searchform {
  display: flex;
  gap: 8px;
  align-items: center
}

.nr-searchform .nr-input {
  flex: 1 1 auto;
  padding: 10px 12px;
  border-radius: 10px;
  background: #0b121d;
  border: 1px solid #253043;
  color: #e5e7eb;
  appearance: none;
  -webkit-appearance: none;
  outline: none
}

.nr-searchform .nr-input:focus {
  outline: 0;
  border-color: #324158;
  box-shadow: 0 0 0 2px rgba(39, 140, 243, .12)
}

.nr-searchform .nr-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none
}

/* ---------- Pagination ---------- */
.nr-pager {
  margin: 20px 0;
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap
}

.nr-pager a,
.nr-pager span {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  background: #111827;
  border: 1px solid #1f2937;
  color: #9ca3af;
  font-size: 14px;
  text-decoration: none;
  transition: .2s
}

.nr-pager a:hover {
  color: #fff;
  border-color: #278cf3
}

.nr-pager .current {
  background: linear-gradient(90deg, #6366f1, #a855f7);
  color: #fff;
  font-weight: 700;
  border: 0
}

/* ---------- Footer ---------- */
.nr-landing-footer {
  padding: 28px 0;
  background: #0b0f16;
  border-top: 1px solid #1f2937;
  margin-top: 20px;
  color: #cbd5e1
}

.nr-landing-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 20px
}

.nr-foot-title {
  font-weight: 800;
  color: #fff;
  margin-bottom: 6px
}

.nr-foot-text {
  color: #9ca3af
}

.nr-foot-col {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.nr-foot-col a {
  color: #cbd5e1;
  text-decoration: none
}

.nr-foot-col a:hover {
  color: #fff
}

.nr-prefooter-spacer {
  height: clamp(24px, 3vw, 40px);
  background: transparent
}

/* ---------- Responsive ---------- */
@media(max-width:1200px) {
  .nr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(max-width:980px) {
  .nr-grid {
    grid-template-columns: 1fr
  }

  .nr-hero__box {
    grid-template-columns: 1fr
  }

  .nr-about {
    grid-template-columns: 1fr
  }

  .nr-title-lg {
    font-size: 26px
  }

  .nr-issues-grid {
    grid-template-columns: 1fr
  }

  .nr-blog-grid {
    grid-template-columns: 1fr
  }

  .nr-landing-footer__grid {
    grid-template-columns: 1fr
  }
}

@media (max-width:780px) {
  .nr-list {
    grid-template-columns: 1fr
  }
}

@media (max-width:768px) {
  .nr-pros-cons {
    grid-template-columns: 1fr
  }

  .nr-install__btn,
  .nr-btn--download {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%
  }
}

@media (min-width:769px) {

  .nr-install__btn,
  .nr-btn--download {
    display: inline-flex;
    justify-content: center;
    width: auto;
    min-width: 220px;
    padding-left: 32px;
    padding-right: 32px
  }
}

@media (max-width:680px) {
  .nr-grid {
    grid-template-columns: 1fr
  }

  .nr-cont {
    padding-left: 16px;
    padding-right: 16px
  }

  .nr-stepv {
    padding-left: 52px;
    overflow: visible
  }

  .nr-stepv__head {
    padding-left: 44px
  }

  .nr-stepsv::before {
    left: 21px
  }

  .nr-stepv::before {
    left: 18px
  }

  .nr-stepv__num {
    left: 9px;
    width: 24px;
    height: 24px;
    font-size: 13px
  }

  .nr-about__specs {
    margin-left: -16px;
    margin-right: -16px;
    border-radius: 0;
    border-left: 0;
    border-right: 0
  }

  .nr-specs {
    width: 100%;
    table-layout: fixed
  }

  .nr-specs th,
  .nr-specs td {
    padding: 10px 12px;
    font-size: 14px
  }

  .nr-specs th:first-child,
  .nr-specs td:first-child {
    width: 40%
  }

  .nr-specs thead th {
    position: sticky;
    top: 0;
    background: #0f1623;
    z-index: 1
  }

  .nr-bc__date {
    width: 100%;
    margin-top: 2px
  }

  .nr-bc__date::before {
    display: none
  }

  .nr-article {
    padding: 18px 14px
  }

  .nr-article__title {
    font-size: 24px
  }

  .post-content {
    font-size: 15.5px
  }

  .nr-post__title {
    font-size: 18px
  }

  .nr-post__excerpt {
    font-size: 14.5px
  }

  .nr-faq .nr-faq-item {
    padding: 14px 14px;
    border-radius: 14px
  }

  .nr-faq .nr-faq-q {
    font-size: 16px
  }

  .nr-faq .nr-faq-q::after {
    font-size: 12px
  }

  .nr-extra-links {
    padding: 24px 16px;
    margin-top: 32px
  }

  .nr-extra-grid {
    grid-template-columns: 1fr;
    gap: 12px
  }

  .nr-cta-features {
    grid-template-columns: 1fr;
    gap: 12px
  }

  .nr-cta-buttons {
    max-width: 100%
  }

  .nr-features-grid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .nr-commands-grid {
    grid-template-columns: 1fr
  }

  .nr-download-options {
    grid-template-columns: 1fr
  }

  .nr-numbered-steps li {
    flex-direction: row;
    padding: 14px
  }

  .nr-step-number {
    width: 28px;
    height: 28px;
    font-size: 14px
  }
}

/* Mobile: hide grid & bubble, show accordion */
@media (max-width:720px) {
  .nr-commands-visual {
    display: none
  }

  .nr-commands-grid {
    display: none
  }

  .nr-commands-accordion {
    display: block
  }
}

@media (max-width:480px) {
  .nr-breadcrumbs {
    font-size: 12px;
    gap: 4px;
    margin: 12px 0 20px
  }

  .nr-mirrors {
    font-size: 12px;
    gap: 6px;
    flex-wrap: wrap
  }

  .nr-mirror-link {
    padding: 3px 8px;
    font-size: 12px
  }

  .nr-feature-visual {
    border-radius: 0;
    margin-left: -16px;
    margin-right: -16px;
    width: calc(100% + 32px)
  }

  .nr-alert-box {
    flex-direction: column;
    padding: 16px
  }

  .nr-alert-icon {
    font-size: 28px
  }

  .nr-ios-faq-section {
    padding: 48px 16px;
    border-radius: 0;
    margin: 0
  }

  .nr-section {
    padding: 48px 0
  }

  .nr-section--alt {
    padding: 48px 16px
  }

  .nr-ios-faq-header {
    margin-bottom: 32px
  }

  .nr-ios-faq-item {
    padding: 14px 16px;
    border-radius: 12px
  }

  .nr-ios-faq-q {
    font-size: 15px
  }

  .nr-ios-faq-a p {
    font-size: 14px
  }

  .nr-panel-head {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px
  }

  .nr-stats-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px
  }

  .nr-stat-card {
    grid-column: span 12
  }

  .nr-stat-card--wide {
    grid-column: span 12
  }
}

@media (max-width:640px) {
  .nr-news__list {
    grid-template-columns: 1fr
  }

  .nr-news__list .thumb {
    height: 180px
  }

  .nr-news-head {
    flex-wrap: nowrap;
    align-items: center
  }

  .nr-news-head h2 {
    font-size: 22px
  }

  .nr-news-head .nr-btn {
    font-size: 13px;
    padding: 6px 12px
  }
}

@media (max-width:600px) {
  .nr-version__row {
    flex-wrap: wrap;
    align-items: flex-start
  }

  .nr-version__meta {
    white-space: normal;
    margin-bottom: 4px
  }

  .nr-version__row .nr-badge {
    align-self: flex-start;
    margin-top: 1px
  }

  .nr-install__title {
    font-size: 22px
  }

  .nr-install__icon {
    width: 76px;
    height: 76px
  }

  .nr-badge {
    gap: 8px
  }

  .nr-pill {
    padding: 6px 12px;
    font-size: 14px
  }
}

@media (max-width:480px) {
  .page-template-page-ios .nr-section--light {
    padding: 32px 0;
    margin: 32px 0;
  }

  .page-template-page-ios .nr-section--light .nr-cont {
    border-radius: 16px;
    padding: 32px 16px;
  }

  .nr-section--light:first-of-type {
    margin-top: 16px
  }

  .nr-section--light .nr-cont {
    padding: 32px 16px;
    border-radius: 16px;
  }

  .nr-section--alt .nr-cont {
    padding: 32px 16px;
    border-radius: 16px;
  }

  .nr-section--dark .nr-cont {
    padding: 32px 16px;
    border-radius: 16px;
  }

  .nr-install__pills {
    flex-wrap: wrap
  }

  .nr-install__pills .nr-pill {
    flex: 1 1 100%;
    text-align: center
  }
}

@media (max-width:360px) {

  .nr-specs th,
  .nr-specs td {
    padding: 8px 10px;
    font-size: 13px
  }
}

@media (max-width:767.98px) {
  .nr-news-swiper .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap
  }

  .nr-news-swiper .swiper-slide {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%
  }
}

@media (prefers-reduced-motion:reduce) {

  .nb-progress .nb-bar,
  .nb-update .nb-bar {
    transition: none
  }

  .hl-wrap.is-inview .hl-finger {
    animation: none;
    opacity: 1
  }

  .hl-wrap.is-inview .hl-finger::after {
    display: none
  }

  .ios-alert--inline.is-inview {
    animation: none;
    opacity: 1;
    transform: none
  }
}