/* ============================================================
   NEXORA AUTOMATE — Extra page styles (auth, account, seller
   profile, checkout, free-resources, legal, search autocomplete,
   404, scroll parallax). Loaded AFTER style.css.
   ============================================================ */

/* ============================================================
   V42 — GLOBAL IMAGE FITTING
   Every image fits its frame cleanly. Photos fill (cover),
   logos/icons fit without distortion (contain). Background-image
   areas always cover. Prevents overflow, squish, and letterboxing.
   ============================================================ */

/* Base: all images responsive, never overflow their container */
img{
  max-width:100%;
  height:auto;
  vertical-align:middle;
}

/* Logos & brand marks — fit WITHOUT distortion (contain) */
img[src*="logo"],
img[src*="nexora-"],
img[src$=".svg"],
.nx-logo-svg,
.nx-footer-logo,
.nx-trusted-logo img,
.nx-brand img{
  object-fit:contain !important;
}

/* Photo frames — FILL the frame edge-to-edge (cover), no squish.
   Covers cards, covers, thumbnails, avatars, banners, media wells. */
.nx-card img,
.nx-service img,
.nx-service-media img,
.nx-seller img,
.nx-seller-av img,
.nx-quote img,
.nx-avatar img,
[class*="cover"] img,
[class*="thumb"] img,
[class*="-media"] img,
[class*="banner"] img,
[class*="hero-img"] img,
.nx-recent-row img,
.nx-foryou-cards img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center !important;
  display:block;
}

/* Any element using a background-image always covers its box */
[style*="background-image"],
.has-img,
.nx-service-media,
.nx-card-media,
[class*="cover"],
[class*="banner"]{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* Avatars / circular frames — keep them perfectly round + filled */
.nx-avatar,
.nx-seller-av,
[class*="avatar"]{
  overflow:hidden;
}
.nx-avatar img,
.nx-seller-av img,
[class*="avatar"] img{
  border-radius:inherit;
}
/* ============================================================ */

/* ============================================================
   THE NEXORA STACK — homepage capability constellation
   Replaces the generic "BUILT FOR" logo strip.
   6 numbered tiles, hover-lift, blue accent on enter.
   ============================================================ */
.nx-stack{padding:96px 0;background:linear-gradient(180deg,#f4f7fe 0%,#eef3fc 60%,#f4f7fe 100%);border-top:1px solid var(--nx-line);position:relative;overflow:hidden}
.nx-stack::after{content:"";position:absolute;left:-220px;top:-180px;width:600px;height:600px;background:radial-gradient(circle,rgba(7,84,248,.08) 0%,transparent 60%);pointer-events:none;z-index:0}
.nx-stack > *{position:relative;z-index:1}
.nx-stack-tile{background:#fff !important}
.nx-stack::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--nx-blue) 50%,transparent 100%);opacity:.4}
.nx-stack-head{max-width:740px;margin:0 auto 56px;text-align:center}
.nx-stack-head h2{font-size:clamp(36px,5vw,58px);font-weight:800;letter-spacing:-.05em;line-height:1;margin:18px 0 16px;color:var(--nx-ink)}
.nx-stack-em{color:var(--nx-blue)}
.nx-stack-head p{font-size:16px;color:var(--nx-muted);line-height:1.6;max-width:600px;margin:0 auto}
.nx-stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nx-stack-tile{
  position:relative;display:block;padding:30px 28px 80px;
  background:#fff;border:1px solid var(--nx-line);text-decoration:none;color:var(--nx-ink);
  overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;
  min-height:280px;
}
.nx-stack-tile::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--nx-blue);transform:scaleY(0);transform-origin:top;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.nx-stack-tile::after{
  content:"";position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;
  background:radial-gradient(circle,rgba(7,84,248,.08) 0%,transparent 70%);
  opacity:0;transition:opacity .35s;
}
.nx-stack-tile:hover{
  transform:translateY(-6px);border-color:var(--nx-blue);
  box-shadow:0 26px 60px rgba(7,84,248,.10);
}
.nx-stack-tile:hover::before{transform:scaleY(1)}
.nx-stack-tile:hover::after{opacity:1}
.nx-stack-tile .num{
  font:800 10.5px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;
  color:var(--nx-muted);margin-bottom:22px;
}
.nx-stack-tile .ico{
  width:50px;height:50px;border:1px solid var(--nx-line);background:#fafafa;
  display:grid;place-items:center;color:var(--nx-blue);
  margin-bottom:18px;transition:transform .3s;
}
.nx-stack-tile:hover .ico{transform:translateY(-2px)}
.nx-stack-tile h3{
  font-size:22px;font-weight:800;letter-spacing:-.025em;line-height:1.2;
  margin:0 0 10px;color:var(--nx-ink);
}
.nx-stack-tile p{
  font:600 13px var(--font-mono);color:var(--nx-muted);
  line-height:1.55;margin:0;letter-spacing:-.005em;
}
.nx-stack-tile .foot{
  position:absolute;left:28px;right:28px;bottom:24px;
  display:flex;justify-content:space-between;align-items:center;
}
.nx-stack-tile .stat{font-size:13px;color:var(--nx-muted)}
.nx-stack-tile .stat b{
  color:var(--nx-ink);font-weight:800;font-size:18px;letter-spacing:-.02em;
  font-family:var(--font-mono);
}
.nx-stack-tile .arrow{
  font:800 22px var(--font-mono);color:var(--nx-muted);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),color .25s;
}
.nx-stack-tile:hover .arrow{color:var(--nx-blue);transform:translateX(6px)}
.nx-stack-foot{
  text-align:center;margin-top:48px;padding-top:32px;
  border-top:1px solid var(--nx-line);
  font:600 13px var(--font-mono);color:var(--nx-muted);
  letter-spacing:.04em;text-transform:uppercase;
}
.nx-stack-foot span{margin-right:14px}
.nx-stack-foot a{color:var(--nx-blue);text-decoration:none;font-weight:700}
.nx-stack-foot a:hover{text-decoration:underline}

@media (max-width:980px){
  .nx-stack-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .nx-stack{padding:64px 0}
  .nx-stack-grid{grid-template-columns:1fr}
  .nx-stack-tile{min-height:auto;padding:28px 24px 72px}
  .nx-stack-head{margin-bottom:40px}
  .nx-stack-foot{flex-direction:column;gap:8px}
  .nx-stack-foot span{margin-right:0}
}

/* ============================================================
   NAV DROPDOWNS — compact top nav with "Build" + "Resources"
   submenus. Matches .nx-nav a aesthetic with green dot indicator.
   Hover on desktop, click on mobile.
   ============================================================ */
/* CRITICAL: parent .nx-nav has overflow:hidden in style.css — that
   clips our absolutely-positioned dropdowns. Override to visible.
   Same for the header which also clips. */
.nx-header,.nx-nav{overflow:visible !important}
.nx-nav-drop{position:relative;display:inline-flex;align-items:center}
.nx-nav-trigger{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 10px;font-size:12px;color:var(--nx-muted);
  text-transform:uppercase;letter-spacing:.04em;font-weight:600;
  position:relative;transition:color .2s ease;white-space:nowrap;
  background:none;border:none;cursor:pointer;font-family:inherit;line-height:1;
}
.nx-nav-trigger::before{
  content:"";width:6px;height:6px;background:transparent;
  border:1px solid var(--nx-line);transition:all .2s ease;
  display:inline-block;
}
.nx-nav-drop:hover .nx-nav-trigger,
.nx-nav-drop.is-current .nx-nav-trigger,
.nx-nav-drop.is-open .nx-nav-trigger{color:var(--nx-ink)}
.nx-nav-drop:hover .nx-nav-trigger::before,
.nx-nav-drop.is-current .nx-nav-trigger::before,
.nx-nav-drop.is-open .nx-nav-trigger::before{background:var(--nx-green);border-color:var(--nx-green)}
.nx-caret{font-size:10px;opacity:.55;margin-left:2px;transition:transform .2s ease}
.nx-nav-drop:hover .nx-caret,
.nx-nav-drop.is-open .nx-caret{transform:rotate(180deg);opacity:1}

.nx-nav-menu{
  position:absolute;top:calc(100% + 4px);left:0;
  background:#fff;border:1px solid var(--nx-line);
  min-width:300px;padding:8px 0;
  box-shadow:0 24px 60px rgba(7,7,7,.10),0 4px 12px rgba(7,7,7,.05);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  /* Must beat .nx-header z-index (commonly 100) and sticky page sections */
  z-index:9999;border-radius:2px;
}
.nx-nav-drop:hover .nx-nav-menu,
.nx-nav-drop.is-open .nx-nav-menu{opacity:1;visibility:visible;transform:translateY(0)}

/* Invisible bridge so the dropdown doesn't close when moving cursor down */
.nx-nav-drop::after{
  content:"";position:absolute;top:100%;left:0;right:0;height:8px;
}

.nx-nav-menu a{
  display:flex;flex-direction:column;gap:2px;align-items:flex-start;
  padding:10px 18px;color:var(--nx-ink);text-decoration:none;
  border-left:2px solid transparent;text-transform:none;letter-spacing:0;
  font-weight:500;font-size:13px;
  transition:background .15s,border-color .15s,color .15s;
}
.nx-nav-menu a:hover{background:#fafafa;border-left-color:var(--nx-blue);color:var(--nx-blue)}
.nx-nav-menu a::before{display:none !important}
.nx-nav-menu a b{font-size:13.5px;font-weight:700;color:inherit;letter-spacing:-.01em}
.nx-nav-menu a small{
  font:600 10.5px var(--font-mono);color:var(--nx-muted);
  text-transform:uppercase;letter-spacing:.06em;
}
.nx-nav-menu a:hover small{color:var(--nx-blue);opacity:.85}

/* V2026.35 — RESPONSIVE NAV COMPACTION
   Stops JOIN/SIGN-IN buttons from overflowing on medium screens.
   Three-tier compaction so the nav stays usable from 1920px down to 901px. */
/* ===========================================================
   V36.2 — NAV COMPACTION (5 items instead of 10)
   ----------------------------------------------------------
   New structure: Browse · Build ▾ · Discover ▾ · Resources ▾ · Sell
   Three responsive tiers progressively compact text + icons.
   =========================================================== */

/* Tier 1 — large desktop (≤1440px): tighten padding and font */
@media (max-width: 1440px) {
  .nx-header .nx-nav { gap: 2px !important; }
  .nx-header .nx-nav a,
  .nx-header .nx-nav-trigger {
    padding: 8px 10px !important;
    font-size: 12px !important;
    letter-spacing: .03em !important;
    gap: 4px !important;
  }
  .nx-header .nx-nav a::before,
  .nx-header .nx-nav-trigger::before { display: none !important; }
  .nx-actions { gap: 6px !important; padding: 0 10px !important; }
  .nx-cta { height: 36px !important; padding: 0 14px !important; font-size: 11.5px !important; letter-spacing: .05em !important; }
  .nx-link-btn { font-size: 12px !important; }
  .nx-icon-btn { width: 32px !important; height: 32px !important; }
}

/* Tier 2 — medium desktop (≤1280px): hide Orders link + tighten */
@media (max-width: 1280px) {
  .nx-header .nx-nav a,
  .nx-header .nx-nav-trigger {
    padding: 8px 8px !important;
    font-size: 11.5px !important;
  }
  .nx-actions a[href="/orders.html"] { display: none !important; }
  .nx-header-tools { gap: 4px !important; }
  /* Hide one icon at this tier to save space */
  .nx-actions #inboxBtn { display: none !important; }
}

/* Tier 3 — small desktop (≤1100px): hide Sell link + drop one more icon */
@media (max-width: 1100px) and (min-width: 901px) {
  .nx-header .nx-nav > a[href="/become-seller.html"] {
    display: none !important;
  }
  .nx-header .nx-nav a,
  .nx-header .nx-nav-trigger {
    padding: 7px 6px !important;
    font-size: 11px !important;
  }
  .nx-cta { padding: 0 12px !important; font-size: 11px !important; height: 34px !important; }
  .nx-actions a[href="/wishlist.html"] { display: none !important; }
}

/* Tier 4 — narrow laptop (≤980px): hide Browse + Sell, push everything into dropdowns */
@media (max-width: 980px) and (min-width: 901px) {
  .nx-header .nx-nav > a[href="/browse.html"],
  .nx-header .nx-nav > a[href="/become-seller.html"] {
    display: none !important;
  }
  .nx-header .nx-nav a,
  .nx-header .nx-nav-trigger {
    padding: 6px 4px !important;
    font-size: 10.5px !important;
  }
}

/* ===========================================================
   V44 — "Subscribe" nav link (was "Boost", now top-level)
   Subtle blue accent so it reads as a value action without
   shouting like a button. Stays visible across all desktop
   tiers — it's a priority CTA, so it is the LAST nav item to
   hide (after Sell) on narrow screens.
   =========================================================== */
.nx-header .nx-nav a.nx-nav-subscribe {
  color: var(--nx-blue, #0754f8) !important;
  font-weight: 800 !important;
  position: relative;
  border-radius: 8px;
  transition: background .2s, color .2s;
}
.nx-header .nx-nav a.nx-nav-subscribe::before { display: none !important; }
.nx-header .nx-nav a.nx-nav-subscribe:hover,
.nx-header .nx-nav a.nx-nav-subscribe.active {
  color: var(--nx-blue, #0754f8) !important;
  background: rgba(7, 84, 248, .08) !important;
}
/* Keep Subscribe visible even when Sell hides at ≤1100/980px —
   it's the revenue CTA the user wants always reachable. */
@media (max-width: 1100px) {
  .nx-header .nx-nav > a.nx-nav-subscribe { display: inline-flex !important; }
}

/* V2026.34 — DEFENSIVE: ensure dropdown titles always render
   (style.css's generic .nx-nav a was winning the cascade and hiding the
   bold titles on some viewports / browsers). */
.nx-header .nx-nav-menu a b,
.nx-nav .nx-nav-menu a b {
  display: inline-block !important;
  font: 700 14px/1.3 var(--font-sans, system-ui) !important;
  color: var(--nx-ink) !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: normal !important;
}
.nx-header .nx-nav-menu a small,
.nx-nav .nx-nav-menu a small {
  display: block !important;
  font: 600 10.5px/1.3 var(--font-mono) !important;
  color: var(--nx-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-top: 4px !important;
  white-space: normal !important;
}
.nx-header .nx-nav-menu a,
.nx-nav .nx-nav-menu a {
  text-transform: none !important;
  font-weight: 500 !important;
  color: var(--nx-ink) !important;
  padding: 10px 18px !important;
}
.nx-header .nx-nav-menu a::before,
.nx-nav .nx-nav-menu a::before {
  display: none !important;
}

/* Mobile: dropdowns expand inline (no overlay), no caret rotation */
@media (max-width:980px){
  .nx-nav-drop{display:block;width:100%}
  .nx-nav-trigger{width:100%;text-align:left;padding:10px 14px}
  .nx-nav-menu{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:none;background:transparent;
    padding:0 0 6px 30px;min-width:0;
  }
  .nx-nav-menu a{padding:6px 12px;border-left:1px solid var(--nx-line)}
  .nx-caret{display:none}
  .nx-nav-drop::after{display:none}
}

/* ---------- header search autocomplete dropdown ---------- */
.nx-header-search{position:relative}
.nx-ac-dd{
  position:absolute;top:calc(100% + 8px);left:0;right:0;
  background:#fff;border:1px solid var(--nx-ink);
  box-shadow:0 24px 64px rgba(8,8,8,.14);
  max-height:420px;overflow-y:auto;z-index:200;
}
.nx-ac-dd[hidden]{display:none}
.nx-ac-section{padding:8px 0;border-top:1px solid var(--nx-line-soft)}
.nx-ac-section:first-child{border-top:none}
.nx-ac-section h5{
  margin:0;padding:8px 16px 6px;
  font:700 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nx-muted);
}
.nx-ac-item{
  display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;
  font-size:14px;color:var(--nx-ink);text-decoration:none;
  transition:background .15s;
}
.nx-ac-item:hover,.nx-ac-item.focus{background:#f4f4f4}
.nx-ac-item .ico{
  width:30px;height:30px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--g1,#0754f8),var(--g2,#3b7bff));color:#fff;
  font:800 11px var(--font-mono);letter-spacing:0;flex:0 0 auto;
}
.nx-ac-item .ttl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.nx-ac-item .meta{font:600 11px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.06em}
.nx-ac-item .price{font:700 12px var(--font-mono);color:var(--nx-blue);letter-spacing:.04em;flex:0 0 auto}
.nx-ac-empty{padding:18px 16px;color:var(--nx-muted);font-size:13px;text-align:center}

/* ---------- AUTH page (NexoraAero split) ---------- */
.nx-auth-shell{
  min-height:calc(100vh - 72px);display:grid;
  grid-template-columns:minmax(380px,560px) 1fr;background:#f6f6f6;
}
.nx-auth-left{display:grid;place-items:center;padding:54px}
.nx-auth-card{
  background:#fff;border:1px solid #111;padding:44px;
  max-width:520px;width:100%;box-shadow:0 28px 80px rgba(0,0,0,.06);
}
.nx-auth-card h1{
  font-size:clamp(40px,5vw,68px);line-height:.95;letter-spacing:-.07em;margin:18px 0;font-weight:800;
}
.nx-auth-card p{color:#555;line-height:1.55}
.nx-auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:22px 0 0;border:1px solid var(--nx-ink)}
.nx-auth-tabs button{
  padding:14px;background:#fff;border:none;cursor:pointer;
  font:800 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-muted);
}
.nx-auth-tabs button.is-active{background:var(--nx-ink);color:#fff}
.nx-auth-form{display:grid;gap:14px;margin-top:22px}
.nx-auth-form label{display:grid;gap:6px;font:600 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted)}
.nx-auth-form input{height:54px;border:1px solid var(--nx-ink);background:#fff;padding:0 16px;font-size:15px}
.nx-auth-form input:focus{outline:none;border-color:var(--nx-blue);box-shadow:0 0 0 4px rgba(7,84,248,.10)}
.nx-auth-form button[type=submit]{
  height:58px;background:var(--nx-ink);color:#fff;border:none;cursor:pointer;
  font:800 13px var(--font-sans);text-transform:uppercase;letter-spacing:.08em;
}
.nx-auth-form button[type=submit]:hover{background:var(--nx-blue)}
.nx-auth-switch{margin:18px 0 0;font-size:13px;color:var(--nx-muted);text-align:center}
.nx-auth-switch a{color:var(--nx-blue);font-weight:800}
.nx-oauth-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.nx-oauth-btn{
  height:48px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-ink);
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.nx-oauth-btn:hover{background:#fafafa;border-color:var(--nx-ink)}

.nx-auth-visual{
  position:relative;background:var(--nx-blue);overflow:hidden;display:grid;place-items:center;color:#fff;
}
.nx-auth-visual::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:68px 68px;
}
.nx-auth-blocks{position:absolute;left:0;right:0;bottom:0;height:200px}
.nx-auth-blocks span{position:absolute;bottom:0;width:76px;background:#fff;animation:nxBlock 1.4s cubic-bezier(.16,1,.3,1) both}
.nx-auth-blocks span:nth-child(1){height:80px;left:8%;animation-delay:.0s}
.nx-auth-blocks span:nth-child(2){height:160px;left:24%;animation-delay:.08s}
.nx-auth-blocks span:nth-child(3){height:110px;left:46%;animation-delay:.16s}
.nx-auth-blocks span:nth-child(4){height:190px;left:66%;animation-delay:.24s}
.nx-auth-blocks span:nth-child(5){height:90px;left:86%;animation-delay:.32s}
.nx-auth-panel{
  position:relative;z-index:1;background:#fff;border:1px solid #111;
  padding:34px;width:min(440px,80%);box-shadow:0 30px 80px rgba(0,0,0,.18);color:var(--nx-ink);
}
.nx-auth-panel b{font-size:32px;letter-spacing:-.05em;font-weight:800}
.nx-auth-panel span{display:block;margin-top:12px;color:#555;font-size:15px;line-height:1.5}
.nx-auth-panel .stars{color:#ffb800;letter-spacing:2px;font-size:13px;margin-top:14px;display:block}

/* ---------- ACCOUNT (buyer) ---------- */
.nx-acct-shell{padding:48px 0 96px}
.nx-acct-head{
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;
  padding-bottom:32px;border-bottom:1px solid var(--nx-line);
}
.nx-acct-av{
  width:88px;height:88px;display:grid;place-items:center;
  background:linear-gradient(135deg,#0754f8,#7a5cff);color:#fff;
  font:900 30px var(--font-mono);letter-spacing:-.04em;
}
.nx-acct-head h1{font-size:42px;letter-spacing:-.05em;font-weight:800;margin:0}
.nx-acct-head .meta{font:600 12px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;display:block}

.nx-acct-grid{display:grid;grid-template-columns:240px 1fr;gap:36px;margin-top:36px}
.nx-acct-side{position:sticky;top:96px;align-self:start}
.nx-acct-side a{
  display:flex;align-items:center;gap:10px;padding:12px 16px;
  font-size:14px;font-weight:600;color:var(--nx-muted);
  border-left:3px solid transparent;cursor:pointer;
}
.nx-acct-side a:hover{color:var(--nx-ink)}
.nx-acct-side a.is-active{color:var(--nx-ink);border-left-color:var(--nx-blue);background:#fafafa}
.nx-acct-section{display:none}
.nx-acct-section.is-active{display:block}
.nx-acct-section h2{font-size:30px;letter-spacing:-.04em;margin:0 0 6px;font-weight:800}
.nx-acct-section .lead{color:var(--nx-muted);font-size:15px;line-height:1.5;margin:0 0 24px}

.nx-acct-card{padding:22px 24px;border:1px solid var(--nx-line);background:#fff;margin-bottom:14px;border-radius:2px}
.nx-acct-row{
  display:grid;grid-template-columns:160px 1fr auto;gap:18px;align-items:center;
  padding:14px 0;border-top:1px solid var(--nx-line-soft);
}
.nx-acct-row:first-child{border-top:none;padding-top:0}
.nx-acct-row .k{font:700 11px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);letter-spacing:.08em}
.nx-acct-row .v{font-size:14.5px;font-weight:600;color:var(--nx-ink)}
.nx-acct-row .v small{display:block;color:var(--nx-muted);font:500 12px var(--font-sans);margin-top:3px}
.nx-acct-row button,
.nx-acct-row a.edit{
  height:30px;padding:0 14px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;
  font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-ink);
  border-radius:999px;white-space:nowrap;transition:all .15s ease;justify-self:end;
}
.nx-acct-row button:hover,
.nx-acct-row a.edit:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nx-acct-row button.danger:hover{background:#d3252b;border-color:#d3252b;color:#fff}
@media (max-width:640px){
  .nx-acct-row{grid-template-columns:1fr auto;gap:6px 12px}
  .nx-acct-row .v{grid-column:1/-1;order:3}
}

.nx-pay-method{
  display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  padding:16px 18px;border:1px solid var(--nx-line);margin-bottom:8px;
}
.nx-pay-method .brand{
  width:48px;height:32px;display:grid;place-items:center;
  background:var(--nx-ink);color:#fff;font:800 11px var(--font-mono);letter-spacing:.04em;
}
.nx-pay-method .num{font-family:var(--font-mono);font-size:14px;letter-spacing:.04em}
.nx-pay-method .num small{display:block;color:var(--nx-muted);font:500 12px var(--font-sans);margin-top:4px;letter-spacing:0}
.nx-pay-method.default::after{
  content:"DEFAULT";font:800 10px var(--font-mono);letter-spacing:.08em;
  padding:4px 8px;background:rgba(8,200,66,.14);color:#06882a;
}

/* ---------- SELLER PROFILE (public) ---------- */
.nx-prof-hero{
  padding:60px 0 0;background:#fff;border-bottom:1px solid var(--nx-line);
}
.nx-prof-top{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:end}
.nx-prof-av{
  width:140px;height:140px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--g1,#7a5cff),var(--g2,#ef5cff));color:#fff;
  font:900 52px var(--font-mono);letter-spacing:-.05em;position:relative;
}
.nx-prof-av::after{
  content:"";position:absolute;right:-4px;bottom:-4px;width:28px;height:28px;
  background:var(--nx-green);border:4px solid #fff;
}
.nx-prof-info h1{font-size:48px;letter-spacing:-.05em;font-weight:800;margin:0 0 6px;display:flex;align-items:center;gap:14px}
.nx-prof-info h1 .lvl{
  font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
  padding:4px 10px;background:rgba(8,200,66,.14);color:#06882a;
}
.nx-prof-info .role{font:600 13px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);margin:0 0 14px}
.nx-prof-info .bio{font-size:16px;line-height:1.55;color:#333;max-width:680px;margin:0}
.nx-prof-actions{display:flex;gap:10px;flex-direction:column}
.nx-prof-stats{
  display:grid;grid-template-columns:repeat(5,1fr);
  margin-top:40px;border-top:1px solid var(--nx-line);padding-top:24px;
}
.nx-prof-stats div{padding:8px 0}
.nx-prof-stats b{display:block;font-size:28px;letter-spacing:-.04em;font-weight:900}
.nx-prof-stats span{font:600 11px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);letter-spacing:.08em;margin-top:4px;display:block}

.nx-prof-body{padding:48px 0 96px}
.nx-prof-grid{display:grid;grid-template-columns:1fr 280px;gap:40px}
.nx-prof-tabs{display:flex;border-bottom:1px solid var(--nx-line);margin:0 0 28px}
.nx-prof-tabs button{
  padding:14px 22px;background:transparent;border:none;cursor:pointer;
  font:800 13px var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-muted);position:relative;
}
.nx-prof-tabs button.is-active{color:var(--nx-ink)}
.nx-prof-tabs button.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--nx-blue)}
.nx-prof-side{position:sticky;top:96px;align-self:start;display:grid;gap:14px}
.nx-prof-side-card{padding:22px;background:#fff;border:1px solid var(--nx-line)}
.nx-prof-side-card h4{font:700 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nx-muted);margin:0 0 12px}
.nx-prof-side-card .row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}
.nx-prof-side-card .row b{font-weight:700}
.nx-skills{display:flex;flex-wrap:wrap;gap:6px}
.nx-skills span{
  font:700 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;
  padding:6px 10px;background:#f4f4f4;color:var(--nx-ink);border:1px solid var(--nx-line);
}

/* ---------- CHECKOUT ---------- */
.nx-checkout-shell{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 1fr;background:#f6f6f6}
.nx-co-left{padding:70px clamp(28px,6vw,90px);display:flex;flex-direction:column;justify-content:center;background:#fff}
.nx-co-left h1{font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-.07em;margin:14px 0;font-weight:800}
.nx-co-left .desc{font-size:16px;color:#555;line-height:1.55;max-width:560px}
.nx-co-price{font-size:48px;font-weight:900;letter-spacing:-.05em;margin:24px 0 8px}
.nx-co-price small{font-size:18px;color:var(--nx-muted);font-weight:600;margin-right:6px}
.nx-co-pricerow{font:700 12px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:22px}

.nx-pay-tabs{display:flex;gap:8px;margin:8px 0 18px;flex-wrap:wrap}
.nx-pay-tabs button{
  height:46px;padding:0 18px;border:1px solid var(--nx-ink);background:#fff;cursor:pointer;
  font:800 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
  display:inline-flex;align-items:center;gap:8px;
}
.nx-pay-tabs button.is-active{background:var(--nx-ink);color:#fff}
.nx-pay-tabs button .badge{
  font-size:9px;padding:2px 6px;background:var(--nx-green);color:#031807;letter-spacing:.04em;
}
.nx-pay-tabs button.is-active .badge{background:#fff;color:var(--nx-ink)}
.nx-pay-panel{display:none;padding:22px 0 8px}
.nx-pay-panel.is-active{display:block}
.nx-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nx-pay-grid label{grid-column:1/-1}
.nx-pay-panel label{display:grid;gap:6px;font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);margin-bottom:14px}
.nx-pay-panel input,.nx-pay-panel select{height:54px;border:1px solid var(--nx-ink);background:#fff;padding:0 16px;font-size:15px;font-family:inherit}
.nx-pay-panel input:focus{outline:none;border-color:var(--nx-blue);box-shadow:0 0 0 4px rgba(7,84,248,.10)}
.nx-pay-cta{
  width:100%;height:64px;border:1px solid var(--nx-ink);background:var(--nx-ink);color:#fff;
  padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;
  font:800 13px var(--font-sans);text-transform:uppercase;letter-spacing:.08em;margin-top:14px;
}
.nx-pay-cta:hover{background:var(--nx-blue);border-color:var(--nx-blue)}
.nx-pay-cta:disabled{opacity:.65;cursor:not-allowed}
.nx-pay-paypal{
  background:#FFC439;color:#003087;border-color:#FFC439;font-family:Inter,sans-serif;font-weight:900;
}
.nx-pay-paypal:hover{background:#ffb20a;color:#001647;border-color:#ffb20a}
.nx-pay-stripe{background:#635bff;color:#fff;border-color:#635bff}
.nx-pay-stripe:hover{background:#5851e6;border-color:#5851e6}
.nx-pay-razor{background:#072654;color:#fff;border-color:#072654}
.nx-pay-razor:hover{background:#3395ff;border-color:#3395ff}
.nx-pay-crypto{background:#f7931a;color:#fff;border-color:#f7931a}

.nx-co-right{
  background:var(--nx-blue);padding:70px clamp(28px,5vw,80px);display:grid;place-items:center;
  position:relative;overflow:hidden;color:#fff;
}
.nx-co-right::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:70px 70px;
}
.nx-co-stack{position:relative;z-index:1;display:grid;gap:14px;width:min(520px,100%)}
.nx-co-card{background:#fff;border:1px solid #111;padding:26px;color:var(--nx-ink)}
.nx-co-card h3{font-size:24px;letter-spacing:-.04em;margin:0 0 14px;font-weight:800}
.nx-co-card .ord-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;border-top:1px solid var(--nx-line-soft)}
.nx-co-card .ord-row:first-child{border-top:none}
.nx-co-card .ord-row b{font-weight:700}
.nx-co-card .total{font-size:20px;font-weight:800;padding-top:14px;border-top:1px solid var(--nx-ink);margin-top:8px}
.nx-co-card ul{margin:8px 0;padding-left:18px}
.nx-co-card li{margin:6px 0;color:#444;font-size:14px}
.nx-co-card .badge-row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.nx-co-card .badge-row span{
  font:700 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;
  padding:4px 8px;background:#f4f4f4;color:var(--nx-ink);
}

/* ---------- SUCCESS ---------- */
.nx-success{
  min-height:calc(100vh - 72px);padding:80px 24px;display:grid;place-items:center;text-align:center;
  background:linear-gradient(180deg,#fff,#f4f6ff);position:relative;overflow:hidden;
}
.nx-success::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(900px 600px at 50% 30%, rgba(8,200,66,.14), transparent 60%);
}
.nx-success-inner{max-width:680px;position:relative;z-index:1}
.nx-success .tick{
  width:96px;height:96px;background:var(--nx-green);color:#fff;display:grid;place-items:center;
  margin:0 auto 28px;
}
.nx-success h1{font-size:clamp(48px,6vw,92px);letter-spacing:-.07em;line-height:.95;font-weight:800;margin:0 0 16px}
.nx-success p{font-size:18px;color:#444;line-height:1.55;margin:0 auto 32px;max-width:520px}
.nx-success-meta{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--nx-line);
  border:1px solid var(--nx-line);background:#fff;max-width:520px;margin:0 auto 36px;
}
.nx-success-meta div{padding:18px;background:#fff}
.nx-success-meta b{display:block;font-size:18px;letter-spacing:-.02em;font-weight:800}
.nx-success-meta span{font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-muted);display:block;margin-top:4px}

/* ---------- FREE RESOURCES ---------- */
.nx-free-hero{padding:90px 0 30px;background:linear-gradient(180deg,#fff,#fafafa);text-align:center;position:relative;overflow:hidden}
.nx-free-hero h1{font-size:clamp(48px,7vw,108px);letter-spacing:-.07em;line-height:.95;font-weight:800;margin:14px auto}
.nx-free-hero h1 .blue{color:var(--nx-blue)}
.nx-free-hero p{font-size:17px;color:var(--nx-muted);max-width:680px;margin:18px auto 0;line-height:1.55}

.nx-free-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:32px 0 96px}
.nx-free-card{
  border:1px solid var(--nx-ink);background:#fff;padding:0;display:flex;flex-direction:column;
  overflow:hidden;transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s;
}
.nx-free-card:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(7,84,248,.15);border-color:var(--nx-blue)}
.nx-free-cover{
  aspect-ratio:16/9;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--g1,#0754f8),var(--g2,#ef5cff));
  background-size:cover;background-position:center;
  display:grid;place-items:center;color:#fff;
  transition:background-image .5s ease;
}
.nx-free-cover::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:32px 32px;opacity:1;transition:opacity .4s ease;
}
.nx-free-cover.has-img::before{opacity:0}
.nx-free-cover.has-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,8,18,0) 35%, rgba(8,8,18,.65) 100%);
  pointer-events:none;
}
.nx-free-cover .glyph{font:900 68px var(--font-mono);letter-spacing:-.05em;text-shadow:0 4px 30px rgba(0,0,0,.4);position:relative;z-index:1;transition:font-size .3s ease}
.nx-free-cover.has-img .glyph{font-size:36px;position:absolute;left:18px;bottom:16px}
.nx-free-tag{
  position:absolute;top:14px;left:14px;
  font:800 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;
  padding:5px 9px;background:var(--nx-green);color:#031807;
}
.nx-free-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.nx-free-body .kind{font:700 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-blue)}
.nx-free-body h3{font-size:22px;letter-spacing:-.03em;font-weight:800;margin:0;line-height:1.15}
.nx-free-body p{color:#555;line-height:1.5;margin:0;font-size:14.5px;flex:1}
.nx-free-foot{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-top:1px solid var(--nx-line-soft)}
.nx-free-foot .by{font:600 12px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.06em}
.nx-free-foot a{
  height:36px;padding:0 14px;background:var(--nx-ink);color:#fff;
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
}
.nx-free-foot a:hover{background:var(--nx-blue)}

/* ---------- LEGAL / INFO docs ---------- */
.nx-doc-hero{padding:80px 0 24px;background:linear-gradient(180deg,#fff,#fafafa);position:relative;overflow:hidden}
.nx-doc-hero h1{font-size:clamp(40px,6vw,84px);letter-spacing:-.06em;line-height:.95;font-weight:800;margin:14px 0}
.nx-doc-hero p{font-size:17px;color:var(--nx-muted);max-width:680px;margin:14px 0 0;line-height:1.55}

.nx-doc-body{padding:32px 0 96px}
.nx-doc-layout{display:grid;grid-template-columns:240px 1fr;gap:48px}
.nx-doc-toc{position:sticky;top:96px;align-self:start;padding:18px;border:1px solid var(--nx-line);background:#fff}
.nx-doc-toc h4{font:700 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nx-muted);margin:0 0 12px}
.nx-doc-toc a{display:block;padding:6px 0;font-size:13.5px;color:var(--nx-muted)}
.nx-doc-toc a:hover{color:var(--nx-blue)}
.nx-doc-toc a.is-active{color:var(--nx-blue);font-weight:700}
.nx-doc-content h2{font-size:30px;letter-spacing:-.04em;margin:36px 0 12px;font-weight:800;scroll-margin-top:90px}
.nx-doc-content h2:first-child{margin-top:0}
.nx-doc-content h3{font-size:20px;letter-spacing:-.02em;margin:24px 0 8px;font-weight:800}
.nx-doc-content p,.nx-doc-content li{font-size:15.5px;line-height:1.65;color:#222}
.nx-doc-content p{margin:10px 0}
.nx-doc-content ul,.nx-doc-content ol{padding-left:22px;margin:10px 0}
.nx-doc-content li{margin:8px 0}
.nx-doc-content a{color:var(--nx-blue);font-weight:700;border-bottom:1px solid currentColor}

/* ---------- CONTACT ---------- */
.nx-contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;padding:48px 0 96px}
.nx-contact-info{display:grid;gap:14px}
.nx-contact-card{padding:22px;border:1px solid var(--nx-line);background:#fff}
.nx-contact-card h4{font:700 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nx-muted);margin:0 0 10px}
.nx-contact-card a,.nx-contact-card .v{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--nx-ink);display:block;margin-bottom:4px}
.nx-contact-card .desc{color:#555;font-size:14px;line-height:1.45}

/* ---------- CAREERS ---------- */
.nx-jobs{display:grid;gap:1px;background:var(--nx-line);border:1px solid var(--nx-ink);margin-top:36px}
.nx-job{
  display:grid;grid-template-columns:1fr 180px 140px auto;gap:20px;align-items:center;
  padding:22px 26px;background:#fff;cursor:pointer;transition:background .2s,color .2s;
}
.nx-job:hover{background:var(--nx-ink);color:#fff}
.nx-job h3{font-size:20px;letter-spacing:-.03em;margin:0;font-weight:800}
.nx-job .dept{font:600 11px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);letter-spacing:.08em;margin-top:4px;display:block}
.nx-job:hover .dept{color:rgba(255,255,255,.7)}
.nx-job .loc,.nx-job .type{font:600 13px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-muted)}
.nx-job:hover .loc,.nx-job:hover .type{color:rgba(255,255,255,.85)}
.nx-job .arrow{font-size:24px;font-weight:900;color:var(--nx-blue)}
.nx-job:hover .arrow{color:var(--nx-green)}

/* ---------- 404 ---------- */
.nx-404{
  min-height:calc(100vh - 72px);padding:80px 24px;display:grid;place-items:center;text-align:center;
  background:linear-gradient(180deg,#fff,#fafafa);position:relative;overflow:hidden;
}
.nx-404-num{
  font:900 clamp(140px,22vw,300px) var(--font-mono);letter-spacing:-.1em;line-height:.85;
  background:linear-gradient(135deg,#0754f8,#ef5cff);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.nx-404 h1{font-size:clamp(36px,4vw,54px);letter-spacing:-.05em;line-height:1;font-weight:800;margin:14px 0 14px}
.nx-404 p{font-size:17px;color:#555;max-width:480px;margin:0 auto 28px;line-height:1.55}

/* ---------- SEARCH (dedicated page) ---------- */
.nx-search-hero{padding:60px 0 18px;background:#fff;border-bottom:1px solid var(--nx-line)}
.nx-search-hero .nx-hero-search{margin:18px auto 14px}
.nx-search-count{font:700 12px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.08em;text-align:center}
.nx-search-count b{color:var(--nx-ink)}
.nx-search-body{padding:32px 0 96px}

/* ---------- SCROLL PARALLAX helpers ---------- */
.nx-parallax{will-change:transform}
.nx-scroll-rise{opacity:0;transform:translateY(60px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.nx-scroll-rise.in{opacity:1;transform:translateY(0)}
.nx-scroll-zoom{opacity:0;transform:scale(.92);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.nx-scroll-zoom.in{opacity:1;transform:scale(1)}
.nx-scroll-slide-l{opacity:0;transform:translateX(-60px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.nx-scroll-slide-l.in{opacity:1;transform:translateX(0)}
.nx-scroll-slide-r{opacity:0;transform:translateX(60px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.nx-scroll-slide-r.in{opacity:1;transform:translateX(0)}
.nx-stagger > *{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.nx-stagger.in > *{opacity:1;transform:translateY(0)}
.nx-stagger.in > *:nth-child(1){transition-delay:.04s}
.nx-stagger.in > *:nth-child(2){transition-delay:.10s}
.nx-stagger.in > *:nth-child(3){transition-delay:.16s}
.nx-stagger.in > *:nth-child(4){transition-delay:.22s}
.nx-stagger.in > *:nth-child(5){transition-delay:.28s}
.nx-stagger.in > *:nth-child(6){transition-delay:.34s}
.nx-stagger.in > *:nth-child(7){transition-delay:.40s}
.nx-stagger.in > *:nth-child(8){transition-delay:.46s}
.nx-stagger.in > *:nth-child(9){transition-delay:.52s}

/* counters */
.nx-count{display:inline-block;font-variant-numeric:tabular-nums}

/* ============================================================
   Awards page — Buyer/Seller toggle on dark hero
   ============================================================ */
.nx-award-toggle{display:inline-flex;margin-top:24px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.04)}
.nx-award-toggle button{
  padding:12px 22px;background:transparent;color:rgba(255,255,255,.78);border:none;cursor:pointer;
  font:800 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  transition:background .2s,color .2s;
}
.nx-award-toggle button:hover{color:#fff}
.nx-award-toggle button.is-active{background:#fff;color:#070707}

/* Fix sign-up checkbox alignment so terms link stays inline */
.nx-auth-form label.nx-tos{
  display:flex;flex-direction:row;align-items:center;gap:10px;
  font:500 13px var(--font-sans);color:var(--nx-muted);
  text-transform:none;letter-spacing:0;line-height:1.4;
}
.nx-auth-form label.nx-tos a{display:inline;color:var(--nx-blue);font-weight:700}
.nx-auth-form label.nx-tos input{flex:0 0 auto;width:18px;height:18px;margin:0}

/* OAuth buttons — branded styling */
.nx-oauth-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:18px}
.nx-oauth-btn{
  height:48px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;
  font:700 12px var(--font-sans);letter-spacing:.02em;color:var(--nx-ink);
  display:flex;align-items:center;justify-content:center;gap:8px;text-transform:none;
  transition:background .2s,border-color .2s,transform .2s;
}
.nx-oauth-btn:hover{background:#fafafa;border-color:var(--nx-ink);transform:translateY(-1px)}
.nx-oauth-btn svg{flex:0 0 auto}
.nx-oauth-btn.google:hover{border-color:#4285F4}
.nx-oauth-btn.apple{background:#000;color:#fff;border-color:#000}
.nx-oauth-btn.apple:hover{background:#222;border-color:#222}
.nx-oauth-btn.github{background:#0a0a14;color:#fff;border-color:#0a0a14}
.nx-oauth-btn.github:hover{background:#1b1b35}

/* Careers form polish */
.nx-careers-form{display:grid;gap:14px;max-width:680px;margin:32px 0 0;padding:30px;background:#fff;border:1px solid var(--nx-line)}
.nx-careers-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nx-careers-form label{display:grid;gap:6px;font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted)}
.nx-careers-form input,.nx-careers-form select,.nx-careers-form textarea{
  height:48px;border:1px solid var(--nx-ink);background:#fff;padding:0 14px;font-size:14.5px;font-family:inherit;
}
.nx-careers-form textarea{height:auto;padding:12px 14px;min-height:120px;resize:vertical;line-height:1.5}
.nx-careers-form input[type=file]{padding:12px 14px;height:auto;cursor:pointer}
.nx-careers-form input:focus,.nx-careers-form textarea:focus,.nx-careers-form select:focus{outline:none;border-color:var(--nx-blue);box-shadow:0 0 0 4px rgba(7,84,248,.10)}
.nx-careers-form button{height:54px;background:var(--nx-ink);color:#fff;border:none;cursor:pointer;font:800 13px var(--font-sans);text-transform:uppercase;letter-spacing:.08em}
.nx-careers-form button:hover{background:var(--nx-blue)}
.nx-careers-form .file-meta{font-size:12.5px;color:var(--nx-muted);margin-top:4px}
.nx-careers-form .file-meta.ok{color:#06882a;font-weight:600}
.nx-careers-form .file-meta.err{color:#a01030;font-weight:600}

/* Prompt Library */
.nx-pl-hero{padding:96px 0 30px;background:linear-gradient(180deg,#fff,#fafafa);text-align:center;position:relative;overflow:hidden}
.nx-pl-hero h1{font-size:clamp(48px,7vw,108px);letter-spacing:-.07em;line-height:.95;font-weight:800;margin:14px auto}
.nx-pl-hero h1 .blue{color:var(--nx-blue)}
.nx-pl-hero h1 .gold{background:linear-gradient(135deg,#ffb800,#ff8a2a);-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-pl-hero p{font-size:17px;color:var(--nx-muted);max-width:680px;margin:18px auto 0;line-height:1.55}
.nx-pl-actions{margin-top:28px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.nx-pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:32px 0 96px}
.nx-pl-card{
  background:#fff;border:1px solid var(--nx-line);padding:22px;display:flex;flex-direction:column;gap:10px;
  transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s;
}
.nx-pl-card:hover{transform:translateY(-4px);border-color:var(--nx-blue);box-shadow:0 24px 60px rgba(7,84,248,.10)}
.nx-pl-card .tag{
  display:inline-block;font:800 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;
  padding:4px 8px;background:rgba(7,84,248,.10);color:var(--nx-blue);align-self:flex-start;
}
.nx-pl-card .tag.free{background:rgba(8,200,66,.14);color:#06882a}
.nx-pl-card .tag.paid{background:rgba(255,184,0,.18);color:#b85a00}
.nx-pl-card h3{font-size:17px;letter-spacing:-.02em;font-weight:800;margin:0;line-height:1.3}
.nx-pl-card .by{font:600 11px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.06em}
.nx-pl-card .prompt{
  background:#fafafa;border:1px solid var(--nx-line-soft);padding:12px;
  font-family:var(--font-mono);font-size:12.5px;line-height:1.5;color:var(--nx-ink-2);
  max-height:120px;overflow:hidden;position:relative;
}
.nx-pl-card .prompt::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:40px;
  background:linear-gradient(180deg,transparent,#fafafa);
}
.nx-pl-card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}
.nx-pl-card .price{font-weight:900;font-size:16px;letter-spacing:-.02em}
.nx-pl-card .price.free{color:#06882a}
.nx-pl-card .actions{display:flex;gap:6px}
.nx-pl-card .actions button{
  height:32px;padding:0 10px;background:var(--nx-ink);color:#fff;border:none;cursor:pointer;
  font:700 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;
}
.nx-pl-card .actions button:hover{background:var(--nx-blue)}
.nx-pl-card .actions button.copy{background:#fff;color:var(--nx-ink);border:1px solid var(--nx-line)}
.nx-pl-card .actions button.copy:hover{background:var(--nx-ink);color:#fff}
@media (max-width:1100px){.nx-pl-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.nx-pl-grid{grid-template-columns:1fr}}

/* ============================================================
   SELLER MODE — sticky top action bar (only when role=seller)
   ============================================================ */
.nx-sellerbar{
  position:sticky;top:0;z-index:101;
  background:linear-gradient(135deg,#0a0a14,#1b1b35);color:#fff;
  padding:10px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.10);
  font-family:var(--font-mono);
}
.nx-sellerbar .lbl{
  display:flex;align-items:center;gap:10px;
  font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:#ffb800;
}
.nx-sellerbar .lbl::before{content:"";width:7px;height:7px;background:#ffb800;animation:nxPulse 1.6s ease infinite}
.nx-sellerbar .nm{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55);margin-left:6px}
.nx-sellerbar .actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}
.nx-sellerbar .actions a, .nx-sellerbar .actions button{
  height:34px;padding:0 14px;background:rgba(255,255,255,.05);
  color:#fff;border:1px solid rgba(255,255,255,.16);
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;text-decoration:none;
  transition:background .2s,border-color .2s,transform .2s;
}
.nx-sellerbar .actions a:hover, .nx-sellerbar .actions button:hover{background:rgba(255,255,255,.10);border-color:#fff;transform:translateY(-1px)}
.nx-sellerbar .actions .primary{background:#ffb800;color:#070707;border-color:#ffb800}
.nx-sellerbar .actions .primary:hover{background:#fff;color:#070707}
.nx-sellerbar .roleX{
  margin-left:6px;height:30px;width:30px;padding:0;display:grid;place-items:center;
  background:transparent;border:1px solid rgba(255,255,255,.16);cursor:pointer;color:rgba(255,255,255,.7)
}
.nx-sellerbar .roleX:hover{color:#fff;border-color:#fff}
@media (max-width:1100px){
  .nx-sellerbar{grid-template-columns:1fr}
  .nx-sellerbar .actions{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
}

/* Order status pills + escrow controls */
.nx-order-actions{display:flex;gap:6px;flex-wrap:wrap}
.nx-order-actions button{
  height:34px;padding:0 12px;font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:1px solid var(--nx-ink);background:#fff;color:var(--nx-ink);
}
.nx-order-actions button:hover{background:var(--nx-ink);color:#fff}
.nx-order-actions button.primary{background:var(--nx-ink);color:#fff}
.nx-order-actions button.primary:hover{background:var(--nx-blue);border-color:var(--nx-blue)}
.nx-order-actions button.accept{background:var(--nx-green);color:#031807;border-color:var(--nx-green)}
.nx-order-actions button.accept:hover{filter:brightness(1.06)}
.nx-order-actions button.refund{color:#a01030;border-color:#a01030}
.nx-order-actions button.refund:hover{background:#a01030;color:#fff}

/* ============================================================
   TOOLS page (free + paid utility apps)
   ============================================================ */
.nx-tools-hero{
  padding:96px 0 30px;background:linear-gradient(180deg,#fff,#fafafa);text-align:center;position:relative;overflow:hidden;
}
.nx-tools-hero h1{font-size:clamp(48px,7vw,108px);letter-spacing:-.07em;line-height:.95;font-weight:800;margin:14px auto}
.nx-tools-hero h1 .blue{color:var(--nx-blue)}
.nx-tools-hero h1 .gold{background:linear-gradient(135deg,#ffb800,#ff8a2a);-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-tools-hero p{font-size:17px;color:var(--nx-muted);max-width:680px;margin:18px auto 0;line-height:1.55}
.nx-tools-tabs{display:inline-flex;border:1px solid var(--nx-ink);margin-top:28px}
.nx-tools-tabs button{
  padding:12px 22px;background:#fff;color:var(--nx-ink);border:none;cursor:pointer;
  font:800 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
}
.nx-tools-tabs button.is-active{background:var(--nx-ink);color:#fff}
.nx-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:32px 0 96px}
.nx-tool-card{
  position:relative;background:#fff;border:1px solid var(--nx-line);padding:0;
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s;
}
.nx-tool-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(7,84,248,.14);border-color:var(--nx-blue)}
.nx-tool-cover{
  aspect-ratio:16/9;display:grid;place-items:center;color:#fff;font:900 64px var(--font-mono);letter-spacing:-.05em;
  background:linear-gradient(135deg,var(--g1,#0754f8),var(--g2,#7a5cff));position:relative;overflow:hidden;
}
.nx-tool-cover::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);background-size:32px 32px}
.nx-tool-cover .gl{position:relative;text-shadow:0 4px 30px rgba(0,0,0,.3)}

/* Responsive thumb: show the FULL image (contain, not cover) with a dark
   background that matches the 16:9 dark gig-post pack. Hide the grid
   overlay so it doesn't muddy the artwork. */
.nx-tool-cover.has-thumb,
.nx-tool-card.has-thumb .nx-tool-cover{
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#0a0a14;
}
.nx-tool-card.has-thumb .nx-tool-cover::before{display:none}
.nx-tool-tag{position:absolute;top:14px;left:14px;font:800 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px}
.nx-tool-tag.free{background:var(--nx-green);color:#031807}
.nx-tool-tag.paid{background:#ffb800;color:#070707}
.nx-tool-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.nx-tool-body .kind{font:700 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-blue)}
.nx-tool-body h3{font-size:22px;letter-spacing:-.03em;font-weight:800;margin:0;line-height:1.15}
.nx-tool-body p{color:#555;line-height:1.5;font-size:14px;margin:0;flex:1}
.nx-tool-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-top:1px solid var(--nx-line)}
.nx-tool-foot .price{font-weight:900;font-size:18px;letter-spacing:-.03em}
.nx-tool-foot .price.free{color:var(--nx-green)}
.nx-tool-foot a, .nx-tool-foot button{
  height:36px;padding:0 14px;background:var(--nx-ink);color:#fff;
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-decoration:none;border:none;
  font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
}
.nx-tool-foot a:hover, .nx-tool-foot button:hover{background:var(--nx-blue)}

@media (max-width:1100px){.nx-tools-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.nx-tools-grid{grid-template-columns:1fr}}

/* ============================================================
   MOTION: top loading bar + toasts + page enter fade
   ============================================================ */
.nx-mo-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:300;pointer-events:none}
.nx-mo-bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,#0754f8,#7a5cff,#08c842);box-shadow:0 0 16px rgba(7,84,248,.6);opacity:0;transition:width .3s linear}

/* Page-load fade — instant, no transition (legacy nx-loaded class still works as a no-op) */
body{opacity:1;transform:none}
body.nx-loaded{opacity:1;transform:none}

/* ============================================================
   TRENDING CATEGORIES STRIP (homepage, signed-in feel)
   ============================================================ */
/* V2026.14 — text-only Fiverr-style trending strip with mega-menu */
.nx-trend-strip{
  background:#fff;border-bottom:1px solid var(--nx-line);
  position:sticky;top:72px;z-index:80;
}
.nx-trend-track{
  width:min(100% - 56px,1320px);margin-inline:auto;
  display:flex;gap:0;align-items:stretch;overflow-x:auto;
  padding:0;scrollbar-width:none;
}
.nx-trend-track::-webkit-scrollbar{display:none}
.nx-trend-item{position:relative;flex:0 0 auto;display:flex;align-items:center}
.nx-trend-item.is-open .nx-trend-chip{color:var(--nx-blue);border-bottom-color:var(--nx-blue)}
.nx-trend-chip{
  flex:0 0 auto;text-decoration:none;color:var(--nx-ink);
  padding:13px 14px 11px;border:none;background:transparent;
  font:600 13.5px/1.1 var(--font-sans);letter-spacing:-.005em;border-radius:0;
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  white-space:nowrap;position:relative;
  transition:color .14s ease;border-bottom:2px solid transparent;
}
.nx-trend-chip:hover{color:var(--nx-blue)}
.nx-trend-chip.is-active{color:var(--nx-ink);font-weight:700;border-bottom-color:var(--nx-green)}
.nx-trend-chip .fire{font-size:13px;line-height:1}

/* V2026.15 — floating mega-menu (escapes parent overflow) */
.nx-mega-floating{
  background:#fff;border:1px solid var(--nx-line);border-top:none;
  box-shadow:0 28px 60px rgba(7,7,7,.12),0 8px 16px rgba(7,7,7,.05);
  padding:28px 32px 0;
  overflow:hidden;animation:nxMegaIn .18s cubic-bezier(.2,.8,.2,1);
}
@keyframes nxMegaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.nx-trend-mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-bottom:24px}
.nx-trend-mega-col h4{font:800 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-ink);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--nx-line)}
.nx-trend-mega-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.nx-trend-mega-col li a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--nx-ink);font:500 13.5px/1.45 var(--font-sans);letter-spacing:-.005em;padding:3px 0;transition:color .14s ease}
.nx-trend-mega-col li a:hover{color:var(--nx-blue)}
.nx-trend-mega-badge{display:inline-block;font:800 8px/1 var(--font-mono);letter-spacing:.08em;padding:2px 5px;background:#ffd9e2;color:#c2185b;border-radius:4px;margin-left:4px}
.nx-trend-mega-badge.b-new{background:#ffd9e2;color:#c2185b}
.nx-trend-mega-badge.b-fast{background:rgba(8,200,66,.18);color:#15803d}
.nx-trend-mega-badge.b-pro{background:rgba(7,84,248,.18);color:#0754f8}

/* Fiverr-style mega CTA strip */
.nx-trend-mega-cta{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 -32px;padding:14px 32px;
  background:rgba(8,200,66,.08);border-top:1px solid var(--nx-line);
}
.nx-trend-mega-cta-text{display:flex;align-items:center;gap:12px;font:600 14px/1.4 var(--font-sans);color:var(--nx-ink)}
.nx-trend-mega-cta-icon{width:32px;height:32px;background:var(--nx-ink);display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;font:800 14px/1 var(--font-mono);flex-shrink:0}
.nx-trend-mega-cta-btn{
  display:inline-flex;align-items:center;text-decoration:none;
  padding:9px 16px;background:#fff;border:1px solid var(--nx-ink);color:var(--nx-ink);
  font:700 12px/1 var(--font-sans);letter-spacing:.02em;border-radius:4px;
  transition:all .15s ease;
}
.nx-trend-mega-cta-btn:hover{background:var(--nx-ink);color:#fff}

/* ============================================================
   WELCOME-BACK DASHBOARD (signed-in only homepage block)
   ============================================================ */
.nx-welcome{padding:48px 0 24px;background:linear-gradient(180deg,#f5f8ff 0%,#fff 80%)}
.nx-welcome-head h2{
  font-size:clamp(36px,4.5vw,60px);letter-spacing:-.05em;line-height:1;
  margin:0 0 28px;font-weight:800;
}
.nx-welcome-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:36px}
.nx-welcome-card{
  background:#fff;border:1px solid var(--nx-line);padding:22px 24px;
  display:grid;gap:8px;align-items:start;
}
.nx-welcome-card .lbl{
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);
}
.nx-welcome-card .ttl{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:2px}
.nx-welcome-card .sub{color:var(--nx-ink-2,#555);font-size:14px;line-height:1.5;margin-top:4px}
.nx-welcome-card .nx-cta{margin-top:10px;align-self:start}
.nx-pct-bar{
  height:8px;background:var(--nx-line);border-radius:999px;overflow:hidden;margin-top:12px;
}
.nx-pct-bar i{
  display:block;height:100%;
  background:linear-gradient(90deg,var(--nx-green),var(--nx-blue));
  border-radius:999px;transition:width .5s var(--ease-out);
}
@media (max-width:760px){
  .nx-welcome-cards{grid-template-columns:1fr}
}

/* "Based on what you're looking for" — for-you carousel */
.nx-foryou h3{font-size:22px;letter-spacing:-.03em;margin:6px 0 18px;font-weight:800}
.nx-foryou-grid{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.nx-foryou-rail{display:grid;gap:2px}
.nx-foryou-rail a{
  padding:11px 14px;text-decoration:none;color:var(--nx-ink);
  font:600 13.5px var(--font-sans);cursor:pointer;
  border:1px solid transparent;border-radius:6px;
}
.nx-foryou-rail a:hover{background:#fafafa}
.nx-foryou-rail a.is-active{background:#fff;border-color:var(--nx-line);font-weight:800}
.nx-foryou-cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;
}
.nx-foryou-card{
  text-decoration:none;color:inherit;border:1px solid var(--nx-line);background:#fff;
  display:grid;grid-template-rows:auto 1fr;overflow:hidden;
}
.nx-foryou-card .cover{
  aspect-ratio:16/10;background:linear-gradient(135deg,var(--g1,#0754f8),var(--g2,#3b7bff));
  color:#fff;display:grid;place-items:center;font:900 30px var(--font-mono);letter-spacing:-.04em;
}
.nx-foryou-card .meta{padding:14px 16px;display:grid;gap:8px}
.nx-foryou-card .who{
  display:flex;align-items:center;gap:8px;font:600 12px var(--font-sans);color:var(--nx-ink-2,#555);
}
.nx-foryou-card .av{
  width:22px;height:22px;background:var(--nx-ink);color:#fff;border-radius:50%;
  display:grid;place-items:center;font:800 10px var(--font-mono);
}
.nx-foryou-card .ttl{font-size:14px;font-weight:600;line-height:1.4;min-height:38px}
.nx-foryou-card .rate{display:flex;align-items:center;gap:6px;font:700 12px var(--font-mono);color:var(--nx-ink)}
.nx-foryou-card .rate .star{color:#ffb800}
.nx-foryou-card .price{font:700 13px var(--font-sans);color:var(--nx-ink);margin-top:2px}
.nx-foryou-card .pro-badge{
  display:inline-block;padding:2px 8px;font:800 9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  background:#070707;color:#08c842;border-radius:0;
}
@media (max-width:760px){
  .nx-foryou-grid{grid-template-columns:1fr}
  .nx-foryou-rail{display:flex;overflow-x:auto;gap:6px;padding-bottom:6px;margin:0 -16px;padding-left:16px}
  .nx-foryou-rail a{white-space:nowrap;border:1px solid var(--nx-line);background:#fff}
}

/* Scroll-reveal animations: default to visible so the page is never blank on slow IO firing.
   The .in class is still added by the observer for the entrance animation effect. */
.reveal{opacity:1;transform:none}
.reveal.in{opacity:1;transform:none}
.nx-scroll-rise{opacity:1;transform:none}
.nx-scroll-rise.in{opacity:1;transform:none}
.nx-scroll-zoom{opacity:1;transform:none}
.nx-scroll-zoom.in{opacity:1;transform:none}
.nx-scroll-slide-l{opacity:1;transform:none}
.nx-scroll-slide-l.in{opacity:1;transform:none}

.nx-toast-stack{
  position:fixed;right:18px;top:18px;z-index:260;
  display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 36px));pointer-events:none;
}
.nx-toast{
  pointer-events:auto;display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:flex-start;
  padding:14px 16px;background:#fff;border:1px solid var(--nx-ink);
  box-shadow:0 18px 40px rgba(8,8,8,.16);
  opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .25s ease, transform .25s var(--ease-out);
}
.nx-toast.in{opacity:1;transform:none}
.nx-toast .ico{width:36px;height:36px;display:grid;place-items:center;background:rgba(7,84,248,.10);color:var(--nx-blue)}
.nx-toast.ok .ico{background:rgba(8,200,66,.14);color:#06882a}
.nx-toast.warn .ico{background:rgba(255,138,42,.16);color:#b85a00}
.nx-toast.err .ico{background:rgba(220,20,60,.10);color:#a01030}
.nx-toast .bd{font-size:13.5px;line-height:1.45}
.nx-toast .bd b{display:block;font-weight:800;font-size:14px;letter-spacing:-.02em;margin-bottom:2px}
.nx-toast .bd span{color:var(--nx-ink-2)}
.nx-toast .x{background:transparent;border:none;cursor:pointer;font-size:18px;color:var(--nx-muted);padding:0 4px;align-self:center}
.nx-toast .x:hover{color:var(--nx-ink)}
@media (max-width:720px){
  .nx-toast-stack{right:10px;left:10px;width:auto;top:10px}
}

/* card 3D tilt cleanup */
.nx-card, .nx-mb-tier, .nx-step-card, .nx-domain-card{will-change:transform}

/* ============================================================
   HEADER: notifications bell, cart, currency, auth avatar
   ============================================================ */
.nx-header-tools{display:flex;align-items:center;gap:4px;margin-right:6px}
.nx-icon-btn{
  position:relative;width:38px;height:38px;display:grid;place-items:center;
  background:transparent;border:1px solid transparent;color:var(--nx-muted);cursor:pointer;
  transition:color .2s,border-color .2s,background .2s;
}
.nx-icon-btn svg{width:19px;height:19px}
.nx-icon-btn:hover{color:var(--nx-ink);border-color:rgba(8,8,8,.10);background:rgba(8,8,8,.04)}
.nx-icon-btn .badge{
  position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;
  background:var(--nx-pink);color:#fff;font:800 10px var(--font-mono);
  display:grid;place-items:center;letter-spacing:.04em;border-radius:0;border:2px solid #fff;
}
.nx-icon-btn .badge.green{background:var(--nx-green);color:#031807}
.nx-icon-btn .badge.blue{background:var(--nx-blue);color:#fff}
.nx-icon-btn.is-open{color:var(--nx-blue);border-color:rgba(7,84,248,.3);background:rgba(7,84,248,.08)}

.nx-pop{
  position:absolute;top:calc(100% + 8px);right:0;
  background:#fff;border:1px solid var(--nx-ink);
  box-shadow:0 24px 60px rgba(8,8,8,.18);
  min-width:340px;max-width:380px;z-index:120;
  display:none;animation:nxFadeIn .2s ease;
}
.nx-pop.is-open{display:block}
.nx-pop .pop-head{padding:14px 18px;border-bottom:1px solid var(--nx-line);display:flex;justify-content:space-between;align-items:center}
.nx-pop .pop-head h4{margin:0;font-size:14px;font-weight:800;letter-spacing:-.02em}
.nx-pop .pop-head a{font:700 11px var(--font-mono);color:var(--nx-blue);text-transform:uppercase;letter-spacing:.06em}
.nx-pop .pop-list{max-height:340px;overflow-y:auto}
.nx-pop .pop-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px 18px;border-bottom:1px solid var(--nx-line-soft);text-decoration:none;color:var(--nx-ink)}
.nx-pop .pop-item:hover{background:#fafafa}
/* V45 — profile-menu icons: solid blue square + white vector icon
   (matches the index-page capability tiles). */
.nx-pop .pop-item .ic{
  width:34px;height:34px;flex:0 0 34px;
  display:grid;place-items:center;
  background:var(--nx-blue,#0754f8);
  color:#fff;
  border-radius:9px;
  font:800 12px var(--font-mono);
}
.nx-pop .pop-item .ic svg{display:block;width:15px;height:15px;color:#fff}
.nx-pop .pop-item:hover .ic{background:#0646cf}
.nx-pop .pop-item.unread{background:rgba(7,84,248,.04)}
/* keep the green/gold variants available but on-brand (solid fills) */
.nx-pop .pop-item .ic.green{background:#08c842;color:#fff}
.nx-pop .pop-item .ic.green svg{color:#fff}
.nx-pop .pop-item .ic.gold{background:#f5a623;color:#fff}
.nx-pop .pop-item .ic.gold svg{color:#fff}
.nx-pop .pop-item .tt{font-weight:700;font-size:13.5px;line-height:1.35}
.nx-pop .pop-item .bd{color:var(--nx-muted);font-size:12.5px;line-height:1.45;margin-top:2px}
.nx-pop .pop-item .ts{font:600 10px var(--font-mono);color:var(--nx-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;display:block}
.nx-pop .pop-foot{padding:12px 18px;border-top:1px solid var(--nx-line);text-align:center}
.nx-pop .pop-foot a{font:700 12px var(--font-mono);color:var(--nx-blue);text-transform:uppercase;letter-spacing:.08em}
.nx-pop .pop-empty{padding:30px 18px;text-align:center;color:var(--nx-muted);font-size:13px}

/* currency switch list */
.nx-pop .pop-cur{display:grid;grid-template-columns:repeat(1,1fr)}
.nx-pop .pop-cur button{
  display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#fff;border:none;
  border-bottom:1px solid var(--nx-line-soft);cursor:pointer;font:600 14px var(--font-sans);text-align:left;
}
.nx-pop .pop-cur button:hover{background:#fafafa}
.nx-pop .pop-cur button.is-active{background:rgba(7,84,248,.06);color:var(--nx-blue);font-weight:800}
.nx-pop .pop-cur button .sym{font:800 12px var(--font-mono);color:var(--nx-muted);letter-spacing:.04em}

/* auth avatar in header */
.nx-user-pop .pop-item{cursor:pointer}
.nx-user-av{
  width:36px;height:36px;display:grid;place-items:center;
  background:linear-gradient(135deg,#0754f8,#7a5cff);color:#fff;
  font:900 13px var(--font-mono);cursor:pointer;border:none;
}
.nx-user-av:hover{outline:2px solid rgba(7,84,248,.3);outline-offset:2px}

/* ============================================================
   MESSAGES / CHAT — 3-pane inbox
   ============================================================ */
.nx-msg-shell{
  display:grid;grid-template-columns:340px 1fr 320px;
  height:calc(100vh - 72px); /* sit below the header */
  border-top:1px solid var(--nx-line);background:#fff;
}
@media (max-width:1100px){.nx-msg-shell{grid-template-columns:280px 1fr}.nx-msg-about{display:none}}
@media (max-width:760px){.nx-msg-shell{grid-template-columns:1fr}.nx-msg-side{display:none}}

/* LEFT — conversation list */
.nx-msg-side{
  border-right:1px solid var(--nx-line);background:#fff;
  display:flex;flex-direction:column;overflow:hidden;
}
.nx-msg-side-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid var(--nx-line-soft);
}
.nx-msg-side-head .title{font:800 15px var(--font-sans);letter-spacing:-.01em;display:flex;align-items:center;gap:6px}
.nx-msg-side-head .filter{
  background:transparent;border:none;cursor:pointer;color:var(--nx-muted);font-size:14px;padding:2px 4px;
}
.nx-msg-side-head .search{
  width:30px;height:30px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;
  display:grid;place-items:center;color:var(--nx-muted);border-radius:50%;
}
.nx-msg-side-head .search:hover{color:var(--nx-ink);border-color:var(--nx-ink)}
#msgSearchInput{
  margin:10px 18px 6px;padding:8px 12px;font:600 13px var(--font-sans);
  border:1px solid var(--nx-line);background:#fafafa;outline:none;
}
.nx-msg-list{flex:1;overflow-y:auto}
.nx-msg-list .conv{
  display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 18px;
  border-bottom:1px solid var(--nx-line-soft);text-decoration:none;color:var(--nx-ink);
  cursor:pointer;transition:background .15s ease;
}
.nx-msg-list .conv:hover{background:#fafafa}
.nx-msg-list .conv.is-active{background:rgba(7,84,248,.06)}
.nx-msg-list .av{
  width:38px;height:38px;display:grid;place-items:center;color:#fff;
  font:800 12px var(--font-mono);
}
.nx-msg-list .body{min-width:0}
.nx-msg-list .row1{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.nx-msg-list .row1 b{font-weight:700;font-size:14px;letter-spacing:-.01em}
.nx-msg-list .row1 .when{font:600 11px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.04em}
.nx-msg-list .preview{
  color:var(--nx-muted);font-size:13px;line-height:1.4;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* MIDDLE — active thread */
.nx-msg-thread{display:flex;flex-direction:column;min-width:0;background:#fff}
.nx-msg-thread-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 22px;border-bottom:1px solid var(--nx-line);
}
.nx-msg-thread-head .who{display:flex;align-items:center;gap:14px}
.nx-msg-thread-head .av{
  width:44px;height:44px;display:grid;place-items:center;color:#fff;
  font:800 14px var(--font-mono);background:linear-gradient(135deg,#0754f8,#3b7bff);
}
.nx-msg-thread-head h1{font-size:18px;letter-spacing:-.02em;margin:0;font-weight:800}
.nx-msg-thread-head .meta{font:600 12px var(--font-mono);color:var(--nx-muted);letter-spacing:.04em;margin-top:2px}
.nx-msg-thread-head .actions{display:flex;gap:6px}
.nx-msg-thread-head .ic{
  width:34px;height:34px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;
  display:grid;place-items:center;color:var(--nx-muted);border-radius:50%;font-size:14px;
}
.nx-msg-thread-head .ic:hover{color:var(--nx-ink);border-color:var(--nx-ink)}

.nx-msg-trust{
  display:flex;align-items:center;gap:10px;
  padding:11px 22px;background:rgba(8,200,66,.06);color:#06882a;
  font-size:12.5px;line-height:1.4;border-bottom:1px solid rgba(8,200,66,.18);
}
.nx-msg-trust b{font-weight:800}

.nx-msg-tabs{
  display:flex;gap:24px;padding:8px 22px 0;border-bottom:1px solid var(--nx-line);
}
.nx-msg-tabs button{
  background:transparent;border:none;cursor:pointer;
  font:700 13px var(--font-sans);letter-spacing:-.01em;color:var(--nx-muted);
  padding:10px 0;border-bottom:2px solid transparent;
}
.nx-msg-tabs button:hover{color:var(--nx-ink)}
.nx-msg-tabs button.is-active{color:var(--nx-ink);border-bottom-color:var(--nx-ink)}

.nx-msg-stream{flex:1;overflow-y:auto;padding:18px 22px 8px;display:flex;flex-direction:column;gap:14px}
.nx-msg-stream .msg{display:flex;gap:10px;max-width:78%}
.nx-msg-stream .msg.theirs{align-self:flex-start}
.nx-msg-stream .msg.mine{align-self:flex-end;flex-direction:row-reverse}
.nx-msg-stream .av-sm{
  width:28px;height:28px;display:grid;place-items:center;color:#fff;
  font:800 10px var(--font-mono);flex:0 0 28px;
}
.nx-msg-stream .bubble-wrap{min-width:0}
.nx-msg-stream .row1{display:flex;gap:10px;align-items:baseline;margin-bottom:4px}
.nx-msg-stream .row1 b{font-size:13px;font-weight:800;letter-spacing:-.01em}
.nx-msg-stream .row1 .when{font:600 10px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.04em}
.nx-msg-stream .msg.mine .row1{flex-direction:row-reverse}
.nx-msg-stream .bubble{
  padding:11px 14px;background:#f4f4f6;color:var(--nx-ink);line-height:1.45;font-size:14px;
  max-width:100%;word-break:break-word;border:1px solid transparent;
}
.nx-msg-stream .msg.mine .bubble{background:#070707;color:#fff}

/* COMPOSER */
.nx-msg-compose{
  border-top:1px solid var(--nx-line);padding:14px 22px 18px;background:#fff;
}
.nx-msg-warn{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;margin-bottom:10px;
  background:rgba(255,184,0,.10);border:1px solid rgba(255,184,0,.45);color:#7a4a00;
  font-size:13px;line-height:1.45;
}
.nx-msg-warn.severe{background:rgba(208,32,48,.07);border-color:rgba(208,32,48,.45);color:#a01030}
.nx-msg-warn .warn-body{flex:1;min-width:0}
.nx-msg-warn .warn-body b{display:block;font-weight:800;font-size:12.5px;margin-bottom:1px}
.nx-msg-warn .warn-fix{
  background:#fff;border:1px solid currentColor;padding:5px 11px;cursor:pointer;
  font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:inherit;
}
.nx-msg-warn .warn-fix:hover{background:currentColor;color:#fff}
.nx-msg-warn.severe .warn-fix:hover{color:#fff}

.nx-msg-composer{
  border:1px solid var(--nx-line);background:#fafafa;
  padding:10px 12px;display:grid;gap:8px;
}
.nx-msg-composer:focus-within{border-color:var(--nx-ink);background:#fff}
.nx-msg-composer textarea{
  width:100%;border:none;background:transparent;outline:none;resize:none;
  font:600 14px var(--font-sans);line-height:1.5;color:var(--nx-ink);
  max-height:160px;overflow-y:auto;
}
.nx-msg-composer .row{display:flex;align-items:center;gap:10px}
.nx-msg-composer .tools{display:flex;gap:4px}
.nx-msg-composer .tool{
  width:28px;height:28px;border:none;background:transparent;cursor:pointer;
  font-size:14px;display:grid;place-items:center;border-radius:4px;color:var(--nx-muted);
}
.nx-msg-composer .tool:hover{background:#f0f0f4;color:var(--nx-ink)}
.nx-msg-composer .hint{
  flex:1;font:600 11px var(--font-mono);color:var(--nx-muted);letter-spacing:.04em;text-transform:uppercase;
  text-align:center;
}
.nx-msg-composer .hint kbd{
  background:#fff;border:1px solid var(--nx-line);padding:1px 5px;
  border-radius:3px;font:600 10px var(--font-mono);
}
.nx-msg-composer .send{
  display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;
  background:var(--nx-ink);color:#fff;border:none;cursor:pointer;border-radius:999px;
  font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
}
.nx-msg-composer .send:hover{background:var(--nx-blue)}
.nx-msg-composer .send:disabled{opacity:.4;cursor:not-allowed;background:var(--nx-ink)}

/* RIGHT — About panel */
.nx-msg-about{
  border-left:1px solid var(--nx-line);background:#fff;padding:24px 22px;overflow-y:auto;
}
.nx-msg-about h2{font-size:16px;letter-spacing:-.02em;margin:0 0 14px;font-weight:800}
.nx-msg-about .row{
  display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;
  border-top:1px solid var(--nx-line-soft);font-size:13.5px;
}
.nx-msg-about .row:first-of-type{border-top:none}
.nx-msg-about .row .k{color:var(--nx-muted)}
.nx-msg-about .row .v{font-weight:700;text-align:right}
.nx-msg-about .open-profile{
  display:inline-block;margin-top:18px;font:700 12px var(--font-mono);
  color:var(--nx-blue);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
}
.nx-msg-shortcuts{margin-top:24px}
.nx-msg-shortcuts h3{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);margin:0 0 8px}
.nx-msg-shortcuts a{
  display:block;padding:9px 0;font:700 13px var(--font-sans);color:var(--nx-ink);text-decoration:none;
  border-bottom:1px solid var(--nx-line-soft);
}
.nx-msg-shortcuts a:hover{color:var(--nx-blue)}
.nx-msg-shortcuts a:last-child{border-bottom:none}

/* ============================================================
   SELLER DASHBOARD — premium top bar + panels
   ============================================================ */
.nx-sdh-bar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
  padding:18px 22px;border:1px solid var(--nx-line);background:#fff;
  margin:14px 0 18px;border-radius:2px;
}
.nx-sdh-bar .left{display:flex;align-items:center;gap:16px}
.nx-sdh-bar .av{
  width:54px;height:54px;display:grid;place-items:center;
  background:linear-gradient(135deg,#0754f8,#7a5cff);color:#fff;
  font:900 18px var(--font-mono);
}
.nx-sdh-bar .username{
  display:flex;align-items:center;gap:10px;
  font:800 17px var(--font-sans);letter-spacing:-.02em;
}
.nx-sdh-bar .level{
  font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  padding:4px 9px;background:#070707;color:#08c842;border:1px solid #070707;
}
.nx-sdh-bar .meta{
  font:600 12.5px var(--font-mono);color:var(--nx-muted);letter-spacing:.02em;margin-top:3px;
}

/* AVAILABILITY TOGGLE */
.nx-avail-toggle{
  display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 16px;
  background:#fff;border:1px solid var(--nx-line);cursor:pointer;
  font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-ink);
  border-radius:999px;transition:all .15s ease;
}
.nx-avail-toggle .pulse{
  width:8px;height:8px;border-radius:50%;background:#c4c4cc;flex:0 0 8px;
}
.nx-avail-toggle.is-on{border-color:rgba(8,200,66,.45);background:rgba(8,200,66,.06);color:#06882a}
.nx-avail-toggle.is-on .pulse{
  background:#08c842;
  box-shadow:0 0 0 0 rgba(8,200,66,.45);
  animation:nxAvailPulse 1.6s ease-out infinite;
}
@keyframes nxAvailPulse{
  0%  {box-shadow:0 0 0 0 rgba(8,200,66,.5)}
  70% {box-shadow:0 0 0 10px rgba(8,200,66,0)}
  100%{box-shadow:0 0 0 0 rgba(8,200,66,0)}
}

/* PROFILE STRENGTH gauge */
.nx-strength{
  border:1px solid var(--nx-line);background:#fff;padding:22px 24px;
}
.nx-strength-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.nx-strength-head h3{font-size:16px;letter-spacing:-.02em;margin:0;font-weight:800}
.nx-strength-head b{font:900 28px var(--font-mono);letter-spacing:-.04em;color:var(--nx-blue)}
.nx-strength-head b small{font:700 12px var(--font-mono);color:var(--nx-muted);letter-spacing:.06em}
.nx-strength p{font-size:13px;color:var(--nx-ink-2,#555);line-height:1.5;margin:0 0 14px}
.nx-strength-bar{height:8px;background:var(--nx-line);overflow:hidden;border-radius:999px;margin:0 0 14px}
.nx-strength-bar i{display:block;height:100%;background:linear-gradient(90deg,#08c842,#0754f8);border-radius:999px;transition:width .5s var(--ease-out)}
.nx-strength-checks{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.nx-strength-checks .ck{
  font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
  padding:5px 9px;border:1px solid var(--nx-line);background:#fafafa;color:var(--nx-muted);
}
.nx-strength-checks .ck.on{color:#06882a;background:rgba(8,200,66,.08);border-color:rgba(8,200,66,.3)}
.nx-strength-cta{
  display:inline-flex;align-items:center;height:38px;padding:0 16px;
  background:var(--nx-ink);color:#fff;text-decoration:none;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;
}
.nx-strength-cta:hover{background:var(--nx-blue)}

/* TRACK YOUR PERFORMANCE */
.nx-perf{border:1px solid var(--nx-line);background:#fff;padding:22px 24px}
.nx-perf-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.nx-perf-head h3{font-size:16px;letter-spacing:-.02em;margin:0;font-weight:800}
.nx-perf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--nx-line);border:1px solid var(--nx-line)}
.nx-perf-cell{
  background:#fff;padding:14px 16px;display:grid;gap:4px;
}
.nx-perf-cell .lbl{font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted)}
.nx-perf-cell b{font:900 22px var(--font-mono);letter-spacing:-.04em;color:var(--nx-ink)}
.nx-perf-cell small{font:600 11px var(--font-sans);color:var(--nx-muted)}
.nx-perf-cell small.up{color:#06882a}

/* RESPOND TO CLIENTS */
.nx-respond{border:1px solid var(--nx-line);background:#fff}
.nx-respond-head{
  display:flex;align-items:baseline;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--nx-line-soft);
}
.nx-respond-head h2{font-size:22px;letter-spacing:-.03em;margin:0;font-weight:800}
.nx-respond-tabs{
  display:flex;border-bottom:1px solid var(--nx-line);padding:0 22px;
}
.nx-respond-tabs button{
  background:transparent;border:none;cursor:pointer;
  font:700 13px var(--font-sans);letter-spacing:-.01em;color:var(--nx-muted);
  padding:14px 4px;margin-right:24px;display:inline-flex;align-items:center;gap:8px;
  border-bottom:2px solid transparent;
}
.nx-respond-tabs button .cnt{
  font:700 10px var(--font-mono);background:#f0f0f4;color:var(--nx-muted);
  padding:2px 7px;letter-spacing:.04em;border-radius:999px;
}
.nx-respond-tabs button:hover{color:var(--nx-ink)}
.nx-respond-tabs button.is-active{color:var(--nx-ink);border-bottom-color:var(--nx-ink)}
.nx-respond-tabs button.is-active .cnt{background:var(--nx-ink);color:#fff}
.nx-respond-list{display:grid}
.nx-respond-row{
  display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;
  padding:16px 22px;border-bottom:1px solid var(--nx-line-soft);transition:background .15s ease;
}
.nx-respond-row:last-child{border-bottom:none}
.nx-respond-row:hover{background:#fafafa}
.nx-respond-row.unread{background:rgba(7,84,248,.04)}
.nx-respond-row.unread:hover{background:rgba(7,84,248,.07)}
.nx-respond-row .av{
  width:40px;height:40px;display:grid;place-items:center;color:#fff;
  font:800 12px var(--font-mono);letter-spacing:.02em;
}
.nx-respond-row .body{min-width:0}
.nx-respond-row .row1{display:flex;align-items:center;gap:10px;margin-bottom:3px;flex-wrap:wrap}
.nx-respond-row .who{font-weight:800;font-size:14px;letter-spacing:-.01em}
.nx-respond-row .flair{
  font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
  padding:2px 7px;background:rgba(7,84,248,.10);color:var(--nx-blue);
}
.nx-respond-row.unread .flair{background:#070707;color:#08c842}
.nx-respond-row.good   .flair{background:rgba(8,200,66,.14);color:#06882a}
.nx-respond-row.pending .flair{background:rgba(255,184,0,.14);color:#b85a00}
.nx-respond-row .when{margin-left:auto;font:600 11px var(--font-mono);color:var(--nx-muted);letter-spacing:.04em;text-transform:uppercase}
.nx-respond-row .msg{color:var(--nx-ink-2,#555);font-size:13.5px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nx-respond-row .reply{
  align-self:start;height:34px;padding:0 14px;background:#fff;border:1px solid var(--nx-line);
  cursor:pointer;font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
  border-radius:999px;color:var(--nx-ink);
}
.nx-respond-row .reply:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nx-respond-empty{
  padding:30px 22px;text-align:center;color:var(--nx-muted);font-size:13.5px;background:#fafafa;
}
@media (max-width:760px){
  .nx-respond-head, .nx-respond-tabs, .nx-respond-row{padding-left:14px;padding-right:14px}
  .nx-respond-row .when{margin-left:0;width:100%}
}

/* ============================================================
   MY GIGS — management table
   ============================================================ */
.nx-gigs-shell{padding:36px 0 80px}
.nx-gigs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.nx-gigs-head h1{font-size:clamp(36px,4.5vw,56px);letter-spacing:-.05em;margin:0;font-weight:800;line-height:1}
.nx-gigs-head .sub{color:var(--nx-muted);font-size:14.5px;line-height:1.5;margin-top:8px}
.nx-gigs-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nx-co-toggle{
  display:inline-flex;align-items:center;gap:10px;padding:8px 12px;
  background:#fff;border:1px solid var(--nx-line);border-radius:999px;cursor:pointer;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-ink);
}
.nx-co-toggle .switch{
  width:30px;height:16px;background:var(--nx-line);position:relative;border-radius:999px;transition:background .2s;
}
.nx-co-toggle .switch::after{
  content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;background:#fff;border-radius:50%;
  transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.2);
}
.nx-co-toggle.is-on .switch{background:#08c842}
.nx-co-toggle.is-on .switch::after{transform:translateX(14px)}

.nx-gigs-tabs{
  display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--nx-line);margin-bottom:18px;
  overflow-x:auto;scrollbar-width:none;
}
.nx-gigs-tabs::-webkit-scrollbar{display:none}
.nx-gigs-tabs button{
  background:transparent;border:none;cursor:pointer;
  font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);
  padding:14px 0;display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid transparent;
  white-space:nowrap;
}
.nx-gigs-tabs button .cnt{
  font:700 10px var(--font-mono);background:#f0f0f4;color:var(--nx-muted);
  padding:2px 7px;letter-spacing:.04em;border-radius:999px;
}
.nx-gigs-tabs button:hover{color:var(--nx-ink)}
.nx-gigs-tabs button.is-active{color:var(--nx-ink);border-bottom-color:var(--nx-ink)}
.nx-gigs-tabs button.is-active .cnt{background:var(--nx-ink);color:#fff}

.nx-gigs-period{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);
}
.nx-gigs-period select{
  border:1px solid var(--nx-line);background:#fff;padding:6px 10px;
  font:700 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nx-ink);
  border-radius:0;outline:none;cursor:pointer;
}

.nx-gigs-table{
  width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--nx-line);font-size:13.5px;
}
.nx-gigs-table thead th{
  background:#fafafa;text-align:left;padding:12px 16px;
  font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);
  border-bottom:1px solid var(--nx-line);
}
.nx-gigs-table thead th.num{text-align:right}
.nx-gigs-table tbody td{padding:14px 16px;border-bottom:1px solid var(--nx-line-soft);vertical-align:middle}
.nx-gigs-table tbody tr:last-child td{border-bottom:none}
.nx-gigs-table tbody tr:hover{background:#fafafa}
.nx-gigs-table tbody td.num{text-align:right;font:700 13.5px var(--font-mono);letter-spacing:.02em}
.nx-gigs-table .thumb{
  width:56px;height:38px;display:inline-block;vertical-align:middle;margin-right:12px;
  background:linear-gradient(135deg,var(--g1,#0754f8),var(--g2,#3b7bff));color:#fff;
  font:900 13px var(--font-mono);place-items:center;display:inline-grid;letter-spacing:-.02em;
}
.nx-gigs-table .title{font-weight:700;color:var(--nx-ink);font-size:14px;letter-spacing:-.01em}
.nx-gigs-table .title-sub{font:600 11.5px var(--font-mono);color:var(--nx-muted);letter-spacing:.04em;margin-top:2px}
.nx-gigs-row-actions{
  width:34px;height:34px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;
  display:inline-grid;place-items:center;font-size:14px;color:var(--nx-muted);
}
.nx-gigs-row-actions:hover{color:var(--nx-ink);border-color:var(--nx-ink)}

.nx-gigs-empty{
  padding:60px 30px;text-align:center;background:#fafafa;border:1px dashed var(--nx-line);
}
.nx-gigs-empty h3{font-size:20px;letter-spacing:-.03em;margin:0 0 6px;font-weight:800}
.nx-gigs-empty p{color:var(--nx-muted);font-size:14px;line-height:1.5;margin:0 0 18px}

/* ============================================================
   USER POPOVER — Fiverr-style enhanced menu
   ============================================================ */
.nx-pop .pop-head-user{
  display:grid;gap:2px;padding:16px 18px;border-bottom:1px solid var(--nx-line);
  background:#fafafa;
}
.nx-pop .pop-user-name{font-weight:800;font-size:15px;letter-spacing:-.02em}
.nx-pop .pop-user-email{color:var(--nx-muted);font-size:12.5px;line-height:1.4}
.nx-pop .pop-role-switch{
  margin-top:10px;height:36px;padding:0 12px;border:1px solid var(--nx-ink);
  background:#fff;color:var(--nx-ink);cursor:pointer;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  transition:all .15s ease;
}
.nx-pop .pop-role-switch:hover{background:var(--nx-ink);color:#fff}
.nx-pop .pop-group{
  border-top:1px solid var(--nx-line);background:#fafafa;
}
.nx-pop .pop-group-label{
  padding:12px 18px 6px;font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.10em;
  color:var(--nx-muted);
}
.nx-pop .pop-group .pop-item{background:transparent}
.nx-pop .pop-group .pop-item:hover{background:rgba(7,84,248,.06)}

/* ============================================================
   POST-A-BRIEF MODAL
   ============================================================ */
.nxb-backdrop{
  position:fixed;inset:0;z-index:300;background:rgba(8,8,12,.55);
  display:none;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.nxb-backdrop.is-open{display:flex;animation:nxFadeIn .2s ease}
.nxb-card{
  background:#fff;border:1px solid var(--nx-line);max-width:620px;width:100%;
  max-height:88vh;overflow-y:auto;padding:34px 36px 30px;position:relative;
  box-shadow:0 40px 100px rgba(0,0,0,.30);
}
.nxb-close{
  position:absolute;top:14px;right:14px;width:34px;height:34px;
  background:transparent;border:1px solid var(--nx-line);font-size:22px;line-height:1;
  cursor:pointer;border-radius:50%;color:var(--nx-ink);
}
.nxb-close:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nxb-eyebrow{
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.10em;
  color:var(--nx-blue);margin-bottom:8px;
}
.nxb-title{
  font-size:28px;letter-spacing:-.03em;line-height:1.1;margin:0 0 8px;font-weight:800;
}
.nxb-lead{color:var(--nx-muted);font-size:14px;line-height:1.55;margin:0 0 22px}
.nxb-form{display:grid;gap:14px}
.nxb-field{display:grid;gap:6px}
.nxb-field > span{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted)}
.nxb-field input,
.nxb-field select,
.nxb-field textarea{
  border:1px solid var(--nx-line);background:#fff;padding:11px 14px;font:600 14px var(--font-sans);
  color:var(--nx-ink);outline:none;transition:border-color .15s ease;border-radius:2px;
  font-family:inherit;width:100%;
}
.nxb-field input:focus,.nxb-field select:focus,.nxb-field textarea:focus{border-color:var(--nx-blue);box-shadow:0 0 0 3px rgba(7,84,248,.10)}
.nxb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.nxb-row{grid-template-columns:1fr}}
.nxb-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;padding-top:14px;border-top:1px solid var(--nx-line-soft)}
.nxb-btn{
  height:42px;padding:0 20px;cursor:pointer;border:1px solid var(--nx-ink);border-radius:999px;
  font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;transition:all .15s ease;
}
.nxb-btn.primary{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nxb-btn.primary:hover{background:var(--nx-blue);border-color:var(--nx-blue)}
.nxb-btn.ghost{background:#fff;color:var(--nx-ink)}
.nxb-btn.ghost:hover{background:#fafafa}
.nxb-fine{font-size:11.5px;color:var(--nx-muted);text-align:center;margin:10px 0 0;line-height:1.5}
.nxb-fine a{color:var(--nx-blue);font-weight:700}

/* ============================================================
   PROFILE COMPLETION CARD (account page)
   ============================================================ */
.nx-prof-pct{
  background:#fff;border:1px solid var(--nx-line);padding:18px 20px;margin:18px 0 22px;
  display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;
}
.nx-prof-pct .num{font:900 36px var(--font-mono);letter-spacing:-.04em;color:var(--nx-blue);line-height:1}
.nx-prof-pct .body{display:grid;gap:6px}
.nx-prof-pct .lbl{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted)}
.nx-prof-pct .ttl{font-weight:800;font-size:15px;letter-spacing:-.01em}
.nx-prof-pct .bar{height:6px;background:var(--nx-line);overflow:hidden;border-radius:999px}
.nx-prof-pct .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--nx-green),var(--nx-blue));border-radius:999px;transition:width .5s var(--ease-out)}
@media (max-width:560px){.nx-prof-pct{grid-template-columns:1fr}.nx-prof-pct .num{font-size:30px}}

/* header buyer / seller quick switch */
.nx-role-pill{
  display:inline-flex;align-items:stretch;border:1px solid var(--nx-ink);
  background:#fff;height:34px;margin-right:6px;
}
.nx-role-pill button{
  background:#fff;color:var(--nx-ink);border:none;cursor:pointer;
  padding:0 12px;font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  display:inline-flex;align-items:center;
}
.nx-role-pill button + button{border-left:1px solid var(--nx-line)}
.nx-role-pill button.is-active{background:var(--nx-ink);color:#fff}
.nx-role-pill button:not(.is-active):hover{background:#f4f4f6}
@media (max-width:920px){
  .nx-role-pill{display:none}
}

/* role switcher inside the user popover */
.nx-pop .pop-role{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-bottom:1px solid var(--nx-line);background:#fafafa;
}
.nx-pop .pop-role button{
  padding:10px 12px;background:transparent;border:none;cursor:pointer;
  font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  color:var(--nx-muted);
}
.nx-pop .pop-role button + button{border-left:1px solid var(--nx-line)}
.nx-pop .pop-role button.is-active{background:var(--nx-ink);color:#fff}
.nx-pop .pop-role button:not(.is-active):hover{background:#f0f0f4;color:var(--nx-ink)}

/* ============================================================
   CART / WISHLIST pages
   ============================================================ */
.nx-list-shell{padding:48px 0 96px}
.nx-list-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:24px}
.nx-list-head h1{font-size:clamp(40px,5vw,72px);letter-spacing:-.06em;line-height:.95;font-weight:800;margin:14px 0 0}
.nx-list-head h1 b.blue{color:var(--nx-blue);font-weight:inherit}

.nx-list-grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.nx-list-empty{
  padding:64px 32px;text-align:center;border:1px dashed var(--nx-line);background:#fafafa;
}
.nx-list-empty .ic{width:80px;height:80px;border:1px solid var(--nx-ink);display:grid;place-items:center;margin:0 auto 20px;color:var(--nx-ink)}
.nx-list-empty h3{font-size:24px;letter-spacing:-.04em;margin:0 0 8px}
.nx-list-empty p{color:var(--nx-muted);margin:0 0 18px;max-width:380px;margin-left:auto;margin-right:auto}

.nx-cart-row{
  display:grid;grid-template-columns:96px 1fr 140px 100px 60px;gap:18px;align-items:center;
  padding:18px 22px;background:#fff;border:1px solid var(--nx-line);margin-bottom:8px;
}
.nx-cart-row .thumb{
  width:96px;height:72px;background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;
  display:grid;place-items:center;font:900 22px var(--font-mono);
  background-size:cover;background-position:center;
}
.nx-cart-row .ttl{font-weight:700;font-size:15px;letter-spacing:-.02em;line-height:1.3}
.nx-cart-row .meta{font:600 11px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.nx-cart-row .qty{display:inline-flex;align-items:center;border:1px solid var(--nx-line)}
.nx-cart-row .qty button{width:30px;height:34px;background:#fff;border:none;cursor:pointer;font-weight:900;color:var(--nx-ink)}
.nx-cart-row .qty button:hover{background:#fafafa}
.nx-cart-row .qty input{width:36px;height:34px;border:none;text-align:center;font-weight:800;font-family:var(--font-mono);font-size:14px;background:#fff}
.nx-cart-row .price{font-size:18px;font-weight:900;letter-spacing:-.03em;text-align:right;font-variant-numeric:tabular-nums}
.nx-cart-row .rm{width:36px;height:36px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;color:var(--nx-muted);display:grid;place-items:center}
.nx-cart-row .rm:hover{color:#a01030;border-color:#a01030}

.nx-summary{padding:24px;background:#fff;border:1px solid var(--nx-line);position:sticky;top:96px;align-self:start}
.nx-summary h3{font-size:18px;letter-spacing:-.03em;margin:0 0 14px;font-weight:800}
.nx-summary .row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:var(--nx-muted)}
.nx-summary .row b{color:var(--nx-ink);font-weight:800;font-variant-numeric:tabular-nums}
.nx-summary .total{font-size:18px;padding:14px 0 8px;border-top:1px solid var(--nx-ink);margin-top:6px;font-weight:800;color:var(--nx-ink)}
.nx-summary .total b{font-size:22px;letter-spacing:-.03em}
.nx-summary button{width:100%;height:54px;margin-top:14px}

/* Recently viewed strip */
.nx-recent{padding:48px 0;background:#fafafa;border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line)}
.nx-recent .nx-section-head h2{font-size:clamp(28px,3.4vw,44px)}
.nx-recent-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}

/* ============================================================
   AI MATCHMAKER chat widget (every page, bottom-right)
   ============================================================ */
.nx-mm-btn{
  position:fixed;right:24px;bottom:24px;z-index:150;
  height:60px;padding:0 22px 0 18px;
  background:linear-gradient(135deg,#0754f8,#7a5cff);color:#fff;
  border:none;cursor:pointer;border-radius:0;
  display:inline-flex;align-items:center;gap:12px;
  font:800 13px var(--font-sans);text-transform:uppercase;letter-spacing:.06em;
  box-shadow:0 24px 60px rgba(7,84,248,.35);
  transition:transform .25s var(--ease-out),box-shadow .25s;
}
.nx-mm-btn:hover{transform:translateY(-3px);box-shadow:0 30px 80px rgba(7,84,248,.50)}
.nx-mm-btn.is-tucked{transform:translateY(140px);opacity:0;pointer-events:none}

/* ----- Scroll-to-top button (every page) ----- */
.nx-scrolltop{
  position:fixed;right:24px;bottom:100px;z-index:148;
  width:44px;height:44px;display:grid;place-items:center;
  background:var(--nx-ink);color:#fff;border:none;cursor:pointer;
  box-shadow:0 12px 30px rgba(8,8,8,.18);
  opacity:0;pointer-events:none;transform:translateY(20px);
  transition:opacity .25s var(--ease-out),transform .25s var(--ease-out);
}
.nx-scrolltop:hover{background:var(--nx-blue);transform:translateY(-3px)}
.nx-scrolltop.is-on{opacity:1;pointer-events:auto;transform:translateY(0)}
.nx-scrolltop.is-tucked{transform:translateY(140px);opacity:0;pointer-events:none}
@media (max-width:920px){
  .nx-scrolltop{right:14px;bottom:80px;width:42px;height:42px}
}

/* ============================================================
   Polished in-app input dialog (replaces window.prompt / confirm)
   ============================================================ */
.nxim-desc{
  margin:0 0 18px;color:var(--nx-muted);font-size:13.5px;line-height:1.5;
}
.nxim-form{display:grid;gap:14px}
.nxim-field{display:grid;gap:6px}
.nxim-field > span{
  font:700 11px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);
  letter-spacing:.08em;
}
.nxim-field input,
.nxim-field select,
.nxim-field textarea{
  height:42px;padding:0 14px;border:1px solid var(--nx-line);background:#fff;
  font:600 14px var(--font-sans);color:var(--nx-ink);
  transition:border-color .15s ease;outline:none;border-radius:2px;
}
.nxim-field textarea{height:auto;padding:12px 14px;resize:vertical;font-family:inherit}
.nxim-field input:focus,
.nxim-field select:focus,
.nxim-field textarea:focus{border-color:var(--nx-blue);box-shadow:0 0 0 3px rgba(7,84,248,.10)}
.nxim-field input::placeholder,
.nxim-field textarea::placeholder{color:#b5b5be;font-weight:500}

.nxim-actions{
  display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:18px;
  border-top:1px solid var(--nx-line-soft);
}
.nxim-btn{
  height:38px;padding:0 18px;cursor:pointer;border:1px solid var(--nx-ink);
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  border-radius:999px;transition:all .15s ease;
}
.nxim-btn.primary{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nxim-btn.primary:hover{background:var(--nx-blue);border-color:var(--nx-blue)}
.nxim-btn.danger{background:#d3252b;color:#fff;border-color:#d3252b}
.nxim-btn.danger:hover{background:#b21f24;border-color:#b21f24}
.nxim-btn.ghost{background:#fff;color:var(--nx-ink);border-color:var(--nx-line)}
.nxim-btn.ghost:hover{background:#f4f4f6;border-color:var(--nx-ink)}
.nx-mm-btn .ico{
  width:36px;height:36px;background:rgba(255,255,255,.16);display:grid;place-items:center;
  font:900 14px var(--font-mono);position:relative;overflow:hidden;
}
.nx-mm-btn .ico::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  animation:nxShine 3s ease-in-out infinite;
}
.nx-mm-btn .dot{width:8px;height:8px;background:var(--nx-green);animation:nxPulse 1.6s ease infinite}

.nx-mm-shell{
  position:fixed;right:24px;bottom:96px;width:min(380px, calc(100vw - 48px));
  height:520px;max-height:calc(100vh - 130px);
  background:#fff;border:1px solid var(--nx-ink);
  box-shadow:0 40px 100px rgba(8,8,8,.25), 0 0 0 1px rgba(255,255,255,.5);
  z-index:151;display:none;flex-direction:column;overflow:hidden;
  animation:nxScaleIn .3s var(--ease-out);
  transform-origin:bottom right;
}
.nx-mm-shell.is-open{display:flex}
.nx-mm-head{
  padding:18px 20px;background:linear-gradient(135deg,#0a0a14,#1b1b35);color:#fff;position:relative;overflow:hidden;
}
.nx-mm-head::before{
  content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 90% 30%,rgba(7,84,248,.35),transparent 60%);
}
.nx-mm-head > *{position:relative}
.nx-mm-head .av{width:36px;height:36px;display:grid;place-items:center;background:linear-gradient(135deg,#0754f8,#7a5cff);color:#fff;font:900 13px var(--font-mono);float:left;margin-right:12px}
.nx-mm-head h4{font-size:14px;letter-spacing:-.02em;margin:0;font-weight:800;display:flex;align-items:center;gap:8px}
.nx-mm-head h4::after{content:"";width:7px;height:7px;background:var(--nx-green);animation:nxPulse 1.6s ease infinite}
.nx-mm-head .sub{font:600 10px var(--font-mono);text-transform:uppercase;color:rgba(255,255,255,.6);letter-spacing:.08em;margin-top:2px}
.nx-mm-head .x{position:absolute;right:14px;top:14px;background:transparent;border:none;color:#fff;cursor:pointer;font-size:18px;line-height:1;padding:4px;opacity:.7}
.nx-mm-head .x:hover{opacity:1}

.nx-mm-body{flex:1;overflow-y:auto;padding:18px;background:#fafafa;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.nx-mm-msg{max-width:88%;padding:10px 13px;font-size:13.5px;line-height:1.45}
.nx-mm-msg.bot{background:#fff;border:1px solid var(--nx-line);align-self:flex-start;border-bottom-left-radius:0}
.nx-mm-msg.usr{background:var(--nx-ink);color:#fff;align-self:flex-end;border-bottom-right-radius:0}
.nx-mm-typing{display:inline-flex;gap:4px;padding:10px 13px;background:#fff;border:1px solid var(--nx-line);align-self:flex-start}
.nx-mm-typing span{width:7px;height:7px;background:var(--nx-muted);animation:nxBlink 1.2s ease infinite}
.nx-mm-typing span:nth-child(2){animation-delay:.2s}
.nx-mm-typing span:nth-child(3){animation-delay:.4s}

.nx-mm-recs{display:grid;gap:8px;padding:6px 0}
.nx-mm-rec{
  display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;
  padding:10px;background:#fff;border:1px solid var(--nx-line);text-decoration:none;color:var(--nx-ink);
  transition:border-color .2s,transform .2s;
}
.nx-mm-rec:hover{border-color:var(--nx-blue);transform:translateY(-1px)}
.nx-mm-rec .gph{width:42px;height:42px;background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;font:900 13px var(--font-mono);display:grid;place-items:center}
.nx-mm-rec .nm{font-weight:700;font-size:12.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nx-mm-rec .meta{font:600 10px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);letter-spacing:.06em;margin-top:2px}
.nx-mm-rec .pr{font-weight:900;font-size:14px;letter-spacing:-.02em;color:var(--nx-blue)}

.nx-mm-foot{padding:12px;background:#fff;border-top:1px solid var(--nx-line);display:grid;grid-template-columns:1fr auto;gap:8px}
.nx-mm-foot input{height:42px;border:1px solid var(--nx-line);background:#fafafa;padding:0 14px;font-size:13.5px;font-family:inherit}
.nx-mm-foot input:focus{outline:none;border-color:var(--nx-blue);background:#fff}
.nx-mm-foot button{height:42px;padding:0 16px;background:var(--nx-ink);color:#fff;border:none;cursor:pointer;font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}
.nx-mm-foot button:hover{background:var(--nx-blue)}

.nx-mm-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 6px}
.nx-mm-chips button{
  height:30px;padding:0 10px;background:#fff;border:1px solid var(--nx-line);cursor:pointer;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--nx-ink-2);
}
.nx-mm-chips button:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}

@media (max-width:720px){
  .nx-mm-btn{right:14px;bottom:14px;height:54px;padding:0 16px 0 14px;font-size:11.5px}
  .nx-mm-shell{right:8px;left:8px;width:auto;bottom:80px;height:480px}
}

/* ============================================================
   LIVE TIME-SAVED TICKER on home hero
   ============================================================ */
.nx-ticker{
  display:inline-flex;align-items:center;gap:14px;padding:14px 22px;margin-top:32px;
  background:#070707;color:#fff;font-family:var(--font-mono);position:relative;overflow:hidden;
}
.nx-ticker::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(8,200,66,.18) 50%,transparent 70%);
  transform:translateX(-100%);animation:nxShine 4s ease-in-out infinite;
}
.nx-ticker .dot{width:9px;height:9px;background:var(--nx-green);animation:nxPulse 1.4s ease infinite;flex:0 0 auto}
.nx-ticker .lbl{font:700 11px var(--font-mono);letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.nx-ticker .v{font-size:22px;font-weight:900;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.nx-ticker .v::after{content:"";display:inline-block;width:1.5px;height:18px;background:var(--nx-green);margin-left:2px;vertical-align:middle;animation:nxBlink 1s steps(2) infinite}

/* ============================================================
   ROI CALCULATOR widget on service detail
   ============================================================ */
.nx-roi-card{
  margin-top:14px;padding:22px;background:linear-gradient(135deg,#070b21,#181f4d);color:#fff;position:relative;overflow:hidden;
}
.nx-roi-card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(400px 240px at 90% 20%,rgba(8,200,66,.16),transparent 60%);
}
.nx-roi-card > *{position:relative}
.nx-roi-card h4{font:800 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#08c842;margin:0 0 12px}
.nx-roi-card .desc{color:rgba(255,255,255,.65);font-size:12.5px;line-height:1.5;margin:0 0 14px}
.nx-roi-row{display:grid;gap:6px;margin-bottom:12px}
.nx-roi-row label{font:700 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);display:flex;justify-content:space-between}
.nx-roi-row input[type=range]{accent-color:#08c842}
.nx-roi-card .out{display:grid;gap:6px;padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);margin-top:14px}
.nx-roi-card .out > div{display:flex;justify-content:space-between;font:600 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.nx-roi-card .out > div b{color:#fff;font-weight:900;font-size:18px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nx-roi-card .out > div.win b{color:var(--nx-green)}

/* ============================================================
   BOOST / MEMBERSHIP BADGES + PROMOTED CARDS
   ============================================================ */
.nx-boost-badge{
  position:absolute;top:12px;right:54px;z-index:2;
  height:24px;padding:0 9px;display:inline-flex;align-items:center;
  font:800 10px var(--font-mono);letter-spacing:.10em;text-transform:uppercase;
  border:1px solid currentColor;background:rgba(255,255,255,.96);
  white-space:nowrap;
}
.nx-boost-badge.tp{color:#0754f8}
.nx-boost-badge.sp{background:linear-gradient(135deg,#0754f8,#7a5cff);color:#fff;border-color:transparent}
.nx-boost-badge.ev{
  background:linear-gradient(135deg,#070707,#222);color:#fff;border-color:#222;
  position:relative;overflow:hidden;
}
.nx-boost-badge.ev::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,184,0,.5) 50%,transparent 70%);
  transform:translateX(-100%);animation:nxShine 3.5s ease-in-out infinite;
}
.nx-card.is-boosted .nx-card-media{outline:2px solid transparent;transition:outline-color .25s, outline-offset .25s}
.nx-card.boost-25 .nx-card-media{outline-color:rgba(255,184,0,.55)}
.nx-card.boost-10 .nx-card-media{outline-color:rgba(122,92,255,.5)}
.nx-card.boost-25:hover .nx-card-media{outline-color:#ffb800;outline-offset:-2px}
.nx-card.boost-10:hover .nx-card-media{outline-color:#7a5cff;outline-offset:-2px}

/* Promoted strip — a dedicated EVERYWHERE ad row on browse + home */
.nx-promoted-strip{
  position:relative;padding:18px 22px;margin:0 0 18px;
  border:1px solid rgba(255,184,0,.4);background:linear-gradient(135deg,#0a0a14,#1b1b35);color:#fff;
  display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;overflow:hidden;
}
.nx-promoted-strip::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(600px 240px at 90% 50%,rgba(255,184,0,.18),transparent 60%);
}
.nx-promoted-strip > *{position:relative;z-index:1}
.nx-promoted-strip .lbl{font:800 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#ffb800}
.nx-promoted-strip h4{font-size:18px;letter-spacing:-.03em;margin:4px 0 0;font-weight:800}
.nx-promoted-strip .sub{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px}
.nx-promoted-strip .cta{
  height:42px;padding:0 18px;background:#ffb800;color:#070707;
  font:800 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;
  text-decoration:none;display:inline-flex;align-items:center;gap:8px;
}
.nx-promoted-strip .cta:hover{background:#fff}

/* ============================================================
   MEMBERSHIP page
   ============================================================ */
.nx-mb-hero{
  position:relative;padding:96px 0 60px;overflow:hidden;color:#fff;
  background:#070707;
}
.nx-mb-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 600px at 20% 30%,rgba(7,84,248,.34),transparent 60%),
    radial-gradient(700px 500px at 80% 70%,rgba(255,184,0,.18),transparent 60%);
}
.nx-mb-hero::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:72px 72px;
}
.nx-mb-hero .nx-container{position:relative;z-index:1}
.nx-mb-hero h1{font-size:clamp(48px,7vw,118px);letter-spacing:-.075em;line-height:.92;font-weight:800;margin:18px 0 22px;color:#fff;text-align:center}
.nx-mb-hero h1 .gold{
  background:linear-gradient(135deg,#ffb800,#ff8a2a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.nx-mb-hero p.lead{text-align:center;font-size:19px;color:rgba(255,255,255,.78);line-height:1.55;max-width:780px;margin:0 auto 30px}

.nx-mb-tiers{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;
}
.nx-mb-tier{
  position:relative;padding:32px 28px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  display:flex;flex-direction:column;gap:14px;
  transition:transform .3s var(--ease-out),border-color .25s,background .25s;
}
.nx-mb-tier:hover{transform:translateY(-6px);border-color:#fff;background:rgba(255,255,255,.07)}
.nx-mb-tier.featured{
  background:linear-gradient(180deg,rgba(255,184,0,.16),rgba(255,184,0,.06));
  border-color:rgba(255,184,0,.55);
}
.nx-mb-tier.featured::before{
  content:"BEST VALUE";position:absolute;top:-12px;left:24px;
  background:#ffb800;color:#070707;padding:6px 12px;
  font:900 10px var(--font-mono);letter-spacing:.12em;
}
.nx-mb-tier .nm{font:800 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.nx-mb-tier h3{font-size:28px;letter-spacing:-.04em;font-weight:800;margin:0;color:#fff}
.nx-mb-tier .price{font-size:54px;letter-spacing:-.06em;font-weight:900;color:#fff;line-height:1}
.nx-mb-tier .price small{font-size:18px;color:rgba(255,255,255,.6);margin-right:6px;font-weight:600}
.nx-mb-tier .price .per{font-size:14px;color:rgba(255,255,255,.6);font-weight:600;margin-left:6px}
.nx-mb-tier .blurb{color:rgba(255,255,255,.7);font-size:14.5px;line-height:1.5;margin:0}
.nx-mb-tier ul{margin:6px 0;padding-left:0;list-style:none;display:grid;gap:8px}
.nx-mb-tier li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.85);font-size:14px;line-height:1.45}
.nx-mb-tier li::before{content:"✓";color:#08c842;font-weight:900;flex:0 0 14px}
.nx-mb-tier li.no::before{content:"·";color:rgba(255,255,255,.3)}
.nx-mb-tier li.no{color:rgba(255,255,255,.35)}
.nx-mb-tier .nx-cta{justify-content:center;width:100%;background:#fff;color:#070707;border-color:#fff;margin-top:auto}
.nx-mb-tier.featured .nx-cta{background:#ffb800;color:#070707;border-color:#ffb800}
.nx-mb-tier .nx-cta:hover{background:#070707;color:#fff;border-color:#fff}

/* Manifesto strip */
.nx-manifesto{
  background:#070707;color:#fff;padding:120px 0;text-align:center;position:relative;overflow:hidden;
}
.nx-manifesto::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(1200px 600px at 50% 50%,rgba(7,84,248,.35),transparent 60%);
}
.nx-manifesto::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 75%);
}
.nx-manifesto .nx-container{position:relative;z-index:1}
.nx-manifesto h2{
  font-size:clamp(40px,5.8vw,84px);letter-spacing:-.06em;line-height:1.05;
  font-weight:800;margin:0;color:#fff;
}
.nx-manifesto h2 span.gold{background:linear-gradient(135deg,#ffb800,#ff8a2a);-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-manifesto h2 span.blue{color:#3b7bff}
.nx-manifesto h2 span.green{color:var(--nx-green)}
.nx-manifesto .lines{display:grid;gap:18px;max-width:880px;margin:36px auto 0}
.nx-manifesto .lines p{
  font-size:clamp(20px,1.6vw,26px);line-height:1.4;color:rgba(255,255,255,.92);margin:0;
  font-weight:500;
}
.nx-manifesto .lines p b{color:#fff;font-weight:800}
.nx-manifesto .sig{
  margin-top:48px;font:700 13px var(--font-mono);letter-spacing:.12em;color:rgba(255,255,255,.5);text-transform:uppercase;
}

/* ============================================================
   CREATE GIG WIZARD
   ============================================================ */
.nx-wiz-shell{padding:32px 0 96px;min-height:calc(100vh - 72px)}
.nx-wiz-progress{
  display:grid;grid-template-columns:repeat(6,1fr);
  margin-bottom:32px;border:1px solid var(--nx-ink);background:#fff;
  position:sticky;top:80px;z-index:30;
}
.nx-wiz-step{
  padding:18px 18px;display:flex;flex-direction:column;gap:6px;
  border-right:1px solid var(--nx-line);position:relative;cursor:pointer;
  transition:background .2s,color .2s;
}
.nx-wiz-step:last-child{border-right:none}
.nx-wiz-step .num{
  font:800 11px var(--font-mono);letter-spacing:.08em;color:var(--nx-muted);
}
.nx-wiz-step .lbl{font-weight:800;font-size:14px;letter-spacing:-.02em}
.nx-wiz-step.done{background:#fafafa;color:var(--nx-muted)}
.nx-wiz-step.done .num{color:#06882a}
.nx-wiz-step.done .lbl{color:var(--nx-ink)}
.nx-wiz-step.done::after{
  content:"✓";position:absolute;top:14px;right:18px;color:#06882a;font-weight:900;font-size:14px;
}
.nx-wiz-step.current{background:var(--nx-ink);color:#fff}
.nx-wiz-step.current .num{color:var(--nx-green)}

.nx-wiz-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:36px;align-items:start}
.nx-wiz-pane{
  border:1px solid var(--nx-line);background:#fff;padding:36px;
}
.nx-wiz-pane h2{font-size:32px;letter-spacing:-.04em;font-weight:800;margin:0 0 8px}
.nx-wiz-pane .lead{color:var(--nx-muted);font-size:15px;line-height:1.5;margin:0 0 28px;max-width:560px}

.nx-wiz-card{
  border:1px solid var(--nx-line-soft);background:#fafafa;padding:24px;margin-top:14px;
}
.nx-wiz-card h4{font:700 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-muted);margin:0 0 8px}

.nx-wiz-step-body{display:none}
.nx-wiz-step-body.is-active{display:block}

.nx-wiz-row{display:grid;gap:20px;margin-bottom:18px}
.nx-wiz-row label{display:grid;gap:6px;font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted)}
.nx-wiz-row input,.nx-wiz-row select,.nx-wiz-row textarea{
  height:54px;border:1px solid var(--nx-ink);background:#fff;padding:0 16px;font-size:15px;font-family:inherit;
}
.nx-wiz-row textarea{height:auto;padding:14px 16px;min-height:120px;resize:vertical;line-height:1.5}
.nx-wiz-row input:focus,.nx-wiz-row select:focus,.nx-wiz-row textarea:focus{outline:none;border-color:var(--nx-blue);box-shadow:0 0 0 4px rgba(7,84,248,.10)}
.nx-wiz-counter{font:600 11px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.06em;text-align:right;margin-top:4px}
.nx-wiz-counter.warn{color:#b85a00}

.nx-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.nx-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;
  background:#f4f4f4;border:1px solid var(--nx-line);
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;
}
.nx-chip .x{cursor:pointer;color:var(--nx-muted);font-weight:900}
.nx-chip.add{background:var(--nx-ink);color:#fff;cursor:pointer}
.nx-chip.suggest{background:rgba(7,84,248,.08);color:var(--nx-blue);border-color:rgba(7,84,248,.18);cursor:pointer}

/* AI assistant strip */
.nx-ai-strip{
  display:flex;align-items:flex-start;gap:14px;padding:18px 22px;margin-top:16px;
  background:linear-gradient(135deg,rgba(7,84,248,.06),rgba(239,92,255,.06));
  border:1px solid rgba(7,84,248,.2);position:relative;overflow:hidden;
}
.nx-ai-strip::before{
  content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;
  background:radial-gradient(circle,rgba(122,92,255,.16),transparent 70%);
}
.nx-ai-icon{
  width:38px;height:38px;display:grid;place-items:center;
  background:linear-gradient(135deg,#7a5cff,#0754f8);color:#fff;
  font:900 13px var(--font-mono);flex:0 0 auto;
}
.nx-ai-body{flex:1;min-width:0}
.nx-ai-title{font:800 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-blue);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.nx-ai-title::after{content:"";width:6px;height:6px;background:var(--nx-green);animation:nxPulse 1.6s ease infinite}
.nx-ai-text{font-size:14px;color:var(--nx-ink-2);line-height:1.5}

/* package matrix */
.nx-pkg-matrix{display:grid;grid-template-columns:1.4fr repeat(3,1fr);border:1px solid var(--nx-ink);background:#fff;margin-top:18px}
.nx-pkg-matrix > div{padding:12px 14px;border-bottom:1px solid var(--nx-line-soft);border-right:1px solid var(--nx-line-soft);font-size:13.5px;display:flex;align-items:center;min-height:54px}
.nx-pkg-matrix > div:nth-child(4n){border-right:none}
.nx-pkg-matrix > div.head{background:#070b21;color:#fff;font:800 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:center}
.nx-pkg-matrix > div.head.popular{background:var(--nx-blue);position:relative}
.nx-pkg-matrix > div.head.popular::after{content:"★ POPULAR";position:absolute;top:-1px;right:-1px;background:var(--nx-green);color:#031807;padding:3px 6px;font-size:9px;letter-spacing:.04em}
.nx-pkg-matrix > div.col-label{background:#fafafa;font-weight:700;color:var(--nx-ink);justify-content:flex-start}
.nx-pkg-matrix input,.nx-pkg-matrix select{border:none;background:transparent;width:100%;font-size:13.5px;text-align:center;font-family:inherit;outline:none}
.nx-pkg-matrix input[type=checkbox]{appearance:none;width:18px;height:18px;border:1.5px solid var(--nx-ink);background:#fff;display:grid;place-items:center;cursor:pointer;margin:0 auto}
.nx-pkg-matrix input[type=checkbox]:checked{background:var(--nx-blue);border-color:var(--nx-blue)}
.nx-pkg-matrix input[type=checkbox]:checked::after{content:"✓";color:#fff;font-weight:900;font-size:11px}

/* gallery uploader */
.nx-uploader{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;
}
.nx-upload-tile{
  aspect-ratio:16/10;border:2px dashed var(--nx-line);display:grid;place-items:center;
  background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);
}
.nx-upload-tile:hover{border-color:var(--nx-blue);background:#fff;color:var(--nx-blue)}
.nx-upload-tile.filled{
  background:linear-gradient(135deg,var(--g1,#0754f8),var(--g2,#3b7bff));color:#fff;border-style:solid;border-color:transparent;
  position:relative;font-size:22px;font-family:var(--font-mono);letter-spacing:-.04em;font-weight:900;
}
.nx-upload-tile.filled::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:24px 24px;
}

/* wizard nav (next/back) */
.nx-wiz-nav{display:flex;justify-content:space-between;margin-top:24px;gap:14px}
.nx-wiz-nav button{
  height:54px;padding:0 24px;border:1px solid var(--nx-ink);background:#fff;color:var(--nx-ink);cursor:pointer;
  font:800 12px var(--font-sans);text-transform:uppercase;letter-spacing:.08em;
  display:inline-flex;align-items:center;gap:10px;
}
.nx-wiz-nav button.primary{background:var(--nx-ink);color:#fff}
.nx-wiz-nav button.primary:hover{background:var(--nx-blue);border-color:var(--nx-blue)}
.nx-wiz-nav button:disabled{opacity:.45;cursor:not-allowed}
.nx-wiz-nav button.publish{background:var(--nx-green);color:#031807;border-color:var(--nx-green)}
.nx-wiz-nav button.publish:hover{filter:brightness(1.04)}

/* live preview panel */
.nx-wiz-preview{position:sticky;top:170px;align-self:start}
.nx-wiz-preview h4{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--nx-muted);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.nx-wiz-preview h4::before{content:"";width:8px;height:8px;background:var(--nx-green);animation:nxPulse 1.8s ease infinite}
.nx-preview-card{
  border:1px solid var(--nx-line);background:#fff;overflow:hidden;
  box-shadow:0 18px 50px rgba(8,8,8,.06);
}
.nx-preview-cover{
  aspect-ratio:16/10;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--g1,#0754f8),var(--g2,#3b7bff));
  position:relative;color:#fff;font:900 64px var(--font-mono);letter-spacing:-.04em;
}
.nx-preview-cover::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:32px 32px;
}
.nx-preview-cover .gphtxt{position:relative;text-shadow:0 4px 30px rgba(0,0,0,.25)}
.nx-preview-body{padding:18px 20px}
.nx-preview-body .seller{display:flex;align-items:center;gap:10px;font-size:13px;margin-bottom:10px}
.nx-preview-body .seller .av{width:26px;height:26px;display:grid;place-items:center;background:var(--nx-ink);color:#fff;font:800 11px var(--font-mono)}
.nx-preview-body .ttl{font-size:15px;font-weight:700;line-height:1.4;min-height:42px}
.nx-preview-body .star{display:flex;align-items:center;gap:6px;color:#ffb800;font-weight:700;font-size:13px;margin-top:10px}
.nx-preview-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px dashed var(--nx-line)}
.nx-preview-foot .from{font:600 10px var(--font-mono);color:var(--nx-muted);text-transform:uppercase}
.nx-preview-foot .pr{font-weight:900;font-size:20px;letter-spacing:-.04em}

/* ============================================================
   PAYOUT page
   ============================================================ */
.nx-payout-shell{padding:48px 0 96px}
.nx-payout-hero{
  display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end;margin-bottom:32px;
}
.nx-payout-hero h1{font-size:clamp(40px,5vw,72px);letter-spacing:-.06em;line-height:.95;font-weight:800;margin:14px 0 0}
.nx-payout-hero p{color:var(--nx-muted);font-size:15px;line-height:1.5;margin:14px 0 0;max-width:560px}

.nx-payout-bal{
  padding:36px;background:var(--nx-ink);color:#fff;position:relative;overflow:hidden;
}
.nx-payout-bal::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(600px 400px at 80% 20%,rgba(7,84,248,.32),transparent 60%);
}
.nx-payout-bal::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:50px 50px;
}
.nx-payout-bal > *{position:relative;z-index:1}
.nx-payout-bal .k{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6);margin-bottom:8px}
.nx-payout-bal .v{font-size:64px;letter-spacing:-.06em;font-weight:900;line-height:1;color:#fff}
.nx-payout-bal .v small{font-size:24px;color:rgba(255,255,255,.6);margin-right:6px;font-weight:600}

.nx-payout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:8px}
.nx-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.nx-method-pick{
  padding:18px;border:1px solid var(--nx-line);background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.nx-method-pick:hover{border-color:var(--nx-ink);transform:translateY(-2px);box-shadow:0 14px 30px rgba(8,8,8,.06)}
.nx-method-pick.is-active{border-color:var(--nx-blue);box-shadow:0 0 0 3px rgba(7,84,248,.10)}
.nx-method-pick .nm{font-weight:800;font-size:15px;letter-spacing:-.02em}
.nx-method-pick .meta{font:600 11px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.06em}

.nx-payout-table{display:grid;border:1px solid var(--nx-line);background:#fff;margin-top:24px}
.nx-payout-table > div{display:grid;grid-template-columns:140px 1fr 140px 100px 110px;gap:16px;padding:16px 22px;align-items:center;font-size:14px;border-top:1px solid var(--nx-line-soft)}
.nx-payout-table > div:first-child{background:#fafafa;font:700 11px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);letter-spacing:.08em;border-top:none}

/* ============================================================
   ANALYTICS page (SVG charts)
   ============================================================ */
.nx-an-shell{padding:48px 0 96px}
.nx-an-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--nx-line);border:1px solid var(--nx-line);margin-bottom:24px}
.nx-an-kpi{padding:24px;background:#fff;position:relative;overflow:hidden}
.nx-an-kpi::before{content:"";position:absolute;inset:auto -30% -50% auto;width:200px;height:200px;background:radial-gradient(circle,rgba(7,84,248,.08),transparent 70%)}
.nx-an-kpi b{display:block;font-size:30px;letter-spacing:-.05em;font-weight:900;position:relative}
.nx-an-kpi .k{font:600 11px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);letter-spacing:.08em;position:relative}
.nx-an-kpi .delta{font:700 11px var(--font-mono);color:var(--nx-green);position:relative;margin-top:6px;display:inline-block}
.nx-an-kpi .delta.down{color:#b00020}

.nx-an-chart-row{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;margin-top:8px}
.nx-an-chart-row.equal{grid-template-columns:1fr 1fr}
.nx-chart-card{padding:28px;background:#fff;border:1px solid var(--nx-line)}
.nx-chart-card h3{font-size:20px;letter-spacing:-.03em;margin:0 0 4px;font-weight:800}
.nx-chart-card .ck{font:600 11px var(--font-mono);text-transform:uppercase;color:var(--nx-muted);letter-spacing:.08em;margin-bottom:18px;display:block}
.nx-chart-card svg{width:100%;display:block;overflow:visible}
.nx-chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font:600 12px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--nx-muted)}
.nx-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.nx-chart-legend span::before{content:"";width:10px;height:10px;background:currentColor}

.nx-funnel{display:grid;gap:10px;margin-top:14px}
.nx-funnel-step{display:grid;grid-template-columns:120px 1fr 80px;gap:14px;align-items:center}
.nx-funnel-step .lb{font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--nx-ink)}
.nx-funnel-step .bar{height:30px;position:relative;background:#f4f4f4}
.nx-funnel-step .bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--nx-blue),var(--nx-violet));transition:width 1s var(--ease-out)}
.nx-funnel-step .vl{font:800 14px var(--font-mono);letter-spacing:.04em;text-align:right}

/* ============================================================
   EDIT PROFILE
   ============================================================ */
.nx-ep-shell{padding:48px 0 96px}
.nx-ep-grid{display:grid;grid-template-columns:1fr 320px;gap:36px;margin-top:24px}
.nx-ep-pane{padding:30px;border:1px solid var(--nx-line);background:#fff;margin-bottom:18px}
.nx-ep-pane h3{font-size:20px;letter-spacing:-.03em;margin:0 0 4px;font-weight:800}
.nx-ep-pane .sublead{color:var(--nx-muted);font-size:14px;line-height:1.5;margin:0 0 18px}
.nx-ep-banner{
  aspect-ratio:5/1;border:2px dashed var(--nx-line);background:linear-gradient(135deg,rgba(7,84,248,.10),rgba(239,92,255,.10));
  display:grid;place-items:center;cursor:pointer;position:relative;overflow:hidden;
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--nx-muted);
}
.nx-ep-avwrap{position:relative;display:inline-flex;align-items:center;gap:18px;margin-top:-58px;padding-left:20px;z-index:1}
.nx-ep-avwrap .av{
  width:104px;height:104px;display:grid;place-items:center;border:4px solid #fff;
  background:linear-gradient(135deg,#7a5cff,#0754f8);color:#fff;
  font:900 36px var(--font-mono);letter-spacing:-.05em;
}
.nx-ep-avwrap button{
  height:36px;padding:0 14px;background:#fff;border:1px solid var(--nx-ink);
  font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;
}
.nx-link-account{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 16px;border:1px solid var(--nx-line-soft);margin-bottom:8px;align-items:center}
.nx-link-account .lk{font-weight:800;font-size:14px;letter-spacing:-.01em}
.nx-link-account .url{font:600 12px var(--font-mono);color:var(--nx-muted);text-transform:lowercase;letter-spacing:0}
.nx-link-account button{height:32px;padding:0 12px;background:#fff;border:1px solid var(--nx-ink);font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.nx-link-account.linked button{background:rgba(8,200,66,.14);color:#06882a;border-color:rgba(8,200,66,.4)}

/* score / level card */
.nx-score-card{
  padding:24px;background:linear-gradient(135deg,#070b21,#181f4d);color:#fff;position:relative;overflow:hidden;
}
.nx-score-card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(400px 300px at 80% 20%,rgba(7,84,248,.32),transparent 70%);
}
.nx-score-card > *{position:relative;z-index:1}
.nx-score-card .lk{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6);margin-bottom:6px}
.nx-score-card h3{color:#fff;font-size:24px;letter-spacing:-.03em;margin:0;font-weight:800}
.nx-score-card .lvl{display:inline-flex;align-items:center;gap:8px;margin:8px 0 18px;font:700 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nx-green)}
.nx-score-card .barx{height:8px;background:rgba(255,255,255,.12);position:relative;margin-bottom:6px}
.nx-score-card .barx i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--nx-green),#0754f8);width:0;transition:width 1.2s var(--ease-out)}
.nx-score-card .barx.in i{width:var(--w,80%)}
.nx-score-card .meta{font:600 11px var(--font-mono);color:rgba(255,255,255,.6);letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nx-auth-shell{grid-template-columns:1fr}
  .nx-auth-visual{display:none}
  .nx-acct-grid,.nx-prof-grid,.nx-doc-layout,.nx-contact-grid{grid-template-columns:1fr;gap:24px}
  .nx-acct-side,.nx-prof-side,.nx-doc-toc{position:relative;top:0}
  .nx-checkout-shell{grid-template-columns:1fr}
  .nx-co-right{padding:48px 24px}
  .nx-prof-top{grid-template-columns:auto 1fr;gap:24px}
  .nx-prof-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;margin-top:14px}
  .nx-prof-stats{grid-template-columns:repeat(3,1fr)}
  .nx-prof-stats div:nth-child(n+4){border-top:1px solid var(--nx-line);padding-top:14px}
  .nx-free-grid{grid-template-columns:repeat(2,1fr)}
  .nx-job{grid-template-columns:1fr auto;gap:8px}
  .nx-job .loc,.nx-job .type{display:none}
}
@media (max-width:720px){
  .nx-prof-top{grid-template-columns:1fr}
  .nx-prof-av{margin:0 auto}
  .nx-prof-stats{grid-template-columns:repeat(2,1fr)}
  .nx-pay-grid{grid-template-columns:1fr}
  .nx-free-grid,.nx-success-meta{grid-template-columns:1fr}
  .nx-acct-head{grid-template-columns:auto 1fr;gap:14px}
  .nx-co-left{padding:48px 24px}
  .nx-co-left h1{font-size:36px}
}
@media (max-width:1100px){
  .nx-wiz-grid,.nx-payout-hero,.nx-payout-grid,.nx-ep-grid,.nx-an-chart-row,.nx-an-chart-row.equal{grid-template-columns:1fr}
  .nx-wiz-progress{grid-template-columns:repeat(3,1fr)}
  .nx-wiz-step:nth-child(3n){border-right:none}
  .nx-wiz-step:nth-child(n+4){border-top:1px solid var(--nx-line)}
  .nx-wiz-preview{position:relative;top:0}
  .nx-an-grid{grid-template-columns:repeat(2,1fr)}
  .nx-pkg-matrix{font-size:12px}
  .nx-pkg-matrix > div{padding:10px 8px}
  .nx-payout-table > div{grid-template-columns:100px 1fr 90px;gap:8px;font-size:12.5px}
  .nx-payout-table > div .hide-md{display:none}
}
@media (max-width:1100px){
  .nx-mb-tiers{grid-template-columns:1fr}
  .nx-promoted-strip{grid-template-columns:auto 1fr;gap:14px}
  .nx-promoted-strip .cta{grid-column:1/-1;justify-content:center}
  .nx-list-grid{grid-template-columns:1fr}
  .nx-summary{position:relative;top:0}
  .nx-recent-row{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .nx-cart-row{grid-template-columns:80px 1fr;gap:14px}
  .nx-cart-row .qty,.nx-cart-row .price,.nx-cart-row .rm{grid-column:2;justify-self:start}
  .nx-cart-row .thumb{width:80px;height:60px}
}
@media (max-width:720px){
  .nx-wiz-progress{grid-template-columns:1fr 1fr;position:relative;top:0}
  .nx-wiz-step{border-right:none;border-bottom:1px solid var(--nx-line)}
  .nx-uploader{grid-template-columns:1fr 1fr}
  .nx-pkg-matrix{grid-template-columns:1fr;border:none}
  .nx-pkg-matrix > div{border:1px solid var(--nx-line);margin-bottom:-1px}
  .nx-an-grid{grid-template-columns:1fr}
  .nx-method-grid{grid-template-columns:1fr}
}


/* ============================================================
   HERO — Word-rotator + announcement pill
   ============================================================ */
.nx-hero-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;border:1px solid var(--nx-line);background:#fff;
  border-radius:999px;font:700 12px var(--font-mono);
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--nx-ink);text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  margin:0 auto 18px;
}
.nx-hero-pill:hover{
  transform:translateY(-1px);
  border-color:var(--nx-ink);
  box-shadow:0 6px 22px rgba(7,84,248,.10);
}
.nx-hero-pill .dot{
  width:8px;height:8px;border-radius:50%;background:var(--nx-green);
  box-shadow:0 0 0 4px rgba(8,200,66,.18);
  animation:nxPillPulse 1.6s ease-in-out infinite;
}
.nx-hero-pill .arrow{font-size:13px;color:var(--nx-muted);transition:transform .2s ease,color .2s ease}
.nx-hero-pill:hover .arrow{color:var(--nx-blue);transform:translateX(2px)}
@keyframes nxPillPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(8,200,66,.18)}
  50%   {box-shadow:0 0 0 6px rgba(8,200,66,.06)}
}

/* "Automate [rotating word]." must never wrap — the rotator + the
   leading word stay locked together on one line. The h1's responsive
   font-clamp already shrinks the line on small screens. */
.nx-h1-line{
  display:inline-block;
  white-space:nowrap;
}

/* Rotating word — slides each child word up + fades, one at a time.
   Pure CSS, no JS. 5 words × 2.6s each = 13s total cycle.
   Uses display:grid with all words stacked on the same cell so the
   container sizes to the WIDEST word — no layout shift, no clipping. */
.nx-rotator{
  display:inline-grid;
  grid-template-areas:'word';
  vertical-align:baseline;
  text-align:left;
  color:var(--nx-blue);
  line-height:1;
}
.nx-rotator > span{
  grid-area:word;
  opacity:0;transform:translateY(60%);
  animation:nxRotate 13s linear infinite;
  will-change:opacity, transform;
  white-space:nowrap;
}
.nx-rotator > span:nth-child(1){animation-delay: 0s   }
.nx-rotator > span:nth-child(2){animation-delay: 2.6s }
.nx-rotator > span:nth-child(3){animation-delay: 5.2s }
.nx-rotator > span:nth-child(4){animation-delay: 7.8s }
.nx-rotator > span:nth-child(5){animation-delay:10.4s }
@keyframes nxRotate{
  0%      { opacity:0; transform:translateY(60%); }
  3%, 17% { opacity:1; transform:translateY(0); }
  20%,100%{ opacity:0; transform:translateY(-60%); }
}
@media (prefers-reduced-motion: reduce){
  .nx-rotator > span{opacity:0;transform:none;animation:none}
  .nx-rotator > span:first-child{opacity:1}
}

/* ============================================================
   Messages — mobile navigation + composer-pinned layout
   ============================================================
   Desktop: show side list + thread + about panel side-by-side.
   ≤900px: stack vertically with the composer pinned to viewport
   bottom (so it never scrolls off-screen on long threads), and
   add a back-arrow to surface the conversations list on demand.
   ============================================================ */
.nx-msg-back{display:none}
@media (max-width:900px){
  /* Layout: thread becomes a column flex so composer can pin */
  .nx-msg-shell{height:calc(100vh - 60px);grid-template-columns:1fr !important}
  .nx-msg-side{display:none}
  .nx-msg-thread{min-height:0;display:flex;flex-direction:column}
  .nx-msg-stream{flex:1;min-height:0;overflow-y:auto}
  .nx-msg-compose{flex-shrink:0}
  .nx-msg-about{display:none}
  .nx-msg-back{display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1}
  .nx-msg-composer .hint{display:none}

  /* When the user taps the back arrow, slide the list back in */
  body.nx-msg-show-list .nx-msg-side{
    display:flex;position:fixed;inset:60px 0 0;z-index:90;background:#fff;
  }
  body.nx-msg-show-list .nx-msg-thread{display:none}
}

/* ============================================================
   Seller dashboard 2-col → stack early so right column doesn't
   strangle the perf cards on iPad landscape (1024).
   ============================================================ */
.nx-sd-cols{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;margin-top:8px}
@media (max-width:1180px){
  .nx-sd-cols{grid-template-columns:1fr;gap:24px}
}

/* ============================================================
   iPad portrait — checkout's 8 payment tabs become a tidy 4×2 grid
   instead of flex-wrap'ing into uneven rows.
   ============================================================ */
@media (max-width:900px){
  .nx-pay-tabs{display:grid !important;grid-template-columns:repeat(4,1fr);gap:6px}
  .nx-pay-tabs button{padding:0 6px !important;font-size:10.5px !important;min-width:0;height:38px;justify-content:center}
  .nx-pay-tabs .badge{display:none}
}

/* ============================================================
   RESPONSIVE OVERRIDES — iPad portrait (≤900px) + mobile (≤480px)
   ============================================================
   These rules sit at the very end of style-extra.css so they
   override the earlier breakpoints which mostly assumed 720px.
   Real iPads are 768px wide in portrait, so the earlier 720px
   breakpoint was too narrow and left iPad portrait stuck on
   the desktop layout (5-col footer, overlapping checkout, etc).
   ============================================================ */

/* ---- iPad portrait + small laptop ---- */
@media (max-width:900px){
  /* Header — tighten spacing so icons don't overflow */
  .nx-header{padding:0}
  .nx-logo-block{padding:0 14px;border-right:none;height:60px}
  .nx-header-tools{gap:6px}
  .nx-actions{padding:0 8px;gap:6px}
  .nx-actions .nx-link-btn,
  .nx-actions .nx-cta-ghost{display:none}
  /* Show the hamburger; hide the desktop nav by default */
  .nx-menu{display:flex !important}
  .nx-nav{display:none}
  .nx-nav.open{display:flex !important}
  /* Header icons were shrinking to 32px (leaked from the ≤1440 desktop tier) with tiny 16px glyphs.
     On the hamburger layout (phone + iPad portrait) there's ample room — make them tap-sized & legible. */
  .nx-header-tools{gap:8px !important}
  .nx-icon-btn{width:44px !important;height:44px !important;padding:0 !important;min-width:44px !important}
  .nx-icon-btn svg{width:24px !important;height:24px !important}
  .nx-icon-btn .badge{min-width:18px;height:18px;font-size:10px;top:0;right:0}
  #curBtn span{font-size:13px !important}

  /* Footer — 5 columns to 2 columns at tablet portrait */
  .nx-footer-grid{grid-template-columns:1fr 1fr !important;gap:32px;padding-bottom:40px}

  /* Hero on subpages — drop overlong typography */
  .nx-prof-stats{grid-template-columns:repeat(2,1fr) !important}

  /* Messages — 3-column collapse to vertical stack */
  .nx-msg-shell{grid-template-columns:1fr !important;height:auto}
  .nx-msg-side,.nx-msg-thread,.nx-msg-about{height:auto;max-height:none;border-right:none;border-bottom:1px solid var(--nx-line)}
  .nx-msg-about{display:none}  /* hide the "About seller" panel on tablet */

  /* Seller dashboard — single column on iPad portrait */
  .nx-sdh-bar{flex-direction:column;align-items:flex-start;gap:14px}
  /* The .4fr/.6fr two-column layout collapses */
  .nx-dash > .nx-container > div[style*="grid-template-columns:1.4fr"],
  .nx-dash > .nx-container > div[style*="grid-template-columns: 1.4fr"]{
    grid-template-columns:1fr !important;
  }

  /* Checkout — single column at iPad portrait */
  .nx-checkout-shell{grid-template-columns:1fr !important}
  .nx-co-right{padding:32px 20px}

  /* Cart / wishlist / orders tables — let them scroll horizontally */
  .nx-cart-row,.nx-orders > div{min-width:0}

  /* Service detail — make package picker single column */
  .nx-pkg-tabs{flex-wrap:wrap}
  .nx-pkg-wrap{position:static;margin-top:24px}

  /* My gigs / analytics — tables overflow scroll */
  .nx-gigs-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* Account / edit-profile — single column form */
  .nx-acct-grid,.nx-ep-grid{grid-template-columns:1fr !important}

  /* Hero search input — full width with shorter padding */
  .nx-hero-search input{padding:0 100px 0 44px;font-size:14.5px}
  .nx-hero-search > svg{left:14px}
  .nx-hero-search button{padding:0 14px;font-size:11px}
}

/* ---- True mobile (≤480px) ---- */
@media (max-width:480px){
  /* Modal full-width with safer padding */
  .nx-modal,.nxim{width:calc(100vw - 24px) !important;max-width:none;padding:18px}

  /* Checkout modal tab strip (5 wallet tabs) — wrap into 2 rows */
  .nxp-tabs{grid-template-columns:repeat(3,1fr) !important;gap:6px}
  .nxp-tabs button{font-size:10.5px !important;padding:0 4px !important;height:38px !important}

  /* Main checkout page tab strip (8 tabs) — wrap into 2 rows of 4 */
  .nx-pay-tabs{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:4px}
  .nx-pay-tabs button{padding:8px 4px !important;font-size:10.5px !important;min-width:0 !important;border-radius:0;height:auto}
  .nx-pay-tabs .badge{display:none}

  /* Hero — never let the H1 push horizontal scroll */
  .nx-hero h1{font-size:clamp(28px,9vw,46px);letter-spacing:-.04em;line-height:1.05}
  .nx-hero-pill{font-size:11px;padding:6px 12px}
  .nx-hero p{font-size:15px}

  /* V14 trend strip — text-only, even more compact on mobile, mega-menu disabled */
  .nx-trend-chip{font-size:12px;padding:10px 10px 8px}
  .nx-trend-chip .fire{font-size:11px}
  .nx-trend-track{padding:0;gap:0}
  .nx-trend-mega{display:none !important}
  .nx-trend-item.is-open .nx-trend-mega{display:none !important}

  /* Cards in featured strip — full width */
  .nx-role-card,.nx-cat-card,.nx-card{width:100%}
  .nx-role-scroll{grid-template-columns:1fr;gap:14px}

  /* Trust strip — slow scroll, smaller text */
  .nx-trust-cell{font-size:14px;padding:0 18px}

  /* Footer — single column at true mobile */
  .nx-footer-grid{grid-template-columns:1fr !important;gap:24px}
  .nx-footer-meta{flex-direction:column;align-items:flex-start;gap:14px}
  .nx-footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:12px}
  .nx-footer-bottom .links{flex-wrap:wrap;gap:12px}

  /* Newsletter input — full width inside footer */
  .nx-newsletter{flex-wrap:wrap}
  .nx-newsletter input{min-width:0;flex:1 1 100%}
  .nx-newsletter button{flex:1 1 100%}

  /* Action buttons — full width primary CTAs */
  .nx-cta,.nx-btn-outline,.nx-pay-cta{min-width:0}
  .nx-hero-actions{flex-direction:column;align-items:stretch}
  .nx-hero-actions .nx-cta,.nx-hero-actions .nx-btn-outline{width:100%;justify-content:center}

  /* Dashboards — 2x2 stat grid on mobile, not 4x1 */
  .nx-dash-stats{grid-template-columns:1fr 1fr !important}
  .nx-an-grid{grid-template-columns:1fr !important}

  /* Service page — buy CTA full width, packages stack */
  .nx-svc-grid,.nx-pkg-matrix{grid-template-columns:1fr !important}

  /* Container side padding */
  .nx-container,.nx-container-wide{width:calc(100% - 24px);padding:0}

  /* Search hero on /search */
  .nx-search-bar{flex-direction:column;align-items:stretch;gap:8px}
  .nx-search-bar input,.nx-search-bar button{width:100%}
}

/* ---- iPad landscape (901-1180px) — keep desktop but tighter ---- */
@media (min-width:901px) and (max-width:1180px){
  .nx-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
  .nx-footer-grid > div:nth-child(5){grid-column:1/-1;display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}
  .nx-footer-grid > div:nth-child(5) h4{flex:1 1 100%}
  .nx-footer-grid > div:nth-child(5) a{padding:6px 0}
}

/* ============================================================
   SELLER AVATAR — universal blue brand stroke + clean image fit
   Applied to every seller avatar so all headshots feel branded.
   Layered shadow trick: white ring (inner) + blue ring (outer)
   ============================================================ */
.nx-avatar,
.nx-seller-card .av,
.nx-service-seller-line .av,
.nx-ac-item .ico {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--nx-blue, #0754f8);
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  overflow: hidden;
}
/* Larger profile-page avatar — thicker stroke reads better at size */
.nx-seller-card .av {
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--nx-blue, #0754f8);
}
/* Gallery thumbs — visible click affordance */
.nx-gallery-thumb {
  cursor: pointer;
  transition: transform .15s, border-color .15s;
}

/* ============================================================
   PROMPT LIBRARY (free community directory — prompt-library.js)
   Used by /prompt-library.html, /prompts.html section,
   /free-resources.html widget, /index.html teaser strip.
   ============================================================ */

/* Style the "Open" anchor inside .nx-pl-card .actions to match buttons */
.nx-pl-card .actions a.copy{
  height:32px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:var(--nx-ink);border:1px solid var(--nx-line);cursor:pointer;
  font:700 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
}
.nx-pl-card .actions a.copy:hover{background:var(--nx-ink);color:#fff}

/* --- full-mode controls (search + category chips) --- */
.nx-pl-controls{
  display:flex;flex-direction:column;gap:14px;padding:24px 0 4px;
}
.nx-pl-search{position:relative;display:flex;align-items:center;gap:12px}
.nx-pl-search input{
  flex:1;height:52px;padding:0 18px;border:1px solid var(--nx-ink);background:#fff;
  font-size:15px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;
}
.nx-pl-search input:focus{border-color:var(--nx-blue);box-shadow:0 0 0 3px rgba(7,84,248,.12)}
.nx-pl-count{
  font:700 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--nx-muted);white-space:nowrap;
}
.nx-pl-cats{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.nx-pl-catn{
  display:inline-block;margin-left:6px;padding:1px 6px;background:rgba(0,0,0,.08);
  font:700 10px var(--font-mono);border-radius:2px;
}
.nx-tag-btn.is-active .nx-pl-catn{background:rgba(255,255,255,.22);color:#fff}
.nx-pl-credit{
  padding:24px 0 0;font-size:13px;color:var(--nx-muted);line-height:1.6;text-align:center;
  border-top:1px solid var(--nx-line);margin-top:24px;
}
.nx-pl-credit a{color:var(--nx-blue);text-decoration:underline}

/* --- widget mode footer (CTA strip below mini grid) --- */
.nx-pl-widget-foot{
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  padding:18px 22px;margin-top:18px;background:#fafafa;border:1px solid var(--nx-line);
}
.nx-pl-widget-foot span{
  font:600 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nx-muted);
}

/* --- teaser strip (homepage horizontal scroll) --- */
.nx-pl-teaser-strip{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;
  overflow-x:auto;padding:8px 4px 24px;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--nx-line) transparent;
}
.nx-pl-teaser-strip::-webkit-scrollbar{height:8px}
.nx-pl-teaser-strip::-webkit-scrollbar-thumb{background:var(--nx-line);border-radius:4px}
.nx-pl-teaser-card{
  background:#fff;border:1px solid var(--nx-line);padding:18px;
  display:flex;flex-direction:column;gap:8px;scroll-snap-align:start;min-height:200px;
  transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s;
}
.nx-pl-teaser-card:hover{transform:translateY(-3px);border-color:var(--nx-blue);box-shadow:0 16px 40px rgba(7,84,248,.08)}
.nx-pl-teaser-cat{
  display:inline-block;align-self:flex-start;font:800 9.5px var(--font-mono);
  letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;
  background:rgba(8,200,66,.14);color:#06882a;
}
.nx-pl-teaser-card h4{font-size:15px;letter-spacing:-.02em;font-weight:800;margin:0;line-height:1.3}
.nx-pl-teaser-card p{
  font-family:var(--font-mono);font-size:11.5px;line-height:1.5;color:var(--nx-muted);
  margin:0;flex:1;
}
.nx-pl-teaser-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:8px}
.nx-pl-teaser-foot button{
  height:28px;padding:0 10px;background:#fff;color:var(--nx-ink);border:1px solid var(--nx-line);
  font:700 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
}
.nx-pl-teaser-foot button:hover{background:var(--nx-ink);color:#fff}
.nx-pl-teaser-foot a{
  font:700 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--nx-blue);text-decoration:none;
}
.nx-pl-teaser-foot a:hover{text-decoration:underline}

/* --- Card image (uploaded screenshot/example on user-submitted prompts) --- */
.nx-pl-card-img{
  margin:-22px -22px 4px;  /* extend image flush to card edges, ignoring padding */
  aspect-ratio:16/10;
  overflow:hidden;
  background:linear-gradient(135deg,#0a0a14,#1b1b35);
}
.nx-pl-card-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s var(--ease-out);
}
.nx-pl-card.has-img:hover .nx-pl-card-img img{transform:scale(1.05)}

/* --- Overflow guards: long unbroken strings (ASCII dividers, JSON) were
   forcing cards wider than their grid track, hiding the right column's
   action buttons. min-width:0 lets grid items shrink; word-break wraps
   long tokens; nowrap+ellipsis keeps the "by" line tidy. --- */
.nx-pl-grid{min-width:0}
.nx-pl-grid > *{min-width:0}
.nx-pl-card{min-width:0;overflow:hidden}
.nx-pl-card h3{overflow-wrap:anywhere;word-break:break-word}
.nx-pl-card .by{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nx-pl-card .prompt{overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}
.nx-pl-card .foot{gap:8px;flex-wrap:wrap}
.nx-pl-card .actions{flex-wrap:wrap;justify-content:flex-end}
.nx-pl-teaser-card{min-width:0;overflow:hidden}
.nx-pl-teaser-card h4{overflow-wrap:anywhere;word-break:break-word}
.nx-pl-teaser-card p{overflow-wrap:anywhere;word-break:break-word}

/* Mobile tightening */
@media (max-width:720px){
  .nx-pl-search{flex-direction:column;align-items:stretch}
  .nx-pl-search input{width:100%}
  .nx-pl-count{text-align:left}
  .nx-pl-widget-foot{flex-direction:column;align-items:stretch;text-align:center}
  .nx-pl-teaser-strip{grid-auto-columns:minmax(220px,80%)}
}

/* ============================================================
   THE ATLAS (V2026.09) — frontier AI model directory
   Editorial / Bloomberg-terminal aesthetic. Mono-typography spine.
   ============================================================ */
.atlas-wrap{max-width:1280px;margin:0 auto;padding:0 32px;width:100%}

/* hero */
.atlas-hero{background:#fff;border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line);padding:96px 0 64px;position:relative}
.atlas-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0754f8 0%,#08c842 35%,#0754f8 70%,#070707 100%);background-size:200% 100%;animation:atlasShimmer 12s linear infinite}
@keyframes atlasShimmer{0%{background-position:0 0}100%{background-position:200% 0}}
.atlas-kicker{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(--font-mono);letter-spacing:.12em;color:var(--nx-muted);text-transform:uppercase;margin-bottom:28px;padding:8px 12px;border:1px solid var(--nx-line);background:#fafafa;border-radius:2px}
.atlas-dot{width:8px;height:8px;background:var(--nx-green);border-radius:50%;box-shadow:0 0 0 3px rgba(8,200,66,.18);animation:atlasPulse 2.2s ease-in-out infinite}
@keyframes atlasPulse{0%,100%{box-shadow:0 0 0 3px rgba(8,200,66,.12)}50%{box-shadow:0 0 0 6px rgba(8,200,66,.06)}}
.atlas-h1{font-size:clamp(40px,6vw,76px);font-weight:800;letter-spacing:-.045em;line-height:.97;margin:0 0 22px;color:var(--nx-ink)}
.atlas-h1 .atlas-em{color:var(--nx-blue)}
.atlas-lede{max-width:780px;font-size:clamp(16px,1.6vw,19px);line-height:1.62;color:var(--nx-muted);margin:0 0 44px}
.atlas-lede b{color:var(--nx-ink);font-weight:700}
.atlas-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--nx-line);border-left:1px solid var(--nx-line)}
.atlas-stat{padding:20px 22px;border-right:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line);background:#fff}
.atlas-stat-num{font:800 28px/1 var(--font-display, "Inter", sans-serif);letter-spacing:-.03em;color:var(--nx-ink);margin-bottom:8px}
.atlas-stat-lbl{font:600 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-muted)}

/* status strip */
.atlas-status-strip{background:#fafafa;border-bottom:1px solid var(--nx-line);padding:18px 0}
.atlas-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--nx-line);border:1px solid var(--nx-line)}
.atlas-status-cell{background:#fff;padding:11px 14px;display:flex;align-items:center;gap:10px}
.atlas-status-cell b{font:700 12px/1.2 var(--font-mono);color:var(--nx-ink);display:block;letter-spacing:.02em}
.atlas-status-cell small{font:500 10px/1.2 var(--font-mono);color:var(--nx-muted);display:block;margin-top:3px;letter-spacing:.02em}
.atlas-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.status-ok .atlas-status-dot{background:var(--nx-green);box-shadow:0 0 0 2px rgba(8,200,66,.18)}
.status-warn .atlas-status-dot{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.2)}
.status-down .atlas-status-dot{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.2)}

/* table section */
.atlas-table-section{padding:48px 0 64px;background:#fff;border-bottom:1px solid var(--nx-line)}
.atlas-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.atlas-filters{display:flex;flex-wrap:wrap;gap:8px}
.atlas-chip{font:700 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;background:#fff;border:1px solid var(--nx-line);color:var(--nx-muted);cursor:pointer;transition:all .18s ease;border-radius:2px;font-family:inherit}
.atlas-chip:hover{border-color:var(--nx-ink);color:var(--nx-ink)}
.atlas-chip.is-active{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.atlas-chip-count{display:inline-block;margin-left:6px;padding:1px 5px;background:rgba(255,255,255,.15);border-radius:2px;font-size:9px}
.atlas-chip:not(.is-active) .atlas-chip-count{background:#f0f0f0;color:var(--nx-muted)}
.atlas-sort{display:inline-flex;align-items:center;gap:8px;font:700 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nx-muted)}
.atlas-sort select{font:600 12px/1.2 var(--font-mono);padding:9px 30px 9px 12px;background:#fff;border:1px solid var(--nx-line);color:var(--nx-ink);cursor:pointer;border-radius:2px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23333' stroke-width='1.5' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.atlas-table-wrap{border:1px solid var(--nx-line);overflow:hidden;border-radius:2px}
.atlas-table{display:flex;flex-direction:column;background:#fff}
.atlas-row{display:grid;grid-template-columns:38px 1.6fr .7fr .7fr .7fr .7fr 1.6fr 30px;align-items:center;gap:14px;padding:0;border-bottom:1px solid var(--nx-line);font:500 13px/1.3 var(--font-mono);color:var(--nx-ink);transition:background .14s ease}
.atlas-row:last-child{border-bottom:none}
.atlas-row.atlas-head{background:#fafafa;font:700 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-muted);padding:13px 16px}
.atlas-model > summary{display:grid;grid-template-columns:38px 1.6fr .7fr .7fr .7fr .7fr 1.6fr 30px;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}
.atlas-model > summary::-webkit-details-marker{display:none}
.atlas-model:hover > summary{background:#fafafa}
.atlas-model[open] > summary{background:#f5f7ff;border-bottom:1px solid var(--nx-line)}
.atlas-row-compare input{width:16px;height:16px;cursor:pointer;accent-color:var(--nx-blue)}
.atlas-row-name b{font:700 14px/1.2 var(--font-mono);color:var(--nx-ink);letter-spacing:-.005em;display:block}
.atlas-row-name small{font:500 10px/1 var(--font-mono);letter-spacing:.04em;color:var(--nx-muted);display:block;margin-top:4px;text-transform:uppercase}
.atlas-row-ctx{font:700 13px/1 var(--font-mono);color:var(--nx-ink)}
.atlas-row-price{font:700 13px/1 var(--font-mono);color:var(--nx-ink)}
.atlas-row-price.is-cheap{color:var(--nx-green);background:rgba(8,200,66,.08);padding:4px 7px;border-radius:2px;display:inline-block;justify-self:start}
.atlas-row-cutoff{font:500 12px/1 var(--font-mono);color:var(--nx-muted);letter-spacing:.02em}
.atlas-row-caps{display:flex;flex-wrap:wrap;gap:4px}
.atlas-cap{font:700 9px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 6px;background:#f0f0f0;color:#555;border-radius:2px}
.atlas-cap.cap-reasoning{background:#f5f0ff;color:#6d28d9}
.atlas-cap.cap-vision{background:#fff0e6;color:#c2410c}
.atlas-cap.cap-audio{background:#e6f7ff;color:#0369a1}
.atlas-cap.cap-tools{background:#e6ffea;color:#15803d}
.atlas-cap.cap-code{background:#fff0f0;color:#b91c1c}
.atlas-row-expand{font:300 18px/1 var(--font-mono);color:var(--nx-muted);text-align:center;transition:transform .2s ease}
.atlas-model[open] .atlas-row-expand{transform:rotate(45deg);color:var(--nx-blue)}
.atlas-row-detail{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:22px 16px 26px;background:#fafafa;border-bottom:1px solid var(--nx-line);font:400 13px/1.55 var(--font-display, system-ui)}
.atlas-row-detail h4{font:700 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-muted);margin:0 0 10px}
.atlas-row-detail ul{margin:0;padding:0;list-style:none}
.atlas-row-detail li{padding-left:14px;position:relative;margin-bottom:6px;color:var(--nx-ink)}
.atlas-row-detail li::before{content:"›";position:absolute;left:0;color:var(--nx-blue);font-weight:800}
.atlas-row-detail p{margin:0 0 10px;color:var(--nx-ink)}
.atlas-row-detail a{color:var(--nx-blue);text-decoration:none;font-weight:600;border-bottom:1px solid var(--nx-blue)}
.atlas-disclaimer{margin-top:18px;font:500 11px/1.5 var(--font-mono);color:var(--nx-muted);letter-spacing:.02em}
.atlas-disclaimer a{color:var(--nx-blue);text-decoration:none;border-bottom:1px dotted var(--nx-blue)}

/* compare bar (sticky bottom) */
.atlas-compare{position:fixed;left:0;right:0;bottom:0;background:#070707;color:#fff;transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1);z-index:990;box-shadow:0 -8px 24px rgba(0,0,0,.18)}
.atlas-compare.is-open{transform:translateY(0)}
.atlas-compare-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 32px;max-width:1280px;margin:0 auto;flex-wrap:wrap}
.atlas-compare-list{display:flex;flex-wrap:wrap;gap:8px}
.atlas-compare-pill{display:inline-flex;align-items:center;gap:8px;background:#1a1a1a;border:1px solid #2a2a2a;padding:6px 8px 6px 12px;font:700 12px/1 var(--font-mono);letter-spacing:.02em;border-radius:2px}
.atlas-compare-pill button{background:#444;color:#fff;border:none;width:18px;height:18px;border-radius:2px;cursor:pointer;font:300 14px/1 var(--font-mono);display:flex;align-items:center;justify-content:center;padding:0}
.atlas-compare-pill button:hover{background:var(--nx-blue)}
.atlas-compare-actions{display:flex;gap:8px;align-items:center}
.atlas-btn-primary{background:var(--nx-blue);color:#fff;border:none;padding:11px 22px;font:800 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:2px;font-family:inherit;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease}
.atlas-btn-primary:hover{background:#003ad6}
.atlas-btn-primary span{background:rgba(255,255,255,.18);padding:2px 6px;border-radius:2px;font-size:10px}
.atlas-btn-ghost{background:transparent;color:#fff;border:1px solid #333;padding:11px 18px;font:700 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:2px;font-family:inherit;transition:border-color .15s ease}
.atlas-btn-ghost:hover{border-color:#fff}

/* compare modal */
.atlas-modal{position:fixed;inset:0;background:rgba(7,7,7,.85);z-index:9999;display:none;align-items:flex-start;justify-content:center;padding:48px 24px;overflow-y:auto;backdrop-filter:blur(4px)}
.atlas-modal.is-open{display:flex}
.atlas-modal-card{background:#fff;max-width:1200px;width:100%;border-radius:2px;padding:38px 38px 42px;position:relative}
.atlas-modal-close{position:absolute;top:14px;right:14px;background:none;border:1px solid var(--nx-line);width:38px;height:38px;font:300 24px/1 var(--font-mono);color:var(--nx-ink);cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center}
.atlas-modal-close:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.atlas-modal-card h3{font:800 28px/1 var(--font-display, system-ui);letter-spacing:-.025em;margin:0 0 22px;color:var(--nx-ink)}
.atlas-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.atlas-compare-col{border:1px solid var(--nx-line);padding:20px;border-radius:2px}
.atlas-compare-col h4{font:800 18px/1.1 var(--font-display, system-ui);margin:0;color:var(--nx-ink);letter-spacing:-.01em}
.atlas-compare-col > small{font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-muted);margin:6px 0 16px;display:block}
.atlas-compare-col dl{margin:0;display:grid;grid-template-columns:auto;gap:0}
.atlas-compare-col dt{font:700 10px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-muted);margin-top:12px}
.atlas-compare-col dd{margin:4px 0 0;font:500 13px/1.45 var(--font-display, system-ui);color:var(--nx-ink)}
.atlas-compare-col a{display:inline-block;margin-top:16px;font:700 11px/1 var(--font-mono);letter-spacing:.06em;color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue);padding-bottom:3px}

/* cost calculator */
.atlas-calc-section{padding:80px 0;background:#fafafa;border-bottom:1px solid var(--nx-line)}
.atlas-calc-head{max-width:760px;margin:0 0 38px}
.atlas-calc-head h2{font-size:clamp(32px,4.5vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:14px 0 14px;color:var(--nx-ink)}
.atlas-calc-head p{font-size:17px;line-height:1.6;color:var(--nx-muted);margin:0}
.atlas-calc{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:flex-start;background:#fff;border:1px solid var(--nx-line);padding:28px}
.atlas-calc-inputs label{display:block;margin-bottom:14px}
.atlas-calc-inputs label span{display:block;font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-muted);margin-bottom:6px}
.atlas-calc-inputs input{width:100%;padding:14px 14px;font:800 22px/1 var(--font-mono);letter-spacing:-.01em;background:#fafafa;border:1px solid var(--nx-line);color:var(--nx-ink);border-radius:2px}
.atlas-calc-inputs input:focus{outline:none;border-color:var(--nx-blue);background:#fff}
.atlas-calc-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:18px}
.atlas-calc-presets button{font:700 11px/1.35 var(--font-mono);letter-spacing:.04em;padding:10px 8px;background:#fafafa;border:1px solid var(--nx-line);color:var(--nx-ink);cursor:pointer;border-radius:2px;text-align:left}
.atlas-calc-presets button small{display:block;font:500 9px/1 var(--font-mono);color:var(--nx-muted);margin-top:3px;letter-spacing:.04em}
.atlas-calc-presets button:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.atlas-calc-presets button:hover small{color:rgba(255,255,255,.7)}
.atlas-calc-results{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow-y:auto;padding-right:8px}
.atlas-calc-row{padding:0;border:1px solid var(--nx-line);background:#fafafa;border-radius:2px}
.atlas-calc-row-head{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:12px 14px}
.atlas-calc-rank{font:800 14px/1 var(--font-mono);color:var(--nx-muted)}
.atlas-calc-name b{font:700 14px/1.2 var(--font-mono);color:var(--nx-ink);display:block;letter-spacing:-.005em}
.atlas-calc-name small{font:500 10px/1 var(--font-mono);letter-spacing:.04em;color:var(--nx-muted);text-transform:uppercase;display:block;margin-top:4px}
.atlas-calc-cost{font:800 18px/1 var(--font-mono);color:var(--nx-ink);letter-spacing:-.01em;text-align:right}
.atlas-calc-cost small{font:600 10px/1 var(--font-mono);color:var(--nx-muted);display:block;margin-top:4px}
.atlas-calc-bar{height:3px;background:#f0f0f0;overflow:hidden}
.atlas-calc-bar div{height:100%;background:linear-gradient(90deg,var(--nx-green) 0%,var(--nx-blue) 100%);transition:width .4s cubic-bezier(.2,.8,.2,1)}

/* faq */
.atlas-faq-section{padding:80px 0;background:#fff;border-bottom:1px solid var(--nx-line)}
.atlas-faq-grid{display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:flex-start}
.atlas-faq-grid h2{font-size:clamp(28px,3.5vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1;margin:14px 0 16px;color:var(--nx-ink)}
.atlas-faq-grid p{font-size:15px;line-height:1.6;color:var(--nx-muted)}
.atlas-faq-grid p a{color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue)}
.atlas-faqs details{border-bottom:1px solid var(--nx-line);padding:18px 0}
.atlas-faqs details:first-child{border-top:1px solid var(--nx-line)}
.atlas-faqs summary{font:700 16px/1.4 var(--font-display, system-ui);color:var(--nx-ink);letter-spacing:-.01em;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px}
.atlas-faqs summary::-webkit-details-marker{display:none}
.atlas-faqs summary::after{content:"+";font:300 22px/1 var(--font-mono);color:var(--nx-muted);transition:transform .2s ease;flex-shrink:0}
.atlas-faqs details[open] summary::after{content:"−";color:var(--nx-blue)}
.atlas-faqs details > div > div{padding:12px 0 4px;font:400 14px/1.6 var(--font-display, system-ui);color:var(--nx-muted);max-width:640px}
.atlas-faqs details a{color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue)}
.atlas-faqs code{font:600 12px/1 var(--font-mono);background:#fafafa;padding:2px 5px;border:1px solid var(--nx-line);border-radius:2px;color:var(--nx-ink)}

/* cta */
.atlas-cta-section{padding:64px 0;background:var(--nx-ink);color:#fff}
.atlas-cta-card{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center}
.atlas-cta-card h2{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1;margin:14px 0 14px}
.atlas-cta-card p{color:rgba(255,255,255,.7);font-size:16px;line-height:1.6;margin:0}
.atlas-cta-card p i{font-style:italic;color:#fff}
.atlas-cta-card .atlas-kicker{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.6)}
.atlas-btn-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--nx-blue);color:#fff;text-decoration:none;padding:22px 32px;font:800 14px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;transition:transform .18s ease,background .15s ease;text-align:center}
.atlas-btn-cta:hover{background:#003ad6;transform:translateX(4px)}

/* ============================================================
   THE CONSTELLATION PROTOCOL (V2026.09) — manifesto + spec
   ============================================================ */
.cnst-wrap{max-width:1240px;margin:0 auto;padding:0 32px;width:100%}

/* hero */
.cnst-hero{background:#fff;border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line);padding:104px 0 80px;position:relative;overflow:hidden}
.cnst-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0754f8 0%,#06f 50%,#0754f8 100%);background-size:200% 100%;animation:atlasShimmer 14s linear infinite}
.cnst-hero::after{content:"";position:absolute;right:-200px;top:-120px;width:560px;height:560px;background:radial-gradient(circle,rgba(7,84,248,.06) 0%,transparent 60%);pointer-events:none}
.cnst-kicker{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(--font-mono);letter-spacing:.12em;color:var(--nx-muted);text-transform:uppercase;margin-bottom:28px;padding:8px 12px;border:1px solid var(--nx-line);background:#fafafa;border-radius:2px}
.cnst-dot{width:8px;height:8px;background:var(--nx-blue);border-radius:50%;box-shadow:0 0 0 3px rgba(7,84,248,.16);animation:atlasPulse 2.2s ease-in-out infinite}
.cnst-h1{font-size:clamp(40px,6.5vw,86px);font-weight:800;letter-spacing:-.045em;line-height:.96;margin:0 0 28px;color:var(--nx-ink);max-width:1080px}
.cnst-h1 .cnst-em{color:var(--nx-blue)}
.cnst-lede{max-width:820px;font-size:clamp(16px,1.6vw,20px);line-height:1.6;color:var(--nx-muted);margin:0 0 36px}
.cnst-lede b{color:var(--nx-ink);font-weight:700}
.cnst-lede code{font:700 .9em var(--font-mono);background:#fafafa;padding:2px 7px;border:1px solid var(--nx-line);border-radius:2px;color:var(--nx-ink)}
.cnst-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.cnst-btn-primary{display:inline-flex;align-items:center;background:var(--nx-blue);color:#fff;text-decoration:none;padding:16px 28px;font:800 13px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;transition:background .15s ease}
.cnst-btn-primary:hover{background:#003ad6}
.cnst-btn-ghost{display:inline-flex;align-items:center;background:#fff;color:var(--nx-ink);text-decoration:none;padding:16px 28px;font:800 13px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;border:1px solid var(--nx-ink);transition:all .15s ease}
.cnst-btn-ghost:hover{background:var(--nx-ink);color:#fff}
.cnst-hero-meta{display:flex;flex-wrap:wrap;gap:14px;font:600 12px/1.5 var(--font-mono);color:var(--nx-muted);letter-spacing:.02em}
.cnst-hero-meta b{color:var(--nx-ink);font-weight:700}

/* sections */
.cnst-section{padding:80px 0;background:#fff;border-bottom:1px solid var(--nx-line)}
.cnst-section h2{font-size:clamp(32px,4.5vw,58px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:14px 0 22px;color:var(--nx-ink)}
.cnst-section .cnst-em{color:var(--nx-blue)}
.cnst-two{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:flex-start}
.cnst-prose{font:400 16px/1.7 var(--font-display, system-ui);color:var(--nx-muted)}
.cnst-prose p{margin:0 0 16px}
.cnst-prose b{color:var(--nx-ink);font-weight:700}
.cnst-prose-lede{max-width:820px;font-size:17px;line-height:1.6;color:var(--nx-muted);margin:0 0 32px}
.cnst-prose-lede b{color:var(--nx-ink);font-weight:700}

/* lock-in costs */
.cnst-tan{background:#fafafa;border-bottom:1px solid var(--nx-line)}
.cnst-grey{background:#f5f5f5;border-bottom:1px solid var(--nx-line)}
.cnst-cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--nx-line);border:1px solid var(--nx-line);margin-top:32px}
.cnst-cost-cell{background:#fff;padding:36px 28px}
.cnst-cost-cell-em{background:var(--nx-ink);color:#fff}
.cnst-cost-num{font:800 clamp(38px,5vw,62px)/.95 var(--font-display, system-ui);letter-spacing:-.04em;color:var(--nx-ink);margin-bottom:18px}
.cnst-cost-cell-em .cnst-cost-num{color:var(--nx-blue)}
.cnst-cost-lbl{font:500 14px/1.55 var(--font-display, system-ui);color:var(--nx-muted);max-width:280px}
.cnst-cost-cell-em .cnst-cost-lbl{color:rgba(255,255,255,.75)}

/* code block */
.cnst-code-wrap{border:1px solid var(--nx-line);background:#0d0d0d;color:#e6e6e6;border-radius:2px;overflow:hidden;margin-top:24px}
.cnst-code-head{display:flex;align-items:center;justify-content:space-between;background:#1a1a1a;padding:0;border-bottom:1px solid #2a2a2a}
.cnst-code-tab{display:inline-flex;padding:13px 22px;font:700 11px/1 var(--font-mono);letter-spacing:.06em;color:#888;text-transform:uppercase;border-right:1px solid #2a2a2a}
.cnst-code-tab.is-active{background:#0d0d0d;color:#fff;border-bottom:2px solid var(--nx-blue)}
.cnst-code-copy{margin-right:14px;font:700 11px/1 var(--font-mono);letter-spacing:.06em;color:#888;text-transform:uppercase;cursor:pointer;padding:6px 12px;border:1px solid #2a2a2a;border-radius:2px;transition:all .15s ease}
.cnst-code-copy:hover{background:var(--nx-blue);color:#fff;border-color:var(--nx-blue)}
.cnst-code{margin:0;padding:24px 28px;font:500 13px/1.65 var(--font-mono);color:#e6e6e6;letter-spacing:.005em;overflow-x:auto;white-space:pre}
.cnst-code .c-c{color:#666}
.cnst-code .c-k{color:#7eb9ff;font-weight:600}
.cnst-code .c-s{color:#a5e88c}

/* blue section · 6 guarantees */
.cnst-blue{background:#070707;color:#fff;border-color:#1a1a1a}
.cnst-blue::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--nx-blue) 0%,transparent 70%);margin-bottom:48px}
.cnst-h2-light{color:#fff;font-size:clamp(32px,4.5vw,58px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:14px 0 32px}
.cnst-promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#1a1a1a;border:1px solid #1a1a1a;margin-top:32px}
.cnst-promise{background:#070707;padding:32px 28px;transition:background .2s ease}
.cnst-promise:hover{background:#0d0d0d}
.cnst-promise-num{font:800 11px/1 var(--font-mono);letter-spacing:.1em;color:var(--nx-blue);margin-bottom:18px}
.cnst-promise h3{font:800 22px/1.15 var(--font-display, system-ui);letter-spacing:-.015em;margin:0 0 12px;color:#fff}
.cnst-promise p{font:400 14px/1.65 var(--font-display, system-ui);color:rgba(255,255,255,.7);margin:0}
.cnst-promise code{font:700 .88em var(--font-mono);background:#1a1a1a;padding:2px 6px;border-radius:2px;color:#a5e88c}

/* compatibility matrix */
.cnst-compat{border:1px solid var(--nx-line);background:#fff;margin-top:24px;overflow-x:auto}
.cnst-compat-head,.cnst-compat-row{display:grid;grid-template-columns:130px 2fr 80px 70px 70px 80px 110px 100px;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--nx-line);font:500 13px/1.3 var(--font-mono);color:var(--nx-ink)}
.cnst-compat-head{background:#fafafa;font:700 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-muted)}
.cnst-compat-row:last-child{border-bottom:none}
.cnst-compat-row b{font-weight:700;color:var(--nx-ink)}
.cnst-compat-row .y{color:var(--nx-green);font-weight:700;font-size:16px}
.cnst-compat-row .n{font-size:11px;color:var(--nx-muted);font-weight:700;letter-spacing:.04em}
.cnst-compat-row .g{color:#bbb;font-size:14px;font-weight:400}
.cnst-mini{margin-top:14px;font:500 12px/1.55 var(--font-mono);color:var(--nx-muted);letter-spacing:.02em}
.cnst-mini b{color:var(--nx-ink);font-weight:700}

/* procurement clauses */
.cnst-proc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--nx-line);border:1px solid var(--nx-line);margin-top:32px}
.cnst-proc{background:#fff;padding:28px 22px;display:flex;flex-direction:column;gap:12px}
.cnst-proc-letter{font:800 32px/1 var(--font-display, system-ui);letter-spacing:-.03em;color:var(--nx-blue);margin-bottom:4px}
.cnst-proc h3{font:800 16px/1.2 var(--font-display, system-ui);letter-spacing:-.005em;margin:0;color:var(--nx-ink)}
.cnst-proc p{font:400 13px/1.55 var(--font-display, system-ui);color:var(--nx-muted);margin:0}
.cnst-proc p i{font-style:italic;color:var(--nx-ink)}
.cnst-proc-foot{margin-top:24px;font:500 13px/1.6 var(--font-display, system-ui);color:var(--nx-muted)}
.cnst-proc-foot a{color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue)}

/* roadmap */
.cnst-roadmap{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-direction:column;gap:0}
.cnst-roadmap li{display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--nx-line)}
.cnst-roadmap li:last-child{border-bottom:none}
.cnst-rm-marker{font:800 22px/1 var(--font-mono);color:var(--nx-blue);letter-spacing:-.01em}
.cnst-roadmap h3{font:800 22px/1.2 var(--font-display, system-ui);letter-spacing:-.015em;margin:0 0 8px;color:var(--nx-ink);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cnst-rm-tag{font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;background:#fafafa;border:1px solid var(--nx-line);color:var(--nx-muted);border-radius:2px}
.cnst-rm-tag.cnst-rm-now{background:var(--nx-blue);color:#fff;border-color:var(--nx-blue)}
.cnst-roadmap p{font:400 15px/1.6 var(--font-display, system-ui);color:var(--nx-muted);margin:0}

/* faq · re-use atlas-faqs from above */
.cnst-faq-grid{display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:flex-start}
.cnst-faq-grid h2{font-size:clamp(28px,3.5vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1;margin:14px 0 16px;color:var(--nx-ink)}
.cnst-faq-grid p{font-size:15px;line-height:1.6;color:var(--nx-muted)}
.cnst-faq-grid p a{color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue)}

/* final cta */
.cnst-final{background:var(--nx-ink);color:#fff;padding:80px 0;border-bottom:none}
.cnst-final-card h2{color:#fff;font-size:clamp(32px,4.5vw,52px);margin-bottom:8px}
.cnst-final-card > div:first-child p{color:rgba(255,255,255,.7);font-size:16px;margin:0 0 36px}
.cnst-final-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #1a1a1a;border-left:1px solid #1a1a1a}
.cnst-final-link{display:block;text-decoration:none;color:#fff;padding:28px 26px 32px;border-right:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;transition:background .2s ease,border-color .2s ease;position:relative}
.cnst-final-link:hover{background:#0d0d0d;border-color:var(--nx-blue)}
.cnst-final-num{font:800 11px/1 var(--font-mono);letter-spacing:.1em;color:var(--nx-blue);margin-bottom:14px;display:block}
.cnst-final-link h3{font:800 22px/1.2 var(--font-display, system-ui);letter-spacing:-.015em;margin:0 0 10px;color:#fff}
.cnst-final-link p{font:400 14px/1.5 var(--font-display, system-ui);color:rgba(255,255,255,.65);margin:0}
.cnst-final-link p code{background:#1a1a1a;padding:1px 6px;border-radius:2px;color:#a5e88c;font-size:.9em}
.cnst-arrow{position:absolute;right:22px;bottom:24px;font:300 22px/1 var(--font-mono);color:rgba(255,255,255,.4);transition:color .2s ease,transform .2s ease}
.cnst-final-link:hover .cnst-arrow{color:var(--nx-blue);transform:translateX(6px)}

/* ============================================================
   HOMEPAGE NEUTRAL-LAYER TEASER (V2026.09)
   ============================================================ */
.nx-neutral{background:#fff;padding:88px 0;border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line);position:relative;overflow:hidden}
.nx-neutral::after{content:"";position:absolute;right:-220px;top:-160px;width:580px;height:580px;background:radial-gradient(circle,rgba(7,84,248,.045) 0%,transparent 60%);pointer-events:none}
.nx-neutral .nx-container{position:relative;z-index:2}
.nx-neutral-head{max-width:780px;margin:0 0 44px}
.nx-neutral-kicker{font:700 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nx-blue);margin-bottom:16px;display:inline-block}
.nx-neutral-head h2{font-size:clamp(36px,5.2vw,64px);font-weight:800;letter-spacing:-.045em;line-height:.98;margin:0 0 20px;color:var(--nx-ink)}
.nx-neutral-em{color:var(--nx-blue)}
.nx-neutral-head p{font-size:17px;line-height:1.6;color:var(--nx-muted);margin:0}
.nx-neutral-head p b{color:var(--nx-ink);font-weight:700}
.nx-neutral-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nx-neutral-card{display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--nx-ink);background:#fff;border:1px solid var(--nx-line);padding:36px 32px 30px;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;min-height:340px}
.nx-neutral-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--nx-blue);transform:scaleY(0);transform-origin:top;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nx-neutral-card:hover{transform:translateY(-6px);border-color:var(--nx-blue);box-shadow:0 26px 60px rgba(7,84,248,.10)}
.nx-neutral-card:hover::before{transform:scaleY(1)}
.nx-neutral-num{font:800 11px/1 var(--font-mono);letter-spacing:.1em;color:var(--nx-blue)}
.nx-neutral-card h3{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.025em;line-height:1.04;margin:18px 0 12px;color:var(--nx-ink)}
.nx-neutral-card p{font-size:15px;line-height:1.55;color:var(--nx-muted);margin:0 0 18px;max-width:420px}
.nx-neutral-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.nx-neutral-meta span{font:700 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;background:#fafafa;border:1px solid var(--nx-line);color:var(--nx-muted);border-radius:2px}
.nx-neutral-foot{display:flex;align-items:center;justify-content:space-between;font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-blue)}
.nx-neutral-foot span{transition:transform .25s ease}
.nx-neutral-card:hover .nx-neutral-foot span{transform:translateX(6px)}

/* ============================================================
   THE PULSE (V2026.12) — live AI radar page
   ============================================================ */
.pulse-wrap{max-width:1280px;margin:0 auto;padding:0 32px;width:100%}

/* hero */
.pulse-hero{background:linear-gradient(180deg,#0a0a0a 0%,#070707 100%);color:#fff;padding:96px 0 64px;position:relative;overflow:hidden;border-bottom:1px solid #1a1a1a}
.pulse-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0754f8 0%,#08c842 35%,#ff6b6b 70%,#0754f8 100%);background-size:200% 100%;animation:atlasShimmer 14s linear infinite}
.pulse-hero::after{content:"";position:absolute;right:-200px;top:-160px;width:560px;height:560px;background:radial-gradient(circle,rgba(7,84,248,.18) 0%,transparent 60%);pointer-events:none}
.pulse-kicker{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(--font-mono);letter-spacing:.12em;color:rgba(255,255,255,.6);text-transform:uppercase;margin-bottom:24px;padding:8px 12px;border:1px solid #1a1a1a;background:#0d0d0d;border-radius:2px;position:relative;z-index:2}
.pulse-kicker-blue{color:var(--nx-blue);border-color:rgba(7,84,248,.3);background:rgba(7,84,248,.06)}
.pulse-kicker-green{color:var(--nx-green);border-color:rgba(8,200,66,.3);background:rgba(8,200,66,.06)}
.pulse-kicker-light{color:rgba(255,255,255,.75);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.pulse-dot{width:8px;height:8px;background:#ff4d4d;border-radius:50%;box-shadow:0 0 0 3px rgba(255,77,77,.22);animation:atlasPulse 1.8s ease-in-out infinite}
.pulse-h1{position:relative;z-index:2;font-size:clamp(40px,6vw,76px);font-weight:800;letter-spacing:-.045em;line-height:.97;margin:0 0 22px;color:#fff}
.pulse-em{color:var(--nx-blue)}
.pulse-lede{position:relative;z-index:2;max-width:760px;font-size:clamp(16px,1.6vw,18px);line-height:1.6;color:rgba(255,255,255,.75);margin:0 0 36px}
.pulse-lede b{color:#fff;font-weight:700}
.pulse-lede i{color:#fff;font-style:italic}
.pulse-meta{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #1a1a1a;border-left:1px solid #1a1a1a;max-width:780px}
.pulse-meta-cell{padding:16px 18px;border-right:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;background:#0a0a0a}
.pulse-meta-num{font:800 22px/1 var(--font-display, system-ui);letter-spacing:-.025em;color:#fff;margin-bottom:8px}
.pulse-meta-lbl{font:600 9px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.pulse-refresh-btn{background:var(--nx-blue);color:#fff;border:none;cursor:pointer;padding:14px 14px;font:800 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;width:100%;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.pulse-refresh-btn span{display:inline-block;font:300 16px/1 var(--font-mono);transition:transform .3s ease}
.pulse-refresh-btn.is-spinning span{animation:nxpSpin 1s linear}
.pulse-refresh-btn:hover{background:#003ad6}

/* research-grounded section */
.pulse-research{background:#fff;padding:80px 0;border-bottom:1px solid var(--nx-line)}
.pulse-research h2{font-size:clamp(32px,4.5vw,56px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:14px 0 18px;color:var(--nx-ink)}
.pulse-prose{font:400 16px/1.65 var(--font-display, system-ui);color:var(--nx-muted);max-width:820px;margin:0 0 36px}
.pulse-prose b{color:var(--nx-ink);font-weight:700}
.pulse-research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--nx-line);border:1px solid var(--nx-line)}
.pulse-rcard{background:#fff;padding:26px 26px 22px;position:relative;transition:background .2s ease}
.pulse-rcard:hover{background:#fafafa}
.pulse-rcard-rank{font:800 11px/1 var(--font-mono);color:var(--nx-blue);letter-spacing:.08em;margin-bottom:10px}
.pulse-rcard h3{font:800 22px/1.18 var(--font-display, system-ui);letter-spacing:-.015em;margin:0 0 12px;color:var(--nx-ink)}
.pulse-rcard-why{font:400 14px/1.55 var(--font-display, system-ui);color:var(--nx-muted);margin:0 0 12px}
.pulse-rcard-tools,.pulse-rcard-signal{font:500 12px/1.5 var(--font-mono);color:var(--nx-muted);margin:0 0 6px;letter-spacing:.005em}
.pulse-rcard-tools b,.pulse-rcard-signal b{color:var(--nx-ink);font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.08em;margin-right:4px}
.pulse-rcard-link{display:inline-block;margin-top:14px;font:700 11px/1 var(--font-mono);letter-spacing:.06em;color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue);padding-bottom:3px}
.pulse-rcard-link:hover{color:#003ad6;border-color:#003ad6}

/* live feeds section */
.pulse-live{background:#fafafa;padding:80px 0;border-bottom:1px solid var(--nx-line)}
.pulse-live-head{max-width:820px;margin:0 0 36px}
.pulse-live-head h2{font-size:clamp(28px,3.5vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1;margin:14px 0 14px;color:var(--nx-ink)}
.pulse-live-head p{font:400 15px/1.6 var(--font-display, system-ui);color:var(--nx-muted);margin:0}
.pulse-feeds{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pulse-feed{background:#fff;border:1px solid var(--nx-line);border-radius:2px;overflow:hidden;display:flex;flex-direction:column}
.pulse-feed-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--nx-line);background:#fafafa}
.pulse-feed-head > div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pulse-source-mark{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.pulse-source-mark.gh{background:#0d0d0d}
.pulse-source-mark.hn{background:#ff6600}
.pulse-source-mark.rd{background:#ff4500}
.pulse-source-mark.sh{background:#0754f8}
.pulse-feed-head b{font:800 13px/1.1 var(--font-mono);color:var(--nx-ink);letter-spacing:-.005em}
.pulse-feed-head small{font:500 11px/1.2 var(--font-mono);color:var(--nx-muted);letter-spacing:.02em;margin-left:6px}
.pulse-feed-status{font:700 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:2px;background:#f0f0f0;color:var(--nx-muted)}
.pulse-feed-status.is-fetching{background:rgba(7,84,248,.1);color:var(--nx-blue)}
.pulse-feed-status.is-live{background:rgba(8,200,66,.14);color:#15803d}
.pulse-feed-status.is-fail{background:rgba(255,77,77,.14);color:#dc2626}
.pulse-feed-list{list-style:none;margin:0;padding:0;flex:1}
.pulse-feed-item{border-bottom:1px solid var(--nx-line)}
.pulse-feed-item:last-child{border-bottom:none}
.pulse-feed-link{display:grid;grid-template-columns:36px 1fr 20px;align-items:flex-start;gap:12px;padding:14px 18px;text-decoration:none;color:inherit;transition:background .15s ease}
.pulse-feed-link:hover{background:#fafafa}
.pulse-feed-rank{font:800 11px/1 var(--font-mono);color:var(--nx-muted);letter-spacing:.06em;padding-top:3px}
.pulse-feed-body{min-width:0}
.pulse-feed-body b{display:block;font:700 14px/1.4 var(--font-display, system-ui);color:var(--nx-ink);letter-spacing:-.005em;margin-bottom:4px;overflow-wrap:break-word}
.pulse-feed-desc{display:block;font:400 12px/1.5 var(--font-display, system-ui);color:var(--nx-muted);margin-bottom:6px;overflow-wrap:break-word}
.pulse-feed-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font:600 10px/1.2 var(--font-mono);color:var(--nx-muted);letter-spacing:.02em}
.pulse-feed-tag{display:inline-block;padding:2px 6px;background:#f0f0f0;font:700 9px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:2px;margin-left:auto}
.pulse-feed-arrow{font:300 16px/1 var(--font-mono);color:var(--nx-muted);padding-top:3px;transition:transform .18s ease,color .18s ease}
.pulse-feed-link:hover .pulse-feed-arrow{color:var(--nx-blue);transform:translateX(3px)}
.pulse-feed-empty{padding:20px;text-align:center;font:500 13px/1.5 var(--font-display, system-ui);color:var(--nx-muted)}
.pulse-feed-foot{padding:10px 18px;background:#fafafa;border-top:1px solid var(--nx-line);font:500 10px/1.4 var(--font-mono);color:var(--nx-muted);letter-spacing:.02em}
.pulse-feed-foot code{background:#fff;padding:2px 5px;border:1px solid var(--nx-line);border-radius:2px;color:var(--nx-ink)}

/* how-to section */
.pulse-howto{background:#fff;padding:80px 0;border-bottom:1px solid var(--nx-line)}
.pulse-howto h2{font-size:clamp(32px,4.5vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:14px 0 36px;color:var(--nx-ink)}
.pulse-howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--nx-line);border:1px solid var(--nx-line)}
.pulse-howto-tier{background:#fff;padding:30px 28px;display:flex;flex-direction:column;position:relative;transition:background .2s ease}
.pulse-howto-tier:hover{background:#fafafa}
.pulse-howto-recommended{background:#f5f7ff}
.pulse-howto-recommended:hover{background:#f0f4ff}
.pulse-tier-letter{font:800 14px/1 var(--font-mono);color:var(--nx-blue);letter-spacing:.05em;margin-bottom:6px}
.pulse-tier-time{font:600 11px/1 var(--font-mono);color:var(--nx-muted);letter-spacing:.04em;margin-bottom:14px}
.pulse-tier-badge{position:absolute;top:24px;right:24px;background:var(--nx-blue);color:#fff;font:800 9px/1 var(--font-mono);letter-spacing:.08em;padding:5px 8px;text-transform:uppercase;border-radius:2px}
.pulse-howto-tier h3{font:800 22px/1.2 var(--font-display, system-ui);letter-spacing:-.015em;margin:0 0 12px;color:var(--nx-ink)}
.pulse-howto-tier p{font:400 14px/1.55 var(--font-display, system-ui);color:var(--nx-muted);margin:0 0 14px}
.pulse-howto-tier ul{margin:0 0 20px;padding:0;list-style:none}
.pulse-howto-tier li{padding-left:14px;position:relative;font:500 13px/1.5 var(--font-display, system-ui);color:var(--nx-ink);margin-bottom:6px}
.pulse-howto-tier li::before{content:"›";position:absolute;left:0;color:var(--nx-blue);font-weight:800}
.pulse-howto-tier li b{font-weight:700}
.pulse-tier-link{margin-top:auto;font:700 12px/1 var(--font-mono);letter-spacing:.06em;color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue);padding-bottom:3px;align-self:flex-start;text-transform:uppercase}
.pulse-tier-link:hover{color:#003ad6;border-color:#003ad6}

/* trust section (dark) */
.pulse-trust{background:#070707;color:#fff;padding:80px 0;border-bottom:none}
.pulse-trust h2,.pulse-h2-light{font-size:clamp(32px,4.5vw,56px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:14px 0 36px;color:#fff}
.pulse-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#1a1a1a;border:1px solid #1a1a1a}
.pulse-trust-cell{background:#070707;padding:28px 26px;transition:background .2s ease}
.pulse-trust-cell:hover{background:#0d0d0d}
.pulse-trust-num{font:800 11px/1 var(--font-mono);color:var(--nx-blue);letter-spacing:.08em;margin-bottom:14px}
.pulse-trust-cell h3{font:800 18px/1.2 var(--font-display, system-ui);letter-spacing:-.005em;margin:0 0 10px;color:#fff}
.pulse-trust-cell p{font:400 13px/1.55 var(--font-display, system-ui);color:rgba(255,255,255,.65);margin:0}

/* faq */
.pulse-faq{background:#fafafa;padding:80px 0;border-bottom:1px solid var(--nx-line)}
.pulse-faq-grid{display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:flex-start}
.pulse-faq-grid h2{font-size:clamp(28px,3.5vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1;margin:14px 0 16px;color:var(--nx-ink)}

/* cta */
.pulse-cta{background:var(--nx-blue);color:#fff;padding:64px 0}
.pulse-cta-card{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center}
.pulse-cta-card h2{color:#fff;font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:0 0 12px}
.pulse-cta-card p{color:rgba(255,255,255,.85);font:500 15px/1.55 var(--font-display, system-ui);margin:0}
.pulse-cta-btn{background:#fff;color:var(--nx-blue);text-decoration:none;padding:22px 30px;font:800 13px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease}
.pulse-cta-btn:hover{transform:translateX(4px);background:#070707;color:#fff}

/* ============================================================
   ATLAS V2026.11 — modality row, status badges, auto-update, toast
   ============================================================ */
.atlas-modality-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--nx-line)}
.atlas-mod{font:700 12px/1 var(--font-mono);letter-spacing:.04em;padding:11px 16px;background:#fff;border:1px solid var(--nx-line);color:var(--nx-ink);cursor:pointer;transition:all .18s ease;border-radius:2px;font-family:inherit;display:inline-flex;align-items:center;gap:8px}
.atlas-mod:hover{border-color:var(--nx-ink)}
.atlas-mod.is-active{background:var(--nx-blue);color:#fff;border-color:var(--nx-blue)}
.atlas-mod span{display:inline-block;padding:2px 6px;background:rgba(0,0,0,.06);font:800 9px/1 var(--font-mono);border-radius:2px}
.atlas-mod.is-active span{background:rgba(255,255,255,.22)}

.atlas-st{display:inline-block;font:800 9px/1 var(--font-mono);letter-spacing:.06em;padding:3px 6px;border-radius:2px;text-transform:uppercase}
.atlas-st-ga{background:rgba(8,200,66,.16);color:#15803d}
.atlas-st-announced{background:rgba(7,84,248,.14);color:#0754f8}
.atlas-st-expected{background:rgba(245,158,11,.16);color:#b45309}
.atlas-row-status{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.atlas-eta{font:600 9px/1 var(--font-mono);color:var(--nx-muted);letter-spacing:.04em}
.atlas-star{color:var(--nx-blue);font-size:11px;margin-left:4px}
.atlas-row-unit{font:700 13px/1 var(--font-mono);color:var(--nx-ink)}

.atlas-model-announced{background:#fafbff}
.atlas-model-expected{background:#fffaf0}
.atlas-model.is-new > summary{animation:atlasNewFlash 3.5s ease-out}
@keyframes atlasNewFlash{0%{background:#0754f8;color:#fff}20%{background:#e6f7ff}100%{background:transparent}}

.atlas-fresh-tag{display:inline-block;font:700 10px/1 var(--font-mono);padding:3px 7px;border-radius:2px;letter-spacing:.06em;margin-left:8px;background:rgba(255,255,255,.5);color:var(--nx-muted)}
.atlas-fresh-tag.is-ok{background:rgba(8,200,66,.14);color:#15803d}
.atlas-fresh-tag.is-updated{background:rgba(7,84,248,.14);color:#0754f8}
.atlas-fresh-tag.is-warn{background:rgba(245,158,11,.14);color:#b45309}

.atlas-empty{padding:48px 24px;text-align:center;font:500 14px/1.5 var(--font-display, system-ui);color:var(--nx-muted)}

.atlas-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(20px);background:#070707;color:#fff;padding:14px 22px;font:700 12px/1.3 var(--font-mono);letter-spacing:.04em;border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.2,.8,.2,1);z-index:9100}
.atlas-toast::before{content:"●";color:var(--nx-green);margin-right:8px}
.atlas-toast.is-show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}

.atlas-update-section{padding:80px 0;background:#fafafa;border-bottom:1px solid var(--nx-line)}
.atlas-update-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:flex-start}
.atlas-update-grid h2{font-size:clamp(28px,3.8vw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin:14px 0 16px;color:var(--nx-ink)}
.atlas-update-grid p{font-size:15px;line-height:1.6;color:var(--nx-muted);margin:0 0 16px}
.atlas-update-grid p b{color:var(--nx-ink);font-weight:700}
.atlas-update-grid code{font:600 12px/1 var(--font-mono);background:#fff;padding:2px 6px;border:1px solid var(--nx-line);border-radius:2px;color:var(--nx-ink)}
.atlas-update-grid a{color:var(--nx-blue);text-decoration:none;border-bottom:1px solid var(--nx-blue)}
.atlas-update-meta{font:500 13px/1.7 var(--font-mono);color:var(--nx-muted);padding:14px 16px;background:#fff;border:1px solid var(--nx-line);border-radius:2px;margin-top:8px}
.atlas-update-card{background:#070707;color:#fff;border-radius:4px;overflow:hidden}
.atlas-update-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #1a1a1a;font:800 11px/1 var(--font-mono);letter-spacing:.1em}
.atlas-update-dot{width:8px;height:8px;background:var(--nx-blue);border-radius:50%;box-shadow:0 0 0 3px rgba(7,84,248,.22);animation:atlasPulse 2.2s ease-in-out infinite}
.atlas-update-log{list-style:none;margin:0;padding:8px 0;font:500 13px/1.5 var(--font-mono);color:rgba(255,255,255,.7)}
.atlas-update-log li{padding:10px 18px;border-bottom:1px solid #1a1a1a}
.atlas-update-log li:last-child{border-bottom:none}
.atlas-update-log span{display:inline-block;font:700 10px/1 var(--font-mono);letter-spacing:.06em;color:var(--nx-blue);margin-right:10px;text-transform:uppercase}

/* ============================================================
   HOMEPAGE PILOT ANNOUNCEMENT BAND (V2026.10)
   Editorial 2-column layout. Left: copy + CTA. Right: animated fake panel.
   ============================================================ */
.nx-pilot-band{background:linear-gradient(180deg,#070707 0%,#0d0d0d 100%);color:#fff;padding:96px 0;position:relative;overflow:hidden;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a}
.nx-pilot-band::before{content:"";position:absolute;left:-180px;top:-160px;width:560px;height:560px;background:radial-gradient(circle,rgba(7,84,248,.18) 0%,transparent 60%);pointer-events:none}
.nx-pilot-band::after{content:"";position:absolute;right:-200px;bottom:-160px;width:520px;height:520px;background:radial-gradient(circle,rgba(8,200,66,.10) 0%,transparent 60%);pointer-events:none}
.nx-pilot-band-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.nx-pilot-band-left h2{font-size:clamp(36px,5.2vw,64px);font-weight:800;letter-spacing:-.045em;line-height:.98;margin:18px 0 22px;color:#fff}
.nx-pilot-em{color:var(--nx-blue)}
.nx-pilot-band-kicker{font:700 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nx-blue);display:inline-block;margin-bottom:6px}
.nx-pilot-band-left p{font:400 17px/1.6 var(--font-display, system-ui);color:rgba(255,255,255,.7);margin:0 0 32px;max-width:560px}
.nx-pilot-band-left p i{color:#fff;font-style:normal;background:rgba(255,255,255,.06);padding:0 5px;border-radius:2px}
.nx-pilot-band-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nx-pilot-band-cta{display:inline-flex;align-items:center;gap:14px;background:var(--nx-blue);color:#fff;border:none;cursor:pointer;padding:16px 24px;font:800 13px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;font-family:inherit;transition:background .15s ease,transform .18s ease}
.nx-pilot-band-cta:hover{background:#003ad6;transform:translateY(-2px)}
.nx-pilot-band-kbd{background:rgba(255,255,255,.16);padding:5px 9px;font:800 11px/1 var(--font-mono);border-radius:2px}
.nx-pilot-band-mini{font:600 12px/1 var(--font-mono);color:rgba(255,255,255,.45);letter-spacing:.04em}

/* fake copilot card (right column) */
.nx-pilot-band-right{display:flex;justify-content:flex-end}
.nx-pilot-fake-card{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:8px;width:100%;max-width:480px;box-shadow:0 32px 80px rgba(0,0,0,.5),0 0 0 1px rgba(7,84,248,.15) inset;overflow:hidden}
.nx-pilot-fake-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #1a1a1a;background:#0d0d0d;font:700 11px/1 var(--font-mono);letter-spacing:.1em;color:#fff}
.nx-pilot-fake-head b{font-weight:800}
.nx-pilot-fake-head small{margin-left:auto;color:rgba(255,255,255,.5);font:600 10px/1 var(--font-mono)}
.nx-pilot-fake-dot{width:8px;height:8px;background:var(--nx-blue);border-radius:50%;box-shadow:0 0 0 3px rgba(7,84,248,.2);animation:nxpPulse 2.2s ease-in-out infinite}
.nx-pilot-fake-input{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #1a1a1a;font:500 14px/1.3 var(--font-mono);color:#fff}
.nx-pilot-fake-arrow{color:var(--nx-blue);font:800 18px/1 var(--font-mono)}
.nx-pilot-fake-typing{position:relative}
.nx-pilot-fake-caret{display:inline-block;width:8px;height:14px;background:var(--nx-blue);margin-left:2px;vertical-align:-2px;animation:nxpBlink 1s steps(2) infinite}
@keyframes nxpBlink{50%{opacity:0}}
.nx-pilot-fake-stream{padding:10px 0;display:flex;flex-direction:column;gap:0}
.nx-pilot-fake-step{display:flex;align-items:flex-start;gap:10px;padding:8px 16px;font:500 13px/1.4 var(--font-display, system-ui);color:rgba(255,255,255,.45)}
.nx-pilot-fake-step > span{font:600 13px/1.4 var(--font-mono);color:#444;width:18px;display:inline-block;text-align:center;flex-shrink:0}
.nx-pilot-fake-step.is-done{color:rgba(255,255,255,.55)}
.nx-pilot-fake-step.is-done > span{color:var(--nx-green)}
.nx-pilot-fake-step.is-running{background:#0d2153;color:#fff}
.nx-pilot-fake-step.is-running > span{color:var(--nx-blue);animation:nxpSpin 1.4s linear infinite;display:inline-block}
.nx-pilot-fake-step i{color:rgba(255,255,255,.7);font-style:italic;font-family:inherit}

/* ============================================================
   NEXORA PILOT (V2026.10) — agentic copilot UI
   Floating orb · ⌘K palette · action stream side panel
   ============================================================ */

/* floating orb */
.nxp-orb{position:fixed;right:24px;bottom:158px;z-index:9000;width:54px;height:54px;border-radius:50%;border:none;cursor:pointer;background:radial-gradient(circle at 30% 30%,#1a1a1a 0%,#070707 100%);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 36px rgba(7,7,7,.28),0 0 0 1px rgba(255,255,255,.06) inset;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease;font-family:inherit}
.nxp-orb:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 22px 50px rgba(7,84,248,.30),0 0 0 1px rgba(7,84,248,.4) inset}
.nxp-orb-ring{position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(from 0deg,var(--nx-blue) 0%,var(--nx-green) 30%,var(--nx-blue) 60%,transparent 70%,transparent 100%);filter:blur(6px);opacity:.55;animation:nxpSpin 6s linear infinite;pointer-events:none}
@keyframes nxpSpin{to{transform:rotate(360deg)}}
.nxp-orb svg{position:relative;z-index:2;color:#fff}
.nxp-orb-tip{position:absolute;right:64px;top:50%;transform:translateY(-50%) translateX(8px);background:#070707;color:#fff;font:700 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:8px 11px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease;border-radius:2px}
.nxp-orb:hover .nxp-orb-tip{opacity:1;transform:translateY(-50%) translateX(0)}

/* palette */
.nxp-palette{position:fixed;inset:0;z-index:9500;display:flex;align-items:flex-start;justify-content:center;padding:11vh 24px 24px;background:rgba(7,7,7,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .2s ease}
.nxp-palette.is-open{opacity:1;pointer-events:auto}
.nxp-pl-card{width:min(720px,100%);background:#fff;border:1px solid var(--nx-line);border-radius:6px;box-shadow:0 40px 80px rgba(7,7,7,.40),0 12px 24px rgba(7,7,7,.18);transform:translateY(-6px);transition:transform .2s ease;overflow:hidden}
.nxp-palette.is-open .nxp-pl-card{transform:translateY(0)}
.nxp-pl-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--nx-line);background:#fafafa}
.nxp-pl-brand{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(--font-mono);letter-spacing:.1em;color:var(--nx-ink)}
.nxp-pl-brand b{font-weight:800}
.nxp-pl-brand small{color:var(--nx-muted);font:600 10px/1 var(--font-mono);letter-spacing:.06em;margin-left:4px}
.nxp-pl-pulse{width:8px;height:8px;background:var(--nx-blue);border-radius:50%;box-shadow:0 0 0 3px rgba(7,84,248,.18);animation:nxpPulse 2.2s ease-in-out infinite}
@keyframes nxpPulse{0%,100%{box-shadow:0 0 0 3px rgba(7,84,248,.12)}50%{box-shadow:0 0 0 6px rgba(7,84,248,.05)}}
.nxp-pl-x{background:none;border:1px solid var(--nx-line);width:30px;height:30px;font:300 18px/1 var(--font-mono);color:var(--nx-muted);cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center}
.nxp-pl-x:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nxp-pl-input{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--nx-line);background:#fff}
.nxp-pl-arrow{font:800 22px/1 var(--font-mono);color:var(--nx-blue)}
.nxp-pl-input input{flex:1;border:none;outline:none;background:transparent;font:500 16px/1.3 var(--font-display, system-ui);color:var(--nx-ink);letter-spacing:-.005em;padding:6px 0}
.nxp-pl-input input::placeholder{color:var(--nx-muted)}
.nxp-pl-input input.is-err{animation:nxpShake .4s ease}
@keyframes nxpShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.nxp-pl-input kbd{font:700 11px/1 var(--font-mono);background:#fafafa;border:1px solid var(--nx-line);padding:4px 8px;border-radius:2px;color:var(--nx-muted);letter-spacing:.04em}
.nxp-pl-suggest{max-height:340px;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column}
.nxp-pl-chip{display:grid;grid-template-columns:36px 1fr 24px;align-items:center;gap:10px;padding:11px 20px;background:transparent;border:none;text-align:left;cursor:pointer;border-bottom:1px solid transparent;font-family:inherit}
.nxp-pl-chip:hover,.nxp-pl-chip:focus{background:#f5f7ff;outline:none}
.nxp-pl-chip-num{font:800 10px/1 var(--font-mono);color:var(--nx-blue);letter-spacing:.06em}
.nxp-pl-chip-lbl{font:500 13px/1.4 var(--font-display, system-ui);color:var(--nx-ink);letter-spacing:-.005em}
.nxp-pl-chip-go{font:700 11px/1 var(--font-mono);color:var(--nx-muted);text-align:right}
.nxp-pl-chip:hover .nxp-pl-chip-go{color:var(--nx-blue)}
.nxp-pl-empty{padding:20px;color:var(--nx-muted);font:500 13px/1.5 var(--font-display, system-ui);text-align:center}
.nxp-pl-empty kbd{font:700 11px/1 var(--font-mono);background:#fafafa;border:1px solid var(--nx-line);padding:3px 6px;border-radius:2px;color:var(--nx-ink)}
.nxp-pl-foot{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;background:#fafafa;border-top:1px solid var(--nx-line);font:600 10px/1 var(--font-mono);color:var(--nx-muted);letter-spacing:.04em}
.nxp-pl-foot kbd{font-family:inherit;background:#fff;border:1px solid var(--nx-line);padding:2px 5px;border-radius:2px;color:var(--nx-ink)}
.nxp-pl-mode{display:inline-flex;align-items:center;gap:6px;color:var(--nx-blue)}
.nxp-pl-mode::before{content:"";width:6px;height:6px;background:var(--nx-blue);border-radius:50%}

/* action stream (slides from right) */
.nxp-stream{position:fixed;top:24px;right:24px;bottom:24px;width:380px;max-width:calc(100vw - 48px);background:#0a0a0a;color:#fff;border-radius:6px;display:flex;flex-direction:column;z-index:9400;box-shadow:0 30px 80px rgba(7,7,7,.5),0 0 0 1px rgba(255,255,255,.06) inset;transform:translateX(calc(100% + 32px));transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.nxp-stream.is-open{transform:translateX(0)}
.nxp-stream-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #1a1a1a}
.nxp-stream-head > div:first-child{display:inline-flex;align-items:center;gap:10px;font:800 11px/1 var(--font-mono);letter-spacing:.1em}
.nxp-stream-actions{display:flex;gap:6px}
.nxp-stream-btn{background:#1a1a1a;border:1px solid #2a2a2a;color:#fff;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font:700 14px/1 var(--font-mono);border-radius:2px}
.nxp-stream-btn:hover{background:var(--nx-blue);border-color:var(--nx-blue)}
.nxp-stream-summary{padding:18px 20px 12px;font:600 14px/1.45 var(--font-display, system-ui);color:rgba(255,255,255,.85);border-bottom:1px solid #1a1a1a;letter-spacing:-.005em}
.nxp-stream-list{list-style:none;margin:0;padding:14px 12px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}
.nxp-step{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:10px;padding:8px 10px;border-radius:3px;font:500 13px/1.4 var(--font-display, system-ui);color:rgba(255,255,255,.7);transition:background .18s ease,color .18s ease}
.nxp-step-icon{font:600 14px/1.2 var(--font-mono);color:#444;text-align:center;width:22px;line-height:1.4}
.nxp-step-body b{font-weight:600;color:rgba(255,255,255,.7);font-family:inherit;display:block}
.nxp-step-body small{display:block;margin-top:3px;color:rgba(255,255,255,.4);font:400 11px/1.4 var(--font-mono)}
.nxp-step.is-running{background:#0d2153;color:#fff}
.nxp-step.is-running .nxp-step-icon{color:var(--nx-blue);animation:nxpSpin 1.4s linear infinite}
.nxp-step.is-running .nxp-step-body b{color:#fff}
.nxp-step.is-done{color:rgba(255,255,255,.55)}
.nxp-step.is-done .nxp-step-icon{color:var(--nx-green)}
.nxp-step.is-error{color:#ffd2d2;background:#2a0d0d}
.nxp-step.is-error .nxp-step-icon{color:#ff5454}
.nxp-step-err{color:#ff8080 !important;font-style:italic}
.nxp-stream-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #1a1a1a;font:500 11px/1.3 var(--font-mono);color:rgba(255,255,255,.45);letter-spacing:.02em}
.nxp-stream-share{background:#1a1a1a;border:1px solid #2a2a2a;color:#fff;cursor:pointer;padding:8px 12px;font:700 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;font-family:inherit}
.nxp-stream-share:hover{background:var(--nx-blue);border-color:var(--nx-blue)}

/* ============================================================
   NEXORA COMMUNITY (V2026.31) — premium Apple/glassmorphism UI
   ============================================================ */
.nxc-wrap{max-width:1320px;margin:0 auto;padding:0 32px;width:100%}
.nxc-hero{background:linear-gradient(180deg,#fff 0%,#f5f7fb 100%);padding:96px 0 56px;border-bottom:1px solid var(--nx-line);position:relative;overflow:hidden}
.nxc-hero::before{content:"";position:absolute;left:-220px;top:-180px;width:600px;height:600px;background:radial-gradient(circle,rgba(7,84,248,.07) 0%,transparent 60%);pointer-events:none}
.nxc-hero::after{content:"";position:absolute;right:-220px;top:-160px;width:520px;height:520px;background:radial-gradient(circle,rgba(107,33,168,.05) 0%,transparent 60%);pointer-events:none}
.nxc-hero > .nxc-wrap{position:relative;z-index:2}
.nxc-hero-kicker{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nx-muted);margin-bottom:22px;padding:8px 12px;border:1px solid var(--nx-line);background:#fff;border-radius:999px}
.nxc-dot{width:8px;height:8px;background:var(--nx-blue);border-radius:50%;box-shadow:0 0 0 3px rgba(7,84,248,.18);animation:nxcPulse 2.2s ease-in-out infinite}
@keyframes nxcPulse{0%,100%{box-shadow:0 0 0 3px rgba(7,84,248,.12)}50%{box-shadow:0 0 0 6px rgba(7,84,248,.05)}}
.nxc-h1{font-size:clamp(40px,5.5vw,72px);font-weight:800;letter-spacing:-.045em;line-height:.98;margin:0 0 22px;color:var(--nx-ink)}
.nxc-h1-em{color:var(--nx-blue)}
.nxc-lede{max-width:760px;font-size:17px;line-height:1.6;color:var(--nx-muted);margin:0 0 32px}
.nxc-lede b{color:var(--nx-ink);font-weight:700}
.nxc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.nxc-btn-primary{display:inline-flex;align-items:center;background:var(--nx-blue);color:#fff;text-decoration:none;padding:13px 22px;font:800 13px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:8px;border:none;cursor:pointer;font-family:inherit;transition:background .15s ease,transform .15s ease}
.nxc-btn-primary:hover{background:#003ad6;transform:translateY(-1px)}
.nxc-btn-ghost{display:inline-flex;align-items:center;background:#fff;color:var(--nx-ink);text-decoration:none;padding:13px 22px;font:800 13px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:8px;border:1px solid var(--nx-line);cursor:pointer;font-family:inherit;transition:all .15s ease}
.nxc-btn-ghost:hover{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nxc-hero-stats{display:flex;flex-wrap:wrap;gap:32px}
.nxc-hero-stats > div{display:flex;flex-direction:column;gap:4px}
.nxc-hero-stats b{font:800 24px/1 var(--font-display, system-ui);color:var(--nx-ink);letter-spacing:-.025em}
.nxc-hero-stats small{font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nx-muted)}
.nxc-cats{background:#fff;border-bottom:1px solid var(--nx-line);padding:14px 0;position:sticky;top:72px;z-index:50;backdrop-filter:blur(8px);background:rgba(255,255,255,.85)}
.nxc-cats-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.nxc-cats-row::-webkit-scrollbar{display:none}
.nxc-cat-chip{flex-shrink:0;font:700 12px/1 var(--font-sans);letter-spacing:-.005em;padding:9px 14px;background:#fafafa;border:1px solid var(--nx-line);color:var(--nx-ink);cursor:pointer;border-radius:999px;transition:all .15s ease;font-family:inherit;white-space:nowrap}
.nxc-cat-chip:hover{background:#fff;border-color:var(--nx-ink)}
.nxc-cat-chip.is-active{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nxc-feed-section{padding:36px 0 80px;background:#f5f7fb}
.nxc-feed-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:flex-start}
.nxc-feed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.nxc-sort-row{display:flex;gap:4px}
.nxc-sort{font:700 12px/1 var(--font-sans);letter-spacing:-.005em;padding:9px 13px;background:#fff;border:1px solid var(--nx-line);color:var(--nx-muted);cursor:pointer;border-radius:8px;font-family:inherit;transition:all .15s ease}
.nxc-sort:hover{color:var(--nx-ink);border-color:var(--nx-ink)}
.nxc-sort.is-active{background:var(--nx-ink);color:#fff;border-color:var(--nx-ink)}
.nxc-search{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:#fff;border:1px solid var(--nx-line);border-radius:8px;color:var(--nx-muted);min-width:280px}
.nxc-search input{flex:1;border:none;outline:none;background:transparent;font:500 13px var(--font-sans);color:var(--nx-ink)}
.nxc-feed-list{display:flex;flex-direction:column;gap:12px}
.nxc-post{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px;background:#fff;border:1px solid var(--nx-line);border-radius:12px;transition:all .2s ease}
.nxc-post:hover{border-color:var(--nx-blue);box-shadow:0 4px 16px rgba(7,84,248,.06);transform:translateY(-1px)}
.nxc-post-votes{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:6px}
.nxc-vote{font:700 16px/1 var(--font-mono);background:none;border:none;cursor:pointer;color:var(--nx-muted);padding:4px;border-radius:4px;transition:all .15s ease;font-family:inherit}
.nxc-vote:hover{color:var(--nx-blue);background:rgba(7,84,248,.08)}
.nxc-vote-count{font:800 16px/1 var(--font-mono);color:var(--nx-ink);letter-spacing:-.01em}
.nxc-post-body{min-width:0}
.nxc-post-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.nxc-pcat{font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:4px}
.nxc-ptype{font:600 11px/1 var(--font-mono);color:var(--nx-muted);letter-spacing:.04em}
.nxc-solved{font:800 10px/1 var(--font-mono);letter-spacing:.08em;color:#15803d;background:rgba(8,200,66,.16);padding:4px 8px;border-radius:4px;text-transform:uppercase}
.nxc-pmeta-spacer{flex:1}
.nxc-pmeta-time{font:600 11px/1 var(--font-mono);color:var(--nx-muted)}
.nxc-post-title{display:block;font:800 17px/1.35 var(--font-display, system-ui);color:var(--nx-ink);letter-spacing:-.015em;margin-bottom:6px;text-decoration:none}
.nxc-post-title:hover{color:var(--nx-blue)}
.nxc-post-snippet{font:400 14px/1.55 var(--font-display, system-ui);color:var(--nx-muted);margin:0 0 10px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nxc-post-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:500 12px/1 var(--font-mono);color:var(--nx-muted)}
.nxc-post-author b{color:var(--nx-ink);font-weight:700}
.nxc-tag{font:700 10px/1 var(--font-mono);background:#f0f5ff;color:var(--nx-blue);padding:3px 7px;border-radius:4px;letter-spacing:.02em}
.nxc-feed-empty{padding:80px 32px;text-align:center;background:#fff;border:1px solid var(--nx-line);border-radius:12px}
.nxc-empty-emoji{font-size:48px;margin-bottom:16px}
.nxc-feed-empty h3{font:800 22px/1.2 var(--font-display, system-ui);margin:0 0 6px;color:var(--nx-ink)}
.nxc-feed-empty p{margin:0 0 22px;color:var(--nx-muted);font:500 14px var(--font-display, system-ui)}
.nxc-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:140px}
.nxc-side-card{background:#fff;border:1px solid var(--nx-line);border-radius:12px;padding:18px 20px}
.nxc-side-card h4{font:800 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-ink);margin:0 0 14px}
.nxc-side-card h4 svg{width:14px;height:14px;color:var(--nx-blue);stroke:var(--nx-blue);fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;vertical-align:-2px;margin-right:4px}
.nxc-side-card h4{display:flex;align-items:center;gap:6px}
.nxc-side-card.nxc-side-rules ol{margin:0;padding-left:20px;font:500 13px/1.7 var(--font-display, system-ui);color:var(--nx-ink)}

/* CHAT panel */
.nxc-chat-card{padding:0;overflow:hidden}
.nxc-chat-card h4{padding:14px 18px 10px;margin:0;border-bottom:1px solid var(--nx-line);display:flex;align-items:center;gap:6px;font:800 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-ink)}
.nxc-online-dot{width:8px;height:8px;background:var(--nx-green);border-radius:50%;margin-left:auto;box-shadow:0 0 0 3px rgba(8,200,66,.2);animation:nxcPulse 2s ease-in-out infinite}
.nxc-online-count{font:800 11px var(--font-mono);color:var(--nx-green);text-transform:none;letter-spacing:0}
.nxc-chat-stream{padding:10px 14px;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.nxc-chat-stream::-webkit-scrollbar{width:6px}
.nxc-chat-stream::-webkit-scrollbar-thumb{background:#e5e5e5;border-radius:3px}
.nxc-chat-msg{display:grid;grid-template-columns:28px 1fr;gap:8px}
.nxc-chat-msg.is-mine .nxc-chat-body{background:#f0f5ff;border-color:rgba(7,84,248,.18)}
.nxc-chat-avatar{width:28px;height:28px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font:800 11px/1 var(--font-display, system-ui);background:linear-gradient(135deg,#7a5cff,#0754f8)}
.nxc-chat-body{background:#fafafa;border:1px solid var(--nx-line);border-radius:8px;padding:7px 10px;min-width:0}
.nxc-chat-meta{display:flex;align-items:center;gap:6px;font:600 10px/1 var(--font-mono);color:var(--nx-muted);margin-bottom:3px}
.nxc-chat-meta b{font-weight:800;color:var(--nx-ink);font:800 11px var(--font-display, system-ui)}
.nxc-chat-meta time{margin-left:auto;font:500 9px var(--font-mono)}
.nxc-chat-text{font:500 12.5px/1.45 var(--font-display, system-ui);color:var(--nx-ink);word-break:break-word}
.nxc-chat-form{display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--nx-line);background:#fafbfd}
.nxc-chat-form input{flex:1;padding:8px 12px;border:1px solid var(--nx-line);border-radius:6px;font:500 12.5px var(--font-display, system-ui);color:var(--nx-ink);background:#fff;outline:none}
.nxc-chat-form input:focus{border-color:var(--nx-blue);box-shadow:0 0 0 2px rgba(7,84,248,.12)}
.nxc-chat-form button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--nx-blue);border:none;color:#fff;border-radius:6px;cursor:pointer}
.nxc-chat-form button:hover{background:#003ad6}
.nxc-chat-form button svg{stroke:#fff;fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.nxc-side-link{display:inline-block;margin-top:10px;font:700 11px/1 var(--font-mono);letter-spacing:.06em;color:var(--nx-blue);text-decoration:none;text-transform:uppercase}
.nxc-top-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nxc-top-list li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--nx-line)}
.nxc-top-list li:last-child{border-bottom:none}
.nxc-top-rank{font:800 12px/1 var(--font-mono);color:var(--nx-blue);text-align:center}
.nxc-top-name b{font:700 13px/1.2 var(--font-display, system-ui);color:var(--nx-ink);display:block}
.nxc-top-name small{font:500 11px/1 var(--font-mono);color:var(--nx-muted)}
.nxc-top-rep{font:800 13px/1 var(--font-mono);color:var(--nx-ink)}
.nxc-top-rep em{font-style:normal;font:600 9px/1 var(--font-mono);color:var(--nx-muted);text-transform:uppercase;margin-left:2px}
.nxc-side-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.nxc-side-cats li a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;text-decoration:none;color:var(--nx-ink);font:600 12px var(--font-sans);transition:background .15s ease}
.nxc-side-cats li a:hover{background:#f5f7fb}
.nxc-sc-dot{width:8px;height:8px;border-radius:50%}
.nxc-side-cats li em{margin-left:auto;font-style:normal;font:700 11px var(--font-mono);color:var(--nx-muted)}
.nxc-badge-grid{display:flex;flex-direction:column;gap:6px}
.nxc-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:#f5f7fb;border-radius:6px;font:700 11px/1.2 var(--font-mono);color:var(--nx-ink);cursor:help}
.nxc-badge-dot{width:8px;height:8px;border-radius:50%}
.nxc-create-section{padding:64px 0 96px;background:#f5f7fb;min-height:80vh}
.nxc-create-wrap{max-width:820px}
.nxc-create-head{margin-bottom:32px}
.nxc-back{display:inline-block;font:700 11px/1 var(--font-mono);letter-spacing:.08em;color:var(--nx-muted);text-decoration:none;margin-bottom:14px;text-transform:uppercase}
.nxc-back:hover{color:var(--nx-ink)}
.nxc-create-head h1{font:800 36px/1 var(--font-display, system-ui);letter-spacing:-.035em;margin:0 0 8px;color:var(--nx-ink)}
.nxc-create-head p{font:500 15px var(--font-display, system-ui);color:var(--nx-muted);margin:0}
.nxc-form{background:#fff;border:1px solid var(--nx-line);border-radius:14px;padding:28px}
.nxc-form-row{display:block;margin-bottom:20px;border:none;padding:0}
.nxc-form-row legend{padding:0;font:800 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-ink);margin-bottom:12px}
.nxc-form-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font:800 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-ink);margin-bottom:8px}
.nxc-form-label em{font-style:normal;font:600 9px var(--font-mono);color:var(--nx-muted);text-transform:uppercase;letter-spacing:.06em}
.nxc-ai-chip{font:700 10px/1 var(--font-mono);letter-spacing:.06em;padding:5px 9px;background:linear-gradient(135deg,#0754f8,#7a5cff);color:#fff;border:none;cursor:pointer;border-radius:4px;font-family:inherit}
.nxc-ai-chip:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(7,84,248,.3)}
.nxc-form input,.nxc-form textarea,.nxc-form select{display:block;width:100%;padding:12px 14px;border:1px solid var(--nx-line);border-radius:8px;font:500 14px/1.5 var(--font-display, system-ui);color:var(--nx-ink);background:#fff;font-family:inherit}
.nxc-form input:focus,.nxc-form textarea:focus,.nxc-form select:focus{outline:none;border-color:var(--nx-blue);box-shadow:0 0 0 3px rgba(7,84,248,.12)}
.nxc-form-hint{display:block;margin-top:6px;font:500 11px var(--font-mono);color:var(--nx-muted)}
.nxc-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nxc-type-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px;border:1.5px solid var(--nx-line);background:#fafafa;border-radius:10px;cursor:pointer;transition:all .18s ease}
.nxc-type-card:hover{background:#fff;border-color:var(--nx-ink)}
.nxc-type-card.is-on{background:#fff;border-color:var(--nx-blue);box-shadow:0 0 0 3px rgba(7,84,248,.1)}
.nxc-type-card input{position:absolute;opacity:0;pointer-events:none}
.nxc-type-iconbox{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(7,84,248,.08);border-radius:10px;margin-bottom:6px;transition:all .18s ease}
.nxc-type-card.is-on .nxc-type-iconbox{background:rgba(7,84,248,.18);box-shadow:0 0 0 1px rgba(7,84,248,.25)}
.nxc-type-svg{color:var(--nx-blue);stroke:var(--nx-blue);fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.nxc-type-card.is-on .nxc-type-svg{stroke-width:2}
.nxc-ptype svg{width:14px;height:14px;color:var(--nx-blue);stroke:var(--nx-blue);fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;margin-right:5px;vertical-align:-3px;flex-shrink:0}
.nxc-ptype{display:inline-flex;align-items:center}
.nxc-type-emoji{font-size:22px;line-height:1}
.nxc-type-card b{font:700 13px/1.2 var(--font-display, system-ui);color:var(--nx-ink);letter-spacing:-.005em}
.nxc-type-card small{font:500 11px/1.3 var(--font-mono);color:var(--nx-muted)}
.nxc-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--nx-line)}
.nxc-dupe{margin:14px 0;padding:14px 16px;background:#fff8e6;border:1px solid #f5d472;border-radius:8px;font:500 13px var(--font-display, system-ui)}
.nxc-dupe b{color:#7c2d12;display:block;margin-bottom:6px}
.nxc-dupe ul{margin:0;padding-left:18px;color:#52270b}
.nxc-dupe a{color:#7c2d12;font-weight:700;text-decoration:underline}
.nxc-dupe em{color:#888;font-style:normal;font:600 11px var(--font-mono);margin-left:6px}
.nxc-post-page{padding:48px 0 96px;background:#f5f7fb;min-height:80vh}
.nxc-post-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:flex-start}
.nxc-loading{padding:48px;text-align:center;color:var(--nx-muted);font:500 14px var(--font-display, system-ui)}
.nxc-post-h1{font:800 32px/1.15 var(--font-display, system-ui);letter-spacing:-.025em;margin:6px 0 14px;color:var(--nx-ink)}
.nxc-post-author-row{display:flex;justify-content:space-between;gap:12px;font:600 12px var(--font-mono);color:var(--nx-muted);padding-bottom:18px;border-bottom:1px solid var(--nx-line);margin-bottom:22px;flex-wrap:wrap}
.nxc-post-author-row b{color:var(--nx-ink)}
.nxc-post-body-full{font:400 16px/1.7 var(--font-display, system-ui);color:var(--nx-ink);margin-bottom:22px;background:#fff;padding:24px;border:1px solid var(--nx-line);border-radius:12px}
.nxc-post-tags{margin-bottom:18px;display:flex;gap:6px;flex-wrap:wrap}
.nxc-post-actions{display:flex;gap:8px;align-items:center;margin-bottom:32px;flex-wrap:wrap}
.nxc-vote-big{font:700 12px/1 var(--font-mono);letter-spacing:.04em;padding:11px 16px;background:#fff;border:1px solid var(--nx-line);color:var(--nx-ink);cursor:pointer;border-radius:8px;font-family:inherit}
.nxc-vote-big:hover{background:var(--nx-blue);color:#fff;border-color:var(--nx-blue)}
.nxc-ai-solver{background:linear-gradient(135deg,#070707 0%,#1a1a2e 100%);color:#fff;border-radius:12px;padding:24px;margin-bottom:32px;position:relative;overflow:hidden}
.nxc-ai-solver::before{content:"";position:absolute;right:-100px;top:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(7,84,248,.3) 0%,transparent 60%);pointer-events:none}
.nxc-ai-solver header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;position:relative;z-index:2}
.nxc-ai-solver h3{font:800 18px/1.2 var(--font-display, system-ui);margin:0;color:#fff;letter-spacing:-.015em}
.nxc-ai-solver #askAI{background:var(--nx-blue);color:#fff;border-color:var(--nx-blue)}
.nxc-ai-solver #askAI:hover{background:#003ad6}
.nxc-ai-summary{position:relative;z-index:2;font:500 14px/1.6 var(--font-display, system-ui);color:rgba(255,255,255,.85);margin-bottom:14px}
.nxc-ai-steps{position:relative;z-index:2;font:500 13px/1.6 var(--font-display, system-ui);color:rgba(255,255,255,.75);padding-left:22px}
.nxc-ai-tools,.nxc-ai-similar{position:relative;z-index:2;margin-top:12px;font:500 13px/1.5 var(--font-mono);color:rgba(255,255,255,.7)}
.nxc-ai-similar a{color:#7a9eff;text-decoration:none}
.nxc-answers h3{font:800 18px/1 var(--font-display, system-ui);margin:0 0 16px;color:var(--nx-ink);letter-spacing:-.01em}
.nxc-answer{background:#fff;padding:22px;border:1px solid var(--nx-line);border-radius:12px;margin-bottom:12px;position:relative}
.nxc-answer.is-accepted{border-color:var(--nx-green);box-shadow:0 0 0 3px rgba(8,200,66,.1)}
.nxc-acc-pill{display:inline-block;font:800 10px/1 var(--font-mono);letter-spacing:.08em;color:#15803d;background:rgba(8,200,66,.16);padding:5px 10px;border-radius:4px;text-transform:uppercase;margin-bottom:10px}
.nxc-ans-body{font:400 15px/1.65 var(--font-display, system-ui);color:var(--nx-ink);margin-bottom:14px}
.nxc-ans-foot{display:flex;justify-content:space-between;gap:12px;font:600 12px var(--font-mono);color:var(--nx-muted);flex-wrap:wrap}
.nxc-ans-foot b{color:var(--nx-ink)}
.nxc-ans-votes{color:var(--nx-ink);font-weight:700}
.nxc-ans-form{margin-top:24px}
.nxc-ans-form textarea{width:100%;padding:14px;border:1px solid var(--nx-line);border-radius:10px;font:500 14px var(--font-display, system-ui);color:var(--nx-ink);background:#fff;resize:vertical;font-family:inherit}
.nxc-ans-form textarea:focus{outline:none;border-color:var(--nx-blue);box-shadow:0 0 0 3px rgba(7,84,248,.12)}
.nxc-asker{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}
.nxc-asker-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--nx-blue),#7a5cff);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 18px/1 var(--font-display, system-ui)}
.nxc-asker b{display:block;color:var(--nx-ink);font:700 14px/1.2 var(--font-display, system-ui)}
.nxc-asker small{color:var(--nx-muted);font:500 11px var(--font-mono)}
.nxc-more-list{list-style:none;margin:0;padding:0}
.nxc-more-list li{padding:6px 0;border-bottom:1px solid var(--nx-line)}
.nxc-more-list li:last-child{border-bottom:none}
.nxc-more-list li a{color:var(--nx-ink);text-decoration:none;font:500 13px/1.45 var(--font-display, system-ui)}
.nxc-more-list li a:hover{color:var(--nx-blue)}
.nxc-leader-section{padding:32px 0 96px;background:#f5f7fb}
.nxc-leader-card{background:#fff;border:1px solid var(--nx-line);border-radius:12px;overflow:hidden}
.nxc-leader-tbl{width:100%;border-collapse:collapse;font:500 14px var(--font-display, system-ui)}
.nxc-leader-tbl th{font:800 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nx-muted);padding:14px 18px;background:#fafbfd;border-bottom:1px solid var(--nx-line);text-align:left}
.nxc-leader-tbl td{padding:14px 18px;border-bottom:1px solid var(--nx-line);vertical-align:middle}
.nxc-leader-tbl tr.is-podium{background:linear-gradient(90deg,rgba(245,158,11,.04) 0%,transparent 100%)}
.nxc-leader-name{display:flex;align-items:center;gap:10px}
.nxc-leader-name b{display:block;color:var(--nx-ink);font:700 14px/1.2 var(--font-display, system-ui)}
.nxc-leader-name small{color:var(--nx-muted);font:500 11px var(--font-mono)}
@media (max-width:920px){
  .nxc-feed-grid,.nxc-post-grid{grid-template-columns:1fr}
  .nxc-side{position:static}
}
@media (max-width:560px){
  .nxc-hero{padding:64px 0 36px}
  .nxc-hero-stats{gap:18px}
  .nxc-hero-stats b{font-size:18px}
  .nxc-feed-toolbar{flex-direction:column;align-items:stretch}
  .nxc-search{min-width:0}
  .nxc-post{grid-template-columns:42px 1fr;padding:14px;gap:10px}
  .nxc-post-h1{font-size:24px}
  .nxc-type-grid{grid-template-columns:1fr}
}

/* ============================================================
   HERO HEADLINE — entrance stagger + ambient shimmer (V2026.24)
   World-class motion. Apple WWDC feel.
   ============================================================ */
.nx-h1-anim .nx-h1-word{
  display:inline-block;margin-right:.18em;
  opacity:0;transform:translateY(14px);
  animation:nxH1Word .85s cubic-bezier(.16,.84,.32,1) forwards;
}
.nx-h1-anim .nx-h1-word:nth-child(1){animation-delay:.05s}
.nx-h1-anim .nx-h1-word:nth-child(2){animation-delay:.13s}
.nx-h1-anim .nx-h1-word:nth-child(3){animation-delay:.21s}
.nx-h1-anim .nx-h1-word:nth-child(4){animation-delay:.29s}
@keyframes nxH1Word{
  from{opacity:0;transform:translateY(14px)}
  to  {opacity:1;transform:translateY(0)}
}
.nx-h1-anim .nx-h1-blue{
  display:inline-block;opacity:0;transform:translateY(18px);
  animation:nxH1Blue 1s cubic-bezier(.16,.84,.32,1) .42s forwards;
}
@keyframes nxH1Blue{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to  {opacity:1;transform:translateY(0)     scale(1)}
}
/* Ambient gradient shimmer across the blue line — runs forever after entrance */
.nx-h1-shimmer{
  background:linear-gradient(110deg,#0754f8 0%,#4178ff 38%,#a9c2ff 48%,#4178ff 58%,#0754f8 100%);
  background-size:240% 100%;background-position:200% 0;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:nxH1Shimmer 7s ease-in-out infinite;
  animation-delay:1.6s;
}
@keyframes nxH1Shimmer{
  0%,18%   {background-position:200% 0}
  50%      {background-position:-40% 0}
  82%,100% {background-position:-180% 0}
}
@media (prefers-reduced-motion: reduce){
  .nx-h1-anim .nx-h1-word,.nx-h1-anim .nx-h1-blue{animation:none;opacity:1;transform:none}
  .nx-h1-shimmer{animation:none;background:none;-webkit-text-fill-color:var(--nx-blue);color:var(--nx-blue)}
}

/* ============================================================
   V42 — HERO ANIMATION REMOVED
   The V40 Apple-signature motion (specular sweep, breathing scale,
   glow pulse, mouse-parallax) and the entrance word-stagger + shimmer
   have all been removed per request. The hero is now static and solid:
   black headline + solid-blue second line, fully visible on load.
   ============================================================ */
#nxHeroH1,
#nxHeroH1 .nx-h1-line,
#nxHeroH1 .nx-h1-blue{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
}
#nxHeroH1 .nx-h1-blue{
  display:block;
  background:none !important;
  -webkit-text-fill-color:var(--nx-blue) !important;
  color:var(--nx-blue) !important;
}

/* V2026.27 — Blue line rotator (cycles through different endings, same flip motion as Hire pill) */
.nx-h1-blue-stage{
  display:grid;grid-template-areas:"stack";
  text-align:center;position:relative;
}
.nx-h1-blue-stage > .nx-h1-blue-item{
  grid-area:stack;
  opacity:0;transform:translateY(20px);
  transition:opacity .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.nx-h1-blue-stage > .nx-h1-blue-item.is-on{
  opacity:1;transform:translateY(0);
  pointer-events:auto;
}
.nx-h1-blue-stage > .nx-h1-blue-item.is-out{
  opacity:0;transform:translateY(-20px);
  transition-duration:.42s;
}
@media (prefers-reduced-motion: reduce){
  .nx-h1-blue-stage > .nx-h1-blue-item{transition:none}
}

/* ============================================================
   SEARCH FAKE-PLACEHOLDER (V2026.24) — rotating suggestions
   Overlays the real input; hides on focus or when input has value.
   ============================================================ */
.nx-hero-search-anim{position:relative}
.nx-hero-search-anim .nx-ph-fake{
  position:absolute;left:54px;right:200px;top:50%;transform:translateY(-50%);
  height:24px;pointer-events:none;overflow:hidden;
  transition:opacity .2s ease;
}
.nx-hero-search-anim:focus-within .nx-ph-fake,
.nx-hero-search-anim.is-typed .nx-ph-fake{opacity:0}
.nx-ph-item{
  position:absolute;inset:0;
  display:flex;align-items:center;
  font:400 15px/1 var(--font-display,-apple-system,system-ui,sans-serif);
  letter-spacing:-.005em;color:#9aa3b2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transform:translateY(10px);
  transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1);
}
.nx-ph-item.is-on{opacity:1;transform:translateY(0)}
.nx-ph-item.is-out{opacity:0;transform:translateY(-10px);transition-duration:.34s}
/* Search itself slides up after the headline */
.nx-hero-search-anim{
  opacity:0;transform:translateY(12px);
  animation:nxSearchEnter .9s cubic-bezier(.16,.84,.32,1) .82s forwards;
}
@keyframes nxSearchEnter{
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  .nx-hero-search-anim{animation:none;opacity:1;transform:none}
  .nx-ph-item{transition:none}
}
@media (max-width:768px){
  .nx-hero-search-anim .nx-ph-fake{left:46px;right:130px}
  .nx-ph-item{font-size:13px}
}
@media (max-width:480px){
  .nx-hero-search-anim .nx-ph-fake{right:60px}
}

/* ============================================================
   HERO ROTATOR (V2026.23) — animated "Hire a …" tagline
   Smooth crossfade + slide-up between messages.
   ============================================================ */
.nx-hero-rotator{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  margin:24px auto 6px;
  padding:9px 18px 9px 14px;
  background:#fff;border:1px solid var(--nx-line);
  border-radius:999px;
  box-shadow:0 1px 0 rgba(7,7,7,.04),0 6px 14px rgba(7,7,7,.03);
  font-family:var(--font-display,-apple-system,system-ui,sans-serif);
  position:relative;overflow:hidden;
  min-height:42px;
}
.nx-hero-rotator::before{
  /* subtle gradient pulse — gives the pill a "live" feel */
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(90deg,rgba(7,84,248,.0) 0%,rgba(7,84,248,.06) 50%,rgba(7,84,248,.0) 100%);
  background-size:200% 100%;
  animation:nxRotShimmer 6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes nxRotShimmer{
  0%,100%{background-position:200% 0;opacity:0}
  50%{background-position:0 0;opacity:1}
}
.nx-rot-arrow{
  flex-shrink:0;font:800 16px/1 ui-monospace,Menlo,Consolas,monospace;
  color:var(--nx-blue);position:relative;z-index:2;
  animation:nxRotArrowBob 2s ease-in-out infinite;
}
@keyframes nxRotArrowBob{
  0%,100%{transform:translateY(0) rotate(-8deg)}
  50%{transform:translateY(-2px) rotate(0deg)}
}
.nx-rot-stage{
  position:relative;display:inline-block;min-width:300px;height:22px;
  text-align:left;z-index:2;
}
.nx-rot-item{
  position:absolute;left:0;top:0;white-space:nowrap;
  font:700 15px/22px var(--font-display,-apple-system,system-ui,sans-serif);
  letter-spacing:-.012em;color:var(--nx-ink);
  opacity:0;transform:translateY(8px);
  transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.nx-rot-item.is-on{opacity:1;transform:translateY(0)}
.nx-rot-item.is-out{opacity:0;transform:translateY(-8px);transition-duration:.36s}

/* small viewport adjustments */
@media (max-width:640px){
  .nx-hero-rotator{margin-top:18px;padding:7px 14px 7px 12px;gap:10px}
  .nx-rot-stage{min-width:220px;height:20px}
  .nx-rot-item{font-size:13.5px;line-height:20px}
  .nx-rot-arrow{font-size:14px}
}
@media (max-width:380px){
  .nx-rot-stage{min-width:180px}
  .nx-rot-item{font-size:12.5px}
}

/* ============================================================
   MOBILE PERFECTION LAYER (V2026.07) — only ≤768px
   Goal: world-class mobile UX. ZERO impact on desktop (all rules
   wrapped in media query). Touch targets, single-column grids,
   tighter typography, safe-area handling, sticky bottom nav.
   ============================================================ */
@media (max-width: 768px) {
  /* --- iOS prevents zoom-on-focus only when font-size >= 16px --- */
  html { -webkit-text-size-adjust: 100%; }
  input, textarea, select { font-size: 16px !important; }

  /* --- TYPOGRAPHY — softer scale, never over-large --- */
  body { font-size: 15px; line-height: 1.55; }
  h1 { font-size: clamp(28px, 8vw, 42px) !important; line-height: 1.1 !important; letter-spacing: -0.04em !important; }
  h2 { font-size: clamp(22px, 6.5vw, 32px) !important; line-height: 1.15 !important; }
  h3 { font-size: 18px !important; line-height: 1.25 !important; }
  .nx-hero h1, .nxa-h1, .nxs-hero h1 { font-size: clamp(32px, 10vw, 48px) !important; }

  /* --- SECTION padding — tighter, more breathable --- */
  section { padding-top: 44px !important; padding-bottom: 44px !important; }
  .nx-section, .nxa-section, .nxs-section { padding-top: 48px !important; padding-bottom: 48px !important; }
  .nx-container, .nxa-container { padding-left: 18px !important; padding-right: 18px !important; }

  /* --- TAP TARGETS — Apple HIG 44×44px minimum --- */
  a.nx-cta, button.nx-cta, .nx-btn-outline, .nxa-btn, .nx-pkg-cta,
  .nx-icon-btn, .nx-link-btn, .nx-menu, .nx-tag-btn, button[type="submit"] {
    min-height: 44px !important;
    min-width: 44px !important;
    padding-left: 18px;
    padding-right: 18px;
    touch-action: manipulation;  /* removes 300ms tap delay */
  }
  /* Tight buttons (e.g. card "Copy") get slightly smaller min */
  .nx-pl-card .actions button, .nx-pl-card .actions a.copy,
  .nxa-agent-foot button, .nxa-agent-foot a {
    min-height: 36px !important;
  }

  /* --- GRIDS — collapse to single column universally --- */
  .nx-services, .nx-sellers, .nx-tools-grid, .nx-pl-grid, .nx-free-grid,
  .nxa-cap-grid, .nxa-pack-grid, .nxa-use-grid, .nxa-mon-grid, .nxa-models,
  .nx-blog-grid, .nxs-grid, .nxn-grid, .nx-cats, .nx-cat-grid,
  .nxa-hero-grid, .nxa-split, .nxa-launch-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .nxa-pack-grid { gap: 10px !important; }

  /* --- HEADER & NAV — compact + safe area --- */
  .nx-header {
    padding-top: env(safe-area-inset-top, 0) !important;
    height: auto !important;
    flex-wrap: nowrap;
  }
  /* Hide the header search input on mobile — there's a dedicated /search.html */
  .nx-header-search { display: none !important; }
  /* Orders link too cluttered — keep it in the user menu instead */
  .nx-actions .nx-link-btn#ordersLink { display: none !important; }

  /* --- HERO SECTIONS — tighter spacing --- */
  .nx-hero, .nxa-hero, .nxs-hero, .nx-pl-hero, .nx-free-hero, .nx-tools-hero, .nx-blog-hero {
    padding-top: 56px !important;
    padding-bottom: 32px !important;
  }
  .nx-hero p, .nxa-lead { font-size: 15px !important; line-height: 1.55 !important; }

  /* --- MODALS — full-screen on mobile --- */
  .nx-modal, #modal .nx-modal-card {
    width: 100% !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  .nx-modal-body { max-height: calc(100vh - 120px) !important; overflow-y: auto; }

  /* --- TABLES — horizontal scroll wrapper --- */
  table { display: block; overflow-x: auto; white-space: nowrap; }

  /* --- IMAGES — never overflow viewport --- */
  img, video, iframe { max-width: 100% !important; height: auto !important; }

  /* --- FORMS — full width, 44px tall, proper spacing --- */
  form input, form textarea, form select {
    width: 100%; min-height: 44px;
    padding: 12px 14px !important;
  }

  /* --- BODY — push content above the sticky bottom nav --- */
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)) !important; }

  /* --- STICKY BOTTOM NAV (mobile only) --- */
  .nx-mobile-bottom-nav {
    display: flex !important;
    position: fixed; left: 0; right: 0; bottom: 0;
    height: 64px;
    background: rgba(255,255,255,0.96);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 1px solid var(--nx-line);
    z-index: 999;
    padding-bottom: env(safe-area-inset-bottom, 0);
    box-shadow: 0 -4px 24px rgba(7,7,7,0.06);
  }
  .nx-mobile-bottom-nav a {
    flex: 1;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 3px;
    color: var(--nx-muted);
    text-decoration: none;
    font: 700 9.5px var(--font-mono);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    min-height: 44px;
    transition: color .15s, transform .15s;
  }
  .nx-mobile-bottom-nav a svg {
    width: 22px; height: 22px;
    stroke-width: 1.75;
  }
  .nx-mobile-bottom-nav a:active { transform: scale(0.92); }
  .nx-mobile-bottom-nav a.is-active {
    color: var(--nx-blue);
  }
  .nx-mobile-bottom-nav a.is-active::before {
    content: ''; position: absolute; top: 6px;
    width: 24px; height: 3px; background: var(--nx-blue); border-radius: 2px;
  }

  /* --- DROPDOWNS (mobile open inline) --- */
  .nx-nav-menu { display: block; }
  .nx-nav-menu a b { font-size: 14px !important; }

  /* --- TOAST STACK — fit screen --- */
  .nx-toast-stack { left: 16px !important; right: 16px !important; max-width: calc(100% - 32px) !important; }
  .nx-toast { width: 100% !important; }

  /* --- CARDS — slimmer padding --- */
  .nx-card-body, .nx-tool-body, .nx-pl-card, .nxa-agent, .nxa-cap, .nx-blog-card, .nxn-card {
    padding: 18px !important;
  }

  /* --- HIDE certain decorative orbs on mobile (performance) --- */
  .nx-orb { display: none !important; }
}

/* Hide the bottom nav on desktop (default state) */
.nx-mobile-bottom-nav { display: none; }

/* ============================================================
   PILOT mobile (V2026.10) — keep desktop untouched
   ============================================================ */
@media (max-width: 768px) {
  /* orb stacks above matchmaker (~bottom 14px, ~54px tall) + scroll-top (bottom 80px, 42px tall) */
  .nxp-orb { right: 14px !important; bottom: 138px !important; width: 50px !important; height: 50px !important; }
  .nxp-orb-tip { display: none !important; }

  /* palette goes to ~near-full-screen on mobile */
  .nxp-palette { padding: 6vh 10px 10px !important; }
  .nxp-pl-card { width: 100% !important; max-width: none !important; }
  .nxp-pl-input input { font-size: 16px !important; /* iOS no-zoom */ }
  .nxp-pl-suggest { max-height: 50vh !important; }
  .nxp-pl-chip { padding: 13px 16px !important; }
  .nxp-pl-chip-lbl { font-size: 13px !important; }
  .nxp-pl-foot { font-size: 9px !important; padding: 9px 16px !important; flex-wrap: wrap; gap: 6px; }

  /* action stream → bottom sheet */
  .nxp-stream {
    top: auto !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
    width: 100% !important; max-width: 100% !important;
    max-height: 65vh; border-radius: 12px 12px 0 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0);
    transform: translateY(calc(100% + 16px)) !important;
  }
  .nxp-stream.is-open { transform: translateY(0) !important; }
  .nxp-stream-list { max-height: 40vh; }

  /* homepage announcement band */
  .nx-pilot-band { padding: 56px 0; }
  .nx-pilot-band-inner { grid-template-columns: 1fr; gap: 36px; }
  .nx-pilot-band-right { justify-content: center; }
  .nx-pilot-fake-card { max-width: 100%; }
  .nx-pilot-band-actions { flex-direction: column; align-items: stretch; }
  .nx-pilot-band-cta { width: 100%; justify-content: center; padding: 16px; font-size: 12px; }
  .nx-pilot-band-mini { text-align: center; }

  /* atlas v11 mobile */
  .atlas-modality-row { gap: 4px; padding-bottom: 12px; margin-bottom: 12px; }
  .atlas-mod { padding: 9px 12px; font-size: 10px; }
  .atlas-mod span { font-size: 8px; padding: 1px 4px; }
  .atlas-update-grid { grid-template-columns: 1fr; gap: 32px; }
  .atlas-row-status { gap: 2px; }
  .atlas-eta { font-size: 8px; }
  .atlas-toast { bottom: 80px; left: 10px; right: 10px; transform: translateY(20px); padding: 12px 16px; font-size: 11px; }
  .atlas-toast.is-show { transform: translateY(0); }

  /* pulse v12 mobile */
  .pulse-hero { padding: 56px 0 36px; }
  .pulse-meta { grid-template-columns: 1fr 1fr; }
  .pulse-research-grid { grid-template-columns: 1fr; }
  .pulse-rcard { padding: 22px 20px 20px; }
  .pulse-rcard h3 { font-size: 19px; }
  .pulse-feeds { grid-template-columns: 1fr; gap: 14px; }
  .pulse-howto-grid { grid-template-columns: 1fr; }
  .pulse-howto-tier { padding: 24px 20px; }
  .pulse-trust-grid { grid-template-columns: 1fr; }
  .pulse-faq-grid { grid-template-columns: 1fr; gap: 28px; }
  .pulse-cta-card { grid-template-columns: 1fr; gap: 24px; }
  .pulse-cta-btn { width: 100%; padding: 18px; font-size: 12px; }
  .pulse-feed-link { grid-template-columns: 28px 1fr 18px; padding: 12px 14px; gap: 10px; }
  .pulse-feed-body b { font-size: 13px; }
}

/* iPhone-tier (≤440px) — extra-tight overrides */
@media (max-width: 440px) {
  section { padding-top: 36px !important; padding-bottom: 36px !important; }
  .nx-container, .nxa-container { padding-left: 16px !important; padding-right: 16px !important; }
  .nx-mobile-bottom-nav a span { font-size: 9px !important; }
  h1 { font-size: clamp(26px, 9vw, 36px) !important; }
}

/* ============================================================
   MOBILE LAYER · Atlas + Constellation (V2026.09)
   Same hard rule: ≤768px ONLY. Desktop untouched.
   ============================================================ */
@media (max-width: 768px) {
  .atlas-wrap, .cnst-wrap { padding: 0 16px; }

  /* atlas hero */
  .atlas-hero { padding: 56px 0 36px; }
  .atlas-stats { grid-template-columns: 1fr 1fr; }
  .atlas-stat-num { font-size: 22px; }
  .atlas-stat-lbl { font-size: 9px; }

  /* status grid */
  .atlas-status-grid { grid-template-columns: 1fr 1fr; }

  /* toolbar -> stacked */
  .atlas-toolbar { flex-direction: column; align-items: stretch; gap: 14px; }
  .atlas-filters { gap: 6px; }
  .atlas-chip { padding: 8px 11px; font-size: 10px; }
  .atlas-sort { font-size: 10px; }

  /* table -> stacked cards on mobile */
  .atlas-row.atlas-head { display: none; }
  .atlas-model > summary,
  .atlas-row { grid-template-columns: 28px 1fr auto !important; gap: 10px; padding: 14px 14px; }
  .atlas-row-ctx,
  .atlas-row-price,
  .atlas-row-cutoff { display: none; }
  .atlas-row-caps { display: none; }
  .atlas-row-expand { font-size: 16px; }
  .atlas-model[open] .atlas-row-detail { grid-template-columns: 1fr; gap: 18px; padding: 16px 14px 22px; }
  .atlas-row-name b { font-size: 15px; }

  /* compare bar adjustments */
  .atlas-compare-row { padding: 12px 16px; }
  .atlas-compare-actions { width: 100%; justify-content: space-between; }

  /* compare modal */
  .atlas-modal { padding: 24px 12px; }
  .atlas-modal-card { padding: 28px 18px 30px; }
  .atlas-modal-grid { grid-template-columns: 1fr; }

  /* calculator -> stacked */
  .atlas-calc { grid-template-columns: 1fr; padding: 18px; gap: 18px; }
  .atlas-calc-inputs input { font-size: 18px; padding: 12px; }
  .atlas-calc-row-head { grid-template-columns: 32px 1fr auto; padding: 10px 12px; gap: 10px; }
  .atlas-calc-cost { font-size: 16px; }
  .atlas-calc-name b { font-size: 13px; }
  .atlas-calc-results { max-height: none; }

  /* faq -> stacked */
  .atlas-faq-grid, .cnst-faq-grid { grid-template-columns: 1fr; gap: 28px; }

  /* atlas cta */
  .atlas-cta-card { grid-template-columns: 1fr; gap: 24px; }
  .atlas-btn-cta { width: 100%; padding: 18px; font-size: 12px; }

  /* constellation */
  .cnst-hero { padding: 56px 0 44px; }
  .cnst-hero::after { display: none; }
  .cnst-section { padding: 48px 0; }
  .cnst-two { grid-template-columns: 1fr; gap: 24px; }
  .cnst-cost-grid { grid-template-columns: 1fr; }
  .cnst-cost-cell { padding: 24px 20px; }
  .cnst-cost-num { font-size: 32px; margin-bottom: 12px; }
  .cnst-promise-grid { grid-template-columns: 1fr; }
  .cnst-promise { padding: 24px 20px; }
  .cnst-proc-grid { grid-template-columns: 1fr; }
  .cnst-proc { padding: 22px 18px; }
  .cnst-roadmap li { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
  .cnst-final-grid { grid-template-columns: 1fr; }
  .cnst-final-link { padding: 22px 20px; }
  .cnst-cta-row { flex-direction: column; }
  .cnst-btn-primary, .cnst-btn-ghost { width: 100%; justify-content: center; padding: 16px; font-size: 12px; }
  .cnst-hero-meta { font-size: 10px; gap: 8px; }
  .cnst-hero-meta > span:nth-child(2),
  .cnst-hero-meta > span:nth-child(4) { display: none; }

  /* code block — horizontal scroll on mobile */
  .cnst-code { padding: 16px; font-size: 11px; }
  .cnst-code-head { flex-wrap: wrap; }
  .cnst-code-tab { padding: 10px 14px; font-size: 10px; }

  /* compat matrix — give horizontal scroll */
  .cnst-compat { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cnst-compat-head, .cnst-compat-row { min-width: 760px; }

  /* homepage neutral-layer teaser */
  .nx-neutral { padding: 56px 0; }
  .nx-neutral-grid { grid-template-columns: 1fr; gap: 14px; }
  .nx-neutral-card { padding: 26px 22px 24px; min-height: 0; }
  .nx-neutral-card h3 { font-size: 26px; }
}

/* ============================================================
   V45 — UI POLISH BATCH
   (2) password show/hide eye toggle
   (3) gig uploaded images contained within their frame
   (5) custom themed dropdowns + form controls
   (6) all button text centered
   ============================================================ */

/* (2) Password field with eye toggle ------------------------- */
.nx-pass-wrap{ position:relative; display:block; }
.nx-pass-wrap input{ width:100%; padding-right:46px !important; }
.nx-pass-toggle{
  position:absolute; top:50%; right:8px; transform:translateY(-50%);
  width:34px; height:34px; display:grid; place-items:center;
  background:transparent; border:0; cursor:pointer; padding:0;
  color:var(--nx-muted,#888); border-radius:8px;
  transition:color .15s, background .15s;
}
.nx-pass-toggle:hover{ color:var(--nx-blue,#0754f8); background:rgba(7,84,248,.08); }
.nx-pass-toggle svg{ display:block; width:18px; height:18px; }

/* (3) Gig uploaded images — always contained within the frame -- */
.nx-gallery-main{
  overflow:hidden !important;
  border-radius:12px;
  background-color:#f4f7fe;
}
.nx-gallery-main.has-cover{
  background-size:cover !important;     /* fill the frame, no overflow */
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.nx-gallery-thumb{
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
/* Gig card cover images on browse/home — keep inside the card */
.nx-card-media,
.nx-service-media,
.nx-svc-cover{
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center !important;
}
.nx-card-media img,
.nx-service-media img,
.nx-svc-cover img{
  width:100% !important; height:100% !important;
  object-fit:cover !important; object-position:center !important;
  display:block;
}

/* (5) Custom themed dropdowns + form controls ----------------- */
/* Native <select> — replace the OS chevron with a themed SVG, square
   off the corners to match Nexora's editorial style, blue focus ring. */
select,
.nx-form select,
.nx-select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230754f8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:40px !important;
  border:1px solid var(--nx-line,#e3e3e3);
  border-radius:10px;
  font-family:inherit;
  color:var(--nx-ink,#070707);
  cursor:pointer;
  transition:border-color .15s, box-shadow .15s;
}
select:focus,
.nx-form select:focus,
.nx-select:focus{
  outline:none;
  border-color:var(--nx-blue,#0754f8);
  box-shadow:0 0 0 3px rgba(7,84,248,.12);
}
/* Text inputs + textareas — consistent themed focus ring */
.nx-form input:not([type=checkbox]):not([type=radio]),
.nx-form textarea,
input[type=text].nx-input, input[type=email].nx-input{
  border-radius:10px;
  transition:border-color .15s, box-shadow .15s;
}
.nx-form input:focus,
.nx-form textarea:focus{
  outline:none;
  border-color:var(--nx-blue,#0754f8);
  box-shadow:0 0 0 3px rgba(7,84,248,.12);
}

/* (6) All button text centered ------------------------------- */
button,
.nx-cta, .nx-btn, .nx-pkg-cta, .nx-pkg-second,
.nx-oauth-btn, .nx-link-btn,
button[type=submit], input[type=submit],
.nx-form button{
  text-align:center;
  justify-content:center;
}
/* Buttons that use flex (icon + label) stay centered as a group */
.nx-cta, .nx-btn, .nx-pkg-cta, .nx-pkg-second, .nx-oauth-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
/* ============================================================ */

/* ============================================================
   V46 — PLACEHOLDER VISIBILITY + FOOTER TRUST BADGES
   ============================================================ */

/* (A) Darker, more readable placeholder text everywhere -------- */
.nx-hero-search input::placeholder,
.nx-header-search input::placeholder,
.nx-form input::placeholder,
.nx-form textarea::placeholder,
input::placeholder,
textarea::placeholder{
  color:#6b7280 !important;     /* was #7a7a82 / #9aa3b2 — now clearly visible */
  opacity:1 !important;
}
/* Rotating fake placeholder in the hero search */
.nx-ph-item{
  color:#5b6472 !important;      /* darker than #9aa3b2 so it reads at a glance */
  font-weight:500 !important;
}

/* (B) Footer trust badges — prominent, authentic security seals -- */
.nx-footer .nx-trust-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:8px 16px;margin:0 0 18px;
  font:700 11px var(--font-mono,ui-monospace,monospace);
  letter-spacing:.12em;text-transform:uppercase;
}
.nx-footer .nx-trust-head > span{ color:rgba(255,255,255,.92); padding:0; }
.nx-footer .nx-trust-head > a{
  display:inline-block;
  color:#7a9eff;text-decoration:none;font-weight:700;padding:0;
  transition:color .15s;
}
.nx-footer .nx-trust-head > a:hover{ color:#fff; }

/* V49 — all selectors scoped under .nx-footer so they beat style.css's
   `.nx-footer a{display:block;padding:6px 0}` (which was overriding the
   flex layout + padding and causing the icon/text to split vertically). */
.nx-footer .nx-trust-badges{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
  margin:0 0 44px;
  align-items:stretch;
}
.nx-footer a.nx-trust-badge{
  display:flex !important;
  align-items:center;
  gap:14px;
  padding:20px 22px !important;            /* generous, even padding */
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  text-decoration:none;
  min-height:78px;                          /* equal, comfortable card height */
  transition:background .18s, border-color .18s, transform .18s, box-shadow .18s;
}
.nx-footer a.nx-trust-badge:hover{
  background:rgba(255,255,255,.075);
  transform:translateY(-3px);
}
/* Perfect square icon tile (app-icon style), glyph centered, never shrinks */
.nx-footer .nx-trust-badge .tb-ic{
  flex:0 0 44px;width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:12px;color:#fff;
  background:var(--nx-blue,#0754f8);
}
.nx-footer .nx-trust-badge .tb-ic svg{display:block;width:21px;height:21px;color:#fff}
.nx-footer .nx-trust-badge .tb-tx{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}
.nx-footer .nx-trust-badge .tb-tx b{
  font:700 14px/1.2 var(--font-display,-apple-system,system-ui,sans-serif);
  color:#fff;letter-spacing:-.01em;white-space:nowrap;
}
.nx-footer .nx-trust-badge .tb-tx small{
  font:600 10.5px/1.35 var(--font-mono,ui-monospace,monospace);
  color:rgba(255,255,255,.55);letter-spacing:.02em;white-space:nowrap;
}

/* Semantic per-badge colours */
.nx-footer .nx-trust-badge.tb-green  .tb-ic{ background:#08c842; }
.nx-footer .nx-trust-badge.tb-blue   .tb-ic{ background:#0754f8; }
.nx-footer .nx-trust-badge.tb-violet .tb-ic{ background:#7a5cff; }
.nx-footer .nx-trust-badge.tb-cyan   .tb-ic{ background:#0ea5e9; }
.nx-footer .nx-trust-badge.tb-amber  .tb-ic{ background:#f5a623; }
.nx-footer .nx-trust-badge.tb-gold   .tb-ic{ background:#ff8a2a; }
.nx-footer .nx-trust-badge.tb-green:hover { border-color:rgba(8,200,66,.55);  box-shadow:0 12px 32px -16px rgba(8,200,66,.55); }
.nx-footer .nx-trust-badge.tb-blue:hover  { border-color:rgba(7,84,248,.55);  box-shadow:0 12px 32px -16px rgba(7,84,248,.55); }
.nx-footer .nx-trust-badge.tb-violet:hover{ border-color:rgba(122,92,255,.55);box-shadow:0 12px 32px -16px rgba(122,92,255,.55); }
.nx-footer .nx-trust-badge.tb-cyan:hover  { border-color:rgba(14,165,233,.55);box-shadow:0 12px 32px -16px rgba(14,165,233,.55); }
.nx-footer .nx-trust-badge.tb-amber:hover { border-color:rgba(245,166,35,.55);box-shadow:0 12px 32px -16px rgba(245,166,35,.55); }
.nx-footer .nx-trust-badge.tb-gold:hover  { border-color:rgba(255,138,42,.55);box-shadow:0 12px 32px -16px rgba(255,138,42,.55); }

/* Responsive: 3 cols on tablet, 2 on phone */
@media (max-width:1024px){
  .nx-footer .nx-trust-badges{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:600px){
  .nx-footer .nx-trust-badges{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .nx-footer a.nx-trust-badge{ padding:16px 16px !important; min-height:68px; }
  .nx-footer .nx-trust-badge .tb-tx b{ font-size:13px; }
}
/* ============================================================ */

/* ============================================================
   FULL-WIDTH BRAND FILM  (V2026.58)
   Cinematic, full-bleed talking-head film section.
   Sharp corners · mono eyebrow · brand-blue accents · dark band.
   ============================================================ */
.nx-film{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#060606;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  padding:clamp(56px,7vw,104px) 0 clamp(40px,5vw,72px);
}
/* Soft aurora glow behind the film */
.nx-film-aurora{
  position:absolute; inset:-30% -10% auto -10%;
  height:70%;
  background:
    radial-gradient(60% 80% at 30% 0%, rgba(7,84,248,.22), transparent 60%),
    radial-gradient(50% 70% at 80% 10%, rgba(122,92,255,.16), transparent 60%);
  filter:blur(8px);
  pointer-events:none;
  z-index:0;
}
.nx-film > *{ position:relative; z-index:1; }

/* Heading block */
.nx-film-head{
  max-width:760px;
  margin:0 auto clamp(28px,3.4vw,46px);
  text-align:center;
}
.nx-film-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:#7fa6ff;
  padding:7px 13px;
  border:1px solid rgba(127,166,255,.28);
  background:rgba(7,84,248,.08);
  border-radius:0;
  margin-bottom:18px;
}
.nx-film-title{
  margin:0 0 14px;
  font-size:clamp(28px,4.4vw,52px);
  line-height:1.05;
  letter-spacing:-.02em;
  font-weight:800;
  color:#fff;
}
.nx-film-em{
  color:#0754f8;
  background:linear-gradient(90deg,#3f7bff,#7a5cff);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.nx-film-sub{
  margin:0 auto;
  max-width:600px;
  font-size:clamp(14.5px,1.5vw,17px);
  line-height:1.6;
  color:rgba(255,255,255,.66);
}

/* Stage = full-width cinema frame */
.nx-film-stage{
  width:min(1320px,calc(100% - 48px));
  margin:0 auto;
}
.nx-film-frame{
  position:relative;
  margin:0;
  aspect-ratio:16/9;
  max-height:90vh;
  overflow:hidden;
  border-radius:0;
  border:1px solid rgba(255,255,255,.12);
  background:#000;
  box-shadow:
    0 40px 120px -40px rgba(7,84,248,.45),
    0 18px 60px -30px rgba(0,0,0,.8);
}
.nx-film-video{
  display:block;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 18%;
  background:#000;
}

/* Click-to-play poster overlay (covers video until play) */
.nx-film-poster{
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:20px;
  cursor:pointer;
  border:0;
  width:100%; height:100%;
  background:
    radial-gradient(120% 90% at 50% 38%, rgba(0,0,0,.18), rgba(0,0,0,.62) 78%),
    url("assets/video/nexora-aero-poster.jpg") center 18% / cover no-repeat;
  transition:opacity .45s ease, visibility .45s ease;
  z-index:2;
}
/* Hide the poster ONLY while actively playing. On PAUSE the blue "Watch the film"
   overlay returns (click it to resume); on END it returns to the idle poster. */
.nx-film-frame[data-state="playing"] .nx-film-poster{
  opacity:0; visibility:hidden; pointer-events:none;
}
/* Native controls show only while playing — hidden at idle AND when paused
   (the returning poster overlay covers the frame for a clean look). */
.nx-film-frame[data-state="idle"]  .nx-film-video::-webkit-media-controls,
.nx-film-frame[data-state="paused"] .nx-film-video::-webkit-media-controls{ display:none; }

/* Play button */
.nx-film-play{
  position:relative;
  display:grid; place-items:center;
  width:84px; height:84px;
  color:#fff;
  background:rgba(7,84,248,.92);
  border:1px solid rgba(255,255,255,.28);
  border-radius:0;
  box-shadow:0 18px 50px -18px rgba(7,84,248,.9);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), background .3s ease;
}
.nx-film-play svg{ margin-left:4px; }
.nx-film-play::after{
  content:""; position:absolute; inset:-1px;
  border:1px solid rgba(127,166,255,.7);
  border-radius:0;
  animation:nxFilmPulse 2.6s ease-out infinite;
}
@keyframes nxFilmPulse{
  0%   { transform:scale(1);    opacity:.7; }
  70%  { transform:scale(1.55); opacity:0;  }
  100% { transform:scale(1.55); opacity:0;  }
}
.nx-film-poster:hover .nx-film-play{ transform:scale(1.07); background:#0754f8; }
.nx-film-poster:focus-visible{ outline:2px solid #7fa6ff; outline-offset:4px; }

.nx-film-cta{
  display:flex; flex-direction:column; align-items:center; gap:3px;
  text-align:center;
}
.nx-film-cta b{
  font-size:17px; font-weight:700; color:#fff;
  letter-spacing:-.01em;
}
.nx-film-cta small{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

/* Caption row under the frame */
.nx-film-cap{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
  margin-top:18px;
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.nx-film-cap span{ display:inline-flex; align-items:center; gap:8px; }
.nx-film-dot{
  width:7px; height:7px; border-radius:50%;
  background:#08c842; box-shadow:0 0 0 4px rgba(8,200,66,.16);
}

/* Phone */
@media (max-width:680px){
  .nx-film-stage{ width:100%; }
  .nx-film-frame{ aspect-ratio:9/13; max-height:78vh; border-left:0; border-right:0; }
  .nx-film-play{ width:68px; height:68px; }
  .nx-film-cap{ justify-content:center; text-align:center; }
}

/* Respect reduced-motion */
@media (prefers-reduced-motion:reduce){
  .nx-film-play::after{ animation:none; }
  .nx-film-poster{ transition:none; }
}
/* ============================================================ */
