:root {
  color-scheme: dark;
  --bg: #07111f;
  --bg2: #0b1729;
  --card: rgba(14, 28, 50, 0.88);
  --card2: rgba(12, 24, 44, 0.96);
  --line: rgba(111, 161, 255, 0.22);
  --line2: rgba(255, 255, 255, 0.08);
  --text: #eef6ff;
  --muted: #9eb4cd;
  --soft: #6f8cab;
  --accent: #44e6ff;
  --accent2: #65ffa6;
  --warn: #ffd166;
  --danger: #ff6b8a;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
  --radius: 24px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 20% 0%, rgba(68, 230, 255, 0.16), transparent 32%),
    radial-gradient(circle at 90% 18%, rgba(101, 255, 166, 0.12), transparent 28%),
    linear-gradient(135deg, #050b15 0%, #081525 48%, #050a13 100%);
  color: var(--text);
  min-height: 100vh;
}

button, input, select, textarea { font: inherit; }

button { cursor: pointer; }

a { color: inherit; text-decoration: none; }

.nf-shell {
  width: min(1440px, calc(100% - 36px));
  margin: 0 auto;
  padding: 22px 0 40px;
}

.nf-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 16px;
  border: 1px solid var(--line2);
  background: rgba(6, 15, 28, 0.72);
  border-radius: 22px;
  backdrop-filter: blur(16px);
  position: sticky;
  top: 12px;
  z-index: 30;
  box-shadow: 0 14px 42px rgba(0,0,0,.22);
}

.nf-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.nf-brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(68,230,255,.26), rgba(101,255,166,.18));
  border: 1px solid rgba(68, 230, 255, .35);
  color: var(--accent);
  font-weight: 900;
  letter-spacing: -.04em;
}

.nf-brand strong, .nf-brand em {
  display: block;
  line-height: 1.05;
}

.nf-brand strong { font-size: 1rem; }
.nf-brand em { color: var(--accent); font-style: normal; font-size: .86rem; margin-top: 3px; }

.nf-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.nf-nav a {
  padding: 10px 12px;
  color: var(--muted);
  border-radius: 999px;
  border: 1px solid transparent;
  transition: .2s ease;
}

.nf-nav a:hover {
  color: var(--text);
  border-color: var(--line);
  background: rgba(255,255,255,.04);
}

.nf-nav .nf-nav-cta {
  color: #03111d;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  border: none;
  font-weight: 800;
  box-shadow: 0 10px 30px rgba(68, 230, 255, .18);
}

.nf-hero {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 24px;
  margin-top: 24px;
  min-height: 360px;
}

.nf-hero-copy, .nf-radar-card, .nf-card, .nf-results-card {
  border: 1px solid var(--line2);
  background: linear-gradient(180deg, rgba(15, 31, 56, .9), rgba(9, 20, 38, .92));
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
}

.nf-hero-copy::before, .nf-radar-card::before, .nf-card::before, .nf-results-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(68, 230, 255, .12), transparent 34%, rgba(101, 255, 166, .06));
}

.nf-hero-copy {
  padding: 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nf-kicker {
  width: fit-content;
  border: 1px solid rgba(68,230,255,.35);
  color: var(--accent);
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(68,230,255,.08);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

h1 {
  margin: 18px 0 12px;
  max-width: 850px;
  font-size: clamp(2.4rem, 5vw, 5.2rem);
  line-height: .95;
  letter-spacing: -.07em;
}

.nf-hero-copy p {
  max-width: 760px;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.nf-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.nf-badges span {
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--line2);
  color: #c9d9ec;
  font-size: .9rem;
}

.nf-radar-card {
  min-height: 360px;
  display: grid;
  place-items: center;
  padding: 20px;
}

.nf-radar {
  width: min(88%, 360px);
  aspect-ratio: 1;
  border-radius: 999px;
  position: relative;
  display: grid;
  place-items: center;
  background:
    repeating-radial-gradient(circle, rgba(68,230,255,.0) 0 34px, rgba(68,230,255,.16) 35px 36px),
    linear-gradient(135deg, rgba(68,230,255,.1), rgba(101,255,166,.05));
  border: 1px solid rgba(68,230,255,.32);
  box-shadow: inset 0 0 42px rgba(68,230,255,.12), 0 0 80px rgba(68,230,255,.10);
  overflow: hidden;
}

.nf-radar::before, .nf-radar::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 100%;
  height: 1px;
  transform-origin: left center;
  background: rgba(68,230,255,.26);
}
.nf-radar::after { transform: rotate(90deg); }

.nf-radar-sweep {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: conic-gradient(from 0deg, rgba(68,230,255,.0) 0deg, rgba(68,230,255,.0) 285deg, rgba(68,230,255,.52) 340deg, rgba(101,255,166,.35) 360deg);
  animation: nfSpin 3.2s linear infinite;
  mix-blend-mode: screen;
}

.nf-radar-core {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  position: relative;
  z-index: 2;
  background: rgba(6,15,28,.86);
  border: 1px solid rgba(101,255,166,.42);
  color: var(--accent2);
  font-weight: 900;
  letter-spacing: .08em;
  box-shadow: 0 0 34px rgba(101,255,166,.17);
}

.nf-orbit {
  position: absolute;
  z-index: 2;
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(5, 12, 22, .72);
  border: 1px solid rgba(68,230,255,.28);
  color: #dff8ff;
  font-size: .8rem;
  animation: nfFloat 4s ease-in-out infinite;
}

.nf-orbit-a { top: 22%; left: 18%; }
.nf-orbit-b { top: 18%; right: 25%; animation-delay: -.7s; }
.nf-orbit-c { bottom: 26%; left: 20%; animation-delay: -1.4s; }
.nf-orbit-d { bottom: 20%; right: 18%; animation-delay: -2.2s; }

.nf-scan-status {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  text-align: center;
  color: var(--muted);
  font-size: .94rem;
}

@keyframes nfSpin { to { transform: rotate(360deg); } }
@keyframes nfFloat { 50% { transform: translateY(-8px); } }

.nf-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr .9fr;
  gap: 20px;
  margin-top: 22px;
}

.nf-card { padding: 24px; }

.nf-card-head, .nf-results-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}

.nf-card-head span, .nf-results-head span {
  display: block;
  color: var(--accent);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.nf-card-head strong {
  display: block;
  margin-top: 4px;
  font-size: 1.34rem;
}

.nf-label, label {
  display: block;
  color: var(--muted);
  font-size: .88rem;
  font-weight: 700;
}

textarea, input, select {
  width: 100%;
  margin-top: 8px;
  color: var(--text);
  background: rgba(4, 12, 23, .76);
  border: 1px solid rgba(111, 161, 255, .22);
  outline: none;
  border-radius: 16px;
  padding: 13px 14px;
  transition: .2s ease;
}

textarea { resize: vertical; min-height: 210px; }

textarea:focus, input:focus, select:focus {
  border-color: rgba(68,230,255,.7);
  box-shadow: 0 0 0 4px rgba(68,230,255,.08);
}

.nf-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}

.nf-primary, .nf-secondary, .nf-ghost, .nf-visit, .nf-mini {
  border: 0;
  border-radius: 16px;
  font-weight: 900;
  transition: transform .15s ease, filter .15s ease, border-color .15s ease;
  position: relative;
  z-index: 1;
}

.nf-primary {
  width: 100%;
  margin-top: 18px;
  padding: 15px 18px;
  color: #03111d;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 18px 40px rgba(68,230,255,.16);
}

.nf-secondary {
  width: 100%;
  margin-top: 16px;
  padding: 14px 16px;
  color: #03111d;
  background: linear-gradient(135deg, #d7f6ff, var(--accent));
}

.nf-ghost {
  width: 100%;
  margin-top: 10px;
  padding: 13px 16px;
  color: var(--text);
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line2);
}

.nf-primary:hover, .nf-secondary:hover, .nf-ghost:hover, .nf-mini:hover, .nf-visit:hover { transform: translateY(-1px); filter: brightness(1.06); }

.nf-primary:disabled { opacity: .55; cursor: wait; transform: none; }

.nf-small-note {
  color: var(--soft);
  font-size: .82rem;
  line-height: 1.55;
  margin: 14px 0 0;
}

.nf-idea-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.nf-idea-list div {
  padding: 12px;
  border: 1px solid var(--line2);
  border-radius: 14px;
  color: #cbdcf0;
  background: rgba(255,255,255,.04);
}

.nf-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.nf-stat-grid div {
  padding: 18px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid var(--line2);
}

.nf-stat-grid span {
  display: block;
  font-size: 2rem;
  line-height: 1;
  font-weight: 950;
  color: var(--accent2);
  letter-spacing: -.05em;
}

.nf-stat-grid em {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: .82rem;
  font-style: normal;
}

.nf-progress-wrap { margin-top: 18px; }

.nf-progress {
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  overflow: hidden;
  border: 1px solid var(--line2);
}

.nf-progress span {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  border-radius: inherit;
  transition: width .25s ease;
}

.nf-progress-wrap small {
  display: block;
  color: var(--muted);
  margin-top: 8px;
}

.nf-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 9px;
  margin-top: 18px;
}

.nf-mini {
  padding: 10px 8px;
  color: var(--text);
  background: rgba(255,255,255,.055);
  border: 1px solid var(--line2);
  font-size: .78rem;
}

.nf-visit {
  display: block;
  text-align: center;
  margin-top: 14px;
  padding: 14px 16px;
  color: #03111d;
  background: linear-gradient(135deg, var(--accent2), var(--accent));
}

.nf-results-card {
  margin-top: 22px;
  padding: 24px;
}

.nf-results-head h2 {
  margin: 3px 0 0;
  font-size: clamp(1.5rem, 2.2vw, 2.2rem);
  letter-spacing: -.04em;
}

.nf-pill {
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(68,230,255,.08);
  border: 1px solid rgba(68,230,255,.22);
  color: var(--accent);
  font-size: .84rem;
  white-space: nowrap;
}

.nf-table-wrap {
  overflow-x: auto;
  border-radius: 18px;
  border: 1px solid var(--line2);
  position: relative;
  z-index: 1;
}

table {
  width: 100%;
  min-width: 1060px;
  border-collapse: collapse;
  background: rgba(4, 12, 23, .42);
}

th, td {
  padding: 14px 13px;
  text-align: left;
  border-bottom: 1px solid rgba(255,255,255,.07);
  vertical-align: middle;
}

th {
  color: var(--muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,255,255,.045);
}

td { color: #d9e8f7; }

tr:last-child td { border-bottom: none; }

.nf-keyword strong { display: block; color: var(--text); }
.nf-keyword small { color: var(--soft); }

.nf-score {
  display: inline-grid;
  place-items: center;
  min-width: 54px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  font-weight: 950;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line2);
}

.nf-score.good { color: var(--accent2); border-color: rgba(101,255,166,.28); }
.nf-score.mid { color: var(--warn); border-color: rgba(255,209,102,.28); }
.nf-score.bad { color: var(--danger); border-color: rgba(255,107,138,.28); }

.nf-status {
  padding: 8px 10px;
  border-radius: 999px;
  display: inline-block;
  font-size: .78rem;
  font-weight: 900;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line2);
  white-space: nowrap;
}

.nf-status.promising { color: var(--accent2); }
.nf-status.high { color: var(--danger); }
.nf-status.review { color: var(--warn); }
.nf-status.low { color: var(--soft); }

.nf-detail-btn {
  border: 1px solid rgba(68,230,255,.24);
  background: rgba(68,230,255,.08);
  color: var(--accent);
  border-radius: 12px;
  padding: 9px 11px;
  font-weight: 900;
}

.nf-empty-row td {
  text-align: center;
  color: var(--soft);
  padding: 32px;
}

.nf-dialog {
  width: min(760px, calc(100% - 30px));
  border: 1px solid rgba(111,161,255,.24);
  border-radius: 22px;
  background: #081525;
  color: var(--text);
  box-shadow: 0 30px 120px rgba(0,0,0,.65);
  padding: 0;
}

.nf-dialog::backdrop {
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(5px);
}

.nf-dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line2);
}

.nf-dialog-head button {
  width: 38px;
  height: 38px;
  border: 1px solid var(--line2);
  border-radius: 12px;
  color: var(--text);
  background: rgba(255,255,255,.06);
  font-size: 1.4rem;
}

#dialogContent { padding: 20px; }

.nf-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 18px;
}

.nf-detail-grid div, .nf-detail-section {
  border: 1px solid var(--line2);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding: 12px;
}

.nf-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
}

.nf-detail-grid strong {
  display: block;
  margin-top: 6px;
  font-size: 1.25rem;
  color: var(--accent2);
}

.nf-detail-section { margin-top: 10px; }
.nf-detail-section h4 { margin: 0 0 8px; }
.nf-detail-section ul { margin: 0; padding-left: 18px; color: #d1e1f2; }
.nf-detail-section li { margin: 5px 0; }

@media (max-width: 1100px) {
  .nf-hero, .nf-grid { grid-template-columns: 1fr; }
  .nf-radar-card { min-height: 340px; }
}

@media (max-width: 760px) {
  .nf-shell { width: min(100% - 20px, 1440px); padding-top: 10px; }
  .nf-topbar { align-items: flex-start; position: static; }
  .nf-nav { justify-content: flex-end; gap: 6px; }
  .nf-nav a { padding: 8px 9px; font-size: .86rem; }
  .nf-hero-copy { padding: 28px 22px; }
  .nf-card, .nf-results-card { padding: 18px; }
  .nf-form-row, .nf-actions, .nf-stat-grid, .nf-detail-grid { grid-template-columns: 1fr; }
  textarea { min-height: 190px; }
  h1 { font-size: 2.55rem; }
}

/* IB-NF-002 — visual polish, mobile header and mobile results */
.nf-bg-glow {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0 26%, rgba(68,230,255,.035) 26% 27%, transparent 27% 100%),
    linear-gradient(30deg, transparent 0 32%, rgba(101,255,166,.025) 32% 33%, transparent 33% 100%);
  opacity: .78;
  z-index: 0;
}

.nf-shell { position: relative; z-index: 1; }

.nf-topbar {
  border: 1px solid rgba(111,161,255,.18);
  box-shadow: 0 16px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}

.nf-topbar::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(68,230,255,.52), rgba(101,255,166,.42), transparent);
}

.nf-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(68,230,255,.22);
  background: rgba(68,230,255,.08);
  color: var(--text);
  font-weight: 900;
}

.nf-menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--accent);
}

.nf-menu-toggle em {
  font-style: normal;
  margin-left: 4px;
  font-size: .82rem;
}

.nf-hero-copy, .nf-radar-card, .nf-card, .nf-results-card {
  border: 1px solid rgba(111,161,255,.20);
  box-shadow: 0 24px 80px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.045);
}

.nf-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 20px;
}

.nf-hero-primary,
.nf-hero-secondary {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 950;
}

.nf-hero-primary {
  color: #02111d;
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  box-shadow: 0 14px 32px rgba(68,230,255,.16);
}

.nf-hero-secondary {
  color: var(--text);
  background: rgba(255,255,255,.055);
  border: 1px solid var(--line2);
}

.nf-radar-frame {
  position: relative;
  display: grid;
  place-items: center;
  padding: 18px;
  border-radius: 34px;
  background:
    radial-gradient(circle, rgba(68,230,255,.08), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  border: 1px solid rgba(68,230,255,.12);
}

.nf-radar-frame::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 28px;
  border: 1px dashed rgba(101,255,166,.14);
}

.nf-radar-microcopy {
  color: var(--soft);
  font-size: .86rem;
  margin-top: 10px;
  text-align: center;
}

.nf-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 22px;
}

.nf-trust-strip div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 14px 16px;
  border-radius: 20px;
  background: rgba(12,24,44,.72);
  border: 1px solid rgba(255,255,255,.07);
}

.nf-trust-strip strong {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  height: 38px;
  border-radius: 14px;
  color: var(--accent2);
  background: rgba(101,255,166,.08);
  border: 1px solid rgba(101,255,166,.18);
}

.nf-trust-strip span {
  color: #dbefff;
  font-weight: 800;
  line-height: 1.25;
}

.nf-primary,
.nf-secondary,
.nf-ghost,
.nf-mini,
.nf-visit,
.nf-detail-btn,
.nf-nav-cta {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.nf-primary:hover,
.nf-secondary:hover,
.nf-ghost:hover,
.nf-mini:hover,
.nf-visit:hover,
.nf-detail-btn:hover,
.nf-nav-cta:hover,
.nf-hero-primary:hover,
.nf-hero-secondary:hover {
  transform: translateY(-1px);
}

.nf-primary:active,
.nf-secondary:active,
.nf-ghost:active,
.nf-mini:active,
.nf-visit:active,
.nf-detail-btn:active,
.nf-nav-cta:active,
.nf-hero-primary:active,
.nf-hero-secondary:active {
  transform: translateY(0);
}

.nf-results-card { scroll-margin-top: 100px; }

@media (max-width: 920px) {
  .nf-trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body { background-attachment: fixed; }
  .nf-shell { width: min(100% - 18px, 1440px); padding-top: 8px; }
  .nf-topbar {
    position: sticky;
    top: 8px;
    z-index: 20;
    align-items: center;
    padding: 10px;
    border-radius: 20px;
  }
  .nf-brand { min-width: 0; }
  .nf-brand span:last-child { min-width: 0; }
  .nf-brand strong, .nf-brand em { white-space: nowrap; }
  .nf-menu-toggle { display: inline-flex; }
  .nf-nav {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    padding: 10px;
    border-radius: 20px;
    background: rgba(7,17,31,.97);
    border: 1px solid rgba(111,161,255,.22);
    box-shadow: 0 22px 70px rgba(0,0,0,.46);
    backdrop-filter: blur(16px);
  }
  .nf-nav.is-open { display: grid; grid-template-columns: 1fr; }
  .nf-nav a {
    min-height: 46px;
    justify-content: center;
    border-radius: 14px;
  }
  .nf-hero { gap: 14px; }
  .nf-hero-copy { padding: 24px 18px; }
  .nf-hero-actions { display: grid; grid-template-columns: 1fr; }
  .nf-badges { gap: 7px; }
  .nf-badges span { font-size: .75rem; padding: 7px 9px; }
  .nf-radar-card { min-height: auto; padding: 18px; }
  .nf-radar { width: min(260px, 78vw); height: min(260px, 78vw); }
  .nf-radar-core { width: 78px; height: 78px; font-size: .85rem; }
  .nf-orbit { font-size: .68rem; }
  .nf-trust-strip { grid-template-columns: 1fr; gap: 8px; }
  .nf-trust-strip div { min-height: 58px; padding: 11px 12px; }
  .nf-card, .nf-results-card { border-radius: 20px; padding: 16px; }
  .nf-results-head { align-items: stretch; gap: 12px; }
  .nf-pill { white-space: normal; line-height: 1.35; }
  .nf-table-wrap { overflow: visible; border: none; background: transparent; }
  table { min-width: 0; background: transparent; }
  thead { display: none; }
  tbody, tr, td { display: block; width: 100%; }
  tr {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    background: rgba(4,12,23,.58);
    margin: 0 0 12px;
    overflow: hidden;
  }
  td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    padding: 12px 13px;
    text-align: right;
  }
  td::before {
    content: attr(data-label);
    flex: 0 0 auto;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-align: left;
  }
  .nf-empty-row td { display: block; text-align: center; }
  .nf-empty-row td::before { content: ""; display: none; }
  .nf-keyword { display: block; text-align: left; }
  .nf-keyword::before { display: block; margin-bottom: 6px; }
  .nf-detail-btn { width: 100%; }
  .nf-dialog { width: min(100% - 18px, 760px); border-radius: 20px; }
  #dialogContent { padding: 14px; }
}

@media (max-width: 420px) {
  h1 { font-size: 2.1rem; }
  .nf-brand-mark { width: 42px; height: 42px; }
  .nf-menu-toggle em { display: none; }
  .nf-card-head { align-items: flex-start; gap: 8px; }
}

/* IB-NF-004 — Source Architecture Panel */
.nf-source-panel {
  margin: 22px 0;
  padding: 22px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(101,255,166,.08), transparent 30%),
    linear-gradient(135deg, rgba(12,24,44,.86), rgba(4,12,23,.78));
  border: 1px solid rgba(111,161,255,.14);
  box-shadow: 0 26px 90px rgba(0,0,0,.25);
  scroll-margin-top: 100px;
}

.nf-source-layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(320px, 1.28fr);
  gap: 16px;
  align-items: stretch;
}

.nf-source-copy {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}

.nf-source-copy strong {
  display: block;
  color: #effbff;
  font-size: 1.02rem;
  margin-bottom: 8px;
}

.nf-source-copy p {
  color: var(--soft);
  line-height: 1.6;
  margin: 0 0 16px;
}

.nf-source-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.nf-source-item {
  min-height: 112px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(4,12,23,.58);
  border: 1px solid rgba(255,255,255,.08);
}

.nf-source-item strong {
  display: block;
  color: #ecf8ff;
  font-size: .94rem;
  margin-bottom: 7px;
}

.nf-source-item span {
  display: block;
  color: var(--soft);
  font-size: .83rem;
  line-height: 1.38;
}

.nf-source-item em {
  display: inline-flex;
  margin-top: 10px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  color: var(--accent2);
  background: rgba(101,255,166,.075);
  border: 1px solid rgba(101,255,166,.16);
}

.nf-source-item.unavailable em,
.nf-source-item.standby em {
  color: #ffd27c;
  background: rgba(255,210,124,.08);
  border-color: rgba(255,210,124,.18);
}

@media (max-width: 920px) {
  .nf-source-layout { grid-template-columns: 1fr; }
  .nf-source-list { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .nf-source-panel { border-radius: 20px; padding: 16px; }
  .nf-source-item { min-height: auto; }
}

/* IB-NF-004 — Optional Google Books switch + polished source UI */
.nf-connector-switch {
  margin: 16px 0 14px;
  padding: 13px;
  border-radius: 18px;
  background: rgba(68,230,255,.055);
  border: 1px solid rgba(68,230,255,.14);
}

.nf-switch {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}

.nf-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.nf-switch-track {
  width: 54px;
  height: 30px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  padding: 3px;
  transition: .2s ease;
}

.nf-switch-track i {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #b8c9dc;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  transition: .2s ease;
}

.nf-switch input:checked + .nf-switch-track {
  background: linear-gradient(135deg, rgba(68,230,255,.42), rgba(101,255,166,.36));
  border-color: rgba(101,255,166,.42);
}

.nf-switch input:checked + .nf-switch-track i {
  transform: translateX(24px);
  background: #ffffff;
}

.nf-switch strong {
  display: block;
  color: var(--text);
  font-size: .92rem;
}

.nf-switch small {
  display: block;
  margin-top: 3px;
  color: var(--soft);
  font-size: .78rem;
  line-height: 1.35;
}

.nf-source-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}

.nf-source-flags span {
  padding: 7px 9px;
  border-radius: 999px;
  font-size: .73rem;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05);
  color: var(--muted);
}

.nf-source-flags span.ok {
  color: var(--accent2);
  border-color: rgba(101,255,166,.18);
  background: rgba(101,255,166,.075);
}

.nf-source-flags span.warn {
  color: var(--warn);
  border-color: rgba(255,209,102,.18);
  background: rgba(255,209,102,.075);
}

.nf-source-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}

.nf-source-topline strong {
  margin-bottom: 0;
}

.nf-source-topline small {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.nf-source-topline b {
  display: inline-flex;
  padding: 4px 6px;
  border-radius: 999px;
  font-size: .62rem;
  line-height: 1;
  color: var(--accent);
  background: rgba(68,230,255,.075);
  border: 1px solid rgba(68,230,255,.16);
}

.nf-source-item p {
  margin: 10px 0 0;
  color: #7f99b9;
  font-size: .76rem;
  line-height: 1.36;
}

.nf-source-item.ready,
.nf-source-item.active {
  border-color: rgba(101,255,166,.2);
  background: linear-gradient(180deg, rgba(101,255,166,.055), rgba(4,12,23,.58));
}

.nf-source-item.optional {
  border-color: rgba(68,230,255,.18);
  background: linear-gradient(180deg, rgba(68,230,255,.05), rgba(4,12,23,.58));
}

.nf-source-item.optional em {
  color: var(--accent);
  background: rgba(68,230,255,.075);
  border-color: rgba(68,230,255,.18);
}

.nf-detail-section small {
  color: var(--soft);
  line-height: 1.45;
}

@media (max-width: 760px) {
  .nf-switch { grid-template-columns: 1fr; }
  .nf-switch-track { order: 2; }
  .nf-source-topline { display: grid; }
  .nf-source-topline small { justify-content: flex-start; }
}

/* IB-NF-006 — PRO result details + Book Plan Generator */
.nf-book-plan {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid var(--line2);
  background: linear-gradient(180deg, rgba(15, 31, 56, .92), rgba(7, 17, 31, .94));
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
}

.nf-book-plan::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 16% 0%, rgba(101,255,166,.10), transparent 34%), radial-gradient(circle at 88% 14%, rgba(68,230,255,.12), transparent 30%);
}

.nf-plan-layout {
  position: relative;
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  gap: 16px;
  z-index: 1;
}

.nf-plan-main,
.nf-plan-side > div {
  padding: 18px;
  border-radius: 22px;
  background: rgba(4,12,23,.58);
  border: 1px solid rgba(255,255,255,.08);
}

.nf-plan-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--accent2);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: rgba(101,255,166,.075);
  border: 1px solid rgba(101,255,166,.18);
}

.nf-plan-main h3 {
  margin: 14px 0 8px;
  font-size: clamp(1.3rem, 2.8vw, 2.2rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.nf-plan-main p {
  color: var(--muted);
  line-height: 1.58;
  margin: 0 0 16px;
}

.nf-plan-specs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.nf-plan-specs div {
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
  min-width: 0;
}

.nf-plan-specs span {
  display: block;
  color: var(--soft);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 900;
  margin-bottom: 5px;
}

.nf-plan-specs strong {
  display: block;
  color: var(--text);
  font-size: .92rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.nf-plan-specs.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nf-plan-actions,
.nf-plan-highlight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.nf-plan-side {
  display: grid;
  gap: 16px;
}

.nf-plan-side strong {
  display: block;
  color: var(--accent);
  font-size: .86rem;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.nf-plan-side ol,
.nf-detail-section ol {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
  line-height: 1.55;
}

.nf-keyword-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nf-keyword-chips span {
  display: inline-flex;
  padding: 7px 9px;
  border-radius: 999px;
  color: var(--accent);
  font-size: .76rem;
  font-weight: 800;
  background: rgba(68,230,255,.075);
  border: 1px solid rgba(68,230,255,.16);
}

.nf-detail-grid-pro {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.nf-plan-highlight {
  border-color: rgba(101,255,166,.19) !important;
  background: linear-gradient(180deg, rgba(101,255,166,.065), rgba(255,255,255,.035));
}

.nf-plan-highlight-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.nf-plan-highlight-head h4,
.nf-plan-highlight-head p {
  margin: 0;
}

.nf-plan-highlight-head p {
  margin-top: 6px;
  color: var(--muted);
  line-height: 1.48;
}

.nf-listing-draft {
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(68,230,255,.15);
  background: rgba(68,230,255,.055);
}

.nf-listing-draft strong,
.nf-listing-draft span {
  display: block;
}

.nf-listing-draft strong {
  color: var(--text);
  font-size: 1.05rem;
  margin-bottom: 6px;
}

.nf-listing-draft span {
  color: var(--soft);
  line-height: 1.45;
}

.nf-detail-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 980px) {
  .nf-plan-layout,
  .nf-detail-two-col { grid-template-columns: 1fr; }
  .nf-detail-grid-pro { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .nf-book-plan { padding: 16px; border-radius: 20px; }
  .nf-plan-specs,
  .nf-plan-specs.compact { grid-template-columns: 1fr 1fr; }
  .nf-plan-highlight-head { display: grid; }
  .nf-detail-grid-pro { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 460px) {
  .nf-plan-specs,
  .nf-plan-specs.compact,
  .nf-detail-grid-pro { grid-template-columns: 1fr; }
}

/* IB-NF-006 — PDF report export + InspectBook CTA upgrade */
.nf-pdf-btn {
  border-color: rgba(255, 209, 102, .28) !important;
  background: linear-gradient(135deg, rgba(255, 209, 102, .16), rgba(68, 230, 255, .08)) !important;
  color: #fff4c6 !important;
}

.nf-link-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 38px;
}

.nf-inspectbook-cta {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(101, 255, 166, .18);
  background:
    radial-gradient(circle at 12% 0%, rgba(101, 255, 166, .12), transparent 36%),
    radial-gradient(circle at 88% 20%, rgba(68, 230, 255, .12), transparent 30%),
    linear-gradient(180deg, rgba(15, 31, 56, .94), rgba(6, 15, 28, .96));
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
}

.nf-cta-copy,
.nf-cta-panel {
  position: relative;
  z-index: 1;
}

.nf-cta-copy span {
  display: inline-flex;
  width: fit-content;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--accent2);
  background: rgba(101,255,166,.08);
  border: 1px solid rgba(101,255,166,.20);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .06em;
}

.nf-cta-copy h2 {
  margin: 14px 0 10px;
  font-size: clamp(1.65rem, 3.2vw, 3rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.nf-cta-copy p,
.nf-cta-panel p,
.nf-cta-copy li {
  color: var(--muted);
  line-height: 1.62;
}

.nf-cta-copy ul {
  margin: 14px 0 0;
  padding-left: 20px;
}

.nf-cta-panel {
  align-self: stretch;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(4,12,23,.58);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

.nf-cta-panel strong {
  color: var(--accent);
  font-size: 1.1rem;
}

.nf-cta-primary,
.nf-cta-secondary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 12px 14px;
  border-radius: 999px;
  font-weight: 900;
}

.nf-cta-primary {
  color: #03111d;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 14px 36px rgba(68, 230, 255, .18);
}

.nf-cta-secondary {
  color: var(--text);
  border: 1px solid var(--line2);
  background: rgba(255,255,255,.04);
}

@media (max-width: 860px) {
  .nf-inspectbook-cta { grid-template-columns: 1fr; }
}

@media print {
  .nf-topbar,
  .nf-menu-toggle,
  .nf-dialog,
  .nf-actions,
  .nf-plan-actions { display: none !important; }
}

/* IB-NF-007 — History Dashboard + Saved Reports */
.nf-history-card {
  margin-top: 24px;
  padding: 20px;
  border-radius: var(--radius);
  border: 1px solid rgba(68, 230, 255, .16);
  background:
    radial-gradient(circle at 8% 0%, rgba(68, 230, 255, .10), transparent 28%),
    linear-gradient(180deg, rgba(12, 28, 52, .94), rgba(5, 13, 25, .96));
  box-shadow: var(--shadow);
}

.nf-history-toolbar {
  margin: 14px 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}

.nf-history-toolbar p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.nf-history-toolbar code {
  color: var(--accent);
  background: rgba(68,230,255,.08);
  border: 1px solid rgba(68,230,255,.14);
  padding: 2px 6px;
  border-radius: 8px;
}

.nf-history-toolbar > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.nf-danger {
  border-color: rgba(255, 107, 107, .30) !important;
  background: rgba(255, 107, 107, .10) !important;
  color: #ffd0d0 !important;
}

.nf-history-list {
  display: grid;
  gap: 12px;
}

.nf-history-empty {
  padding: 18px;
  border-radius: 18px;
  color: var(--muted);
  border: 1px dashed rgba(255,255,255,.14);
  background: rgba(255,255,255,.035);
}

.nf-history-empty.warn {
  color: #ffd0d0;
  border-color: rgba(255,107,107,.25);
}

.nf-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 15px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(135deg, rgba(68, 230, 255, .055), rgba(101, 255, 166, .035)),
    rgba(255,255,255,.035);
}

.nf-history-item.is-legacy {
  opacity: .72;
}

.nf-history-main span {
  display: inline-flex;
  margin-bottom: 5px;
  color: var(--accent2);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .03em;
}

.nf-history-main strong {
  display: block;
  color: var(--text);
  font-size: 1.02rem;
}

.nf-history-main p {
  margin: 6px 0 10px;
  color: var(--muted);
  line-height: 1.45;
}

.nf-history-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.nf-history-tags em {
  font-style: normal;
  font-size: .75rem;
  font-weight: 850;
  color: var(--soft);
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
}

.nf-history-score {
  min-width: 92px;
  text-align: center;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(68,230,255,.14);
  background: rgba(68,230,255,.06);
}

.nf-history-score strong {
  display: block;
  color: var(--accent);
  font-size: 1.45rem;
  letter-spacing: -.04em;
}

.nf-history-score span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  margin-top: 2px;
}

.nf-history-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 132px;
}

.nf-history-actions button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

@media (max-width: 900px) {
  .nf-history-toolbar,
  .nf-history-item {
    grid-template-columns: 1fr;
  }

  .nf-history-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .nf-history-toolbar > div,
  .nf-history-actions {
    justify-content: flex-start;
  }

  .nf-history-score {
    width: fit-content;
    text-align: left;
  }

  .nf-history-actions {
    min-width: 0;
    flex-direction: row;
    flex-wrap: wrap;
  }
}


/* IB-NF-011 — Admin Settings Panel + Scan Limits + Privacy Notice */
.nf-admin-card,
.nf-privacy-panel,
.nf-privacy-card {
  margin-top: 22px;
  border: 1px solid rgba(94, 234, 212, .18);
  background: linear-gradient(145deg, rgba(15, 23, 42, .88), rgba(2, 6, 23, .76));
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

.nf-admin-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 18px;
  align-items: start;
}

.nf-admin-main,
.nf-admin-side {
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 20px;
  background: rgba(15, 23, 42, .58);
  padding: 18px;
}

.nf-admin-main p,
.nf-privacy-panel p,
.nf-privacy-card p,
.nf-privacy-card li {
  color: rgba(226, 232, 240, .76);
  line-height: 1.65;
}

.nf-admin-main code,
.nf-admin-side code,
.nf-privacy-card code {
  color: #a7f3d0;
  background: rgba(20, 184, 166, .10);
  border: 1px solid rgba(20, 184, 166, .20);
  border-radius: 8px;
  padding: 2px 6px;
}

.nf-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.nf-check-row {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 14px;
  background: rgba(2, 6, 23, .34);
  color: rgba(226, 232, 240, .86);
  font-weight: 700;
}

.nf-check-row input {
  width: 18px;
  height: 18px;
  accent-color: #14b8a6;
}

.nf-admin-number-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nf-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.nf-admin-actions input {
  min-width: 220px;
  flex: 1;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 999px;
  background: rgba(2, 6, 23, .48);
  color: #e2e8f0;
  padding: 11px 14px;
}

.nf-save {
  border-color: rgba(34, 197, 94, .35) !important;
  background: rgba(34, 197, 94, .12) !important;
}

.nf-admin-status {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.nf-admin-status span,
.nf-privacy-settings div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 12px;
  padding: 10px 12px;
  color: rgba(226, 232, 240, .80);
  background: rgba(2, 6, 23, .32);
}

.nf-admin-status .ok { color: #86efac; }
.nf-admin-status .warn { color: #fbbf24; }

.nf-privacy-shell { max-width: 980px; }
.nf-privacy-card h1,
.nf-privacy-card h2 { color: #f8fafc; }
.nf-privacy-card h1 { font-size: clamp(2rem, 4vw, 3.4rem); margin: 18px 0 12px; }
.nf-privacy-card h2 { margin-top: 24px; }
.nf-privacy-settings { display: grid; gap: 10px; margin: 16px 0 22px; }
.nf-privacy-settings strong { color: #a7f3d0; }
.is-privacy-nav { display: flex !important; }

@media (max-width: 900px) {
  .nf-admin-layout,
  .nf-admin-grid,
  .nf-admin-number-row {
    grid-template-columns: 1fr;
  }

  .nf-admin-actions input,
  .nf-admin-actions button {
    width: 100%;
  }
}

.is-hidden-by-setting { display: none !important; }

/* IB-NF-011 — Public Landing Polish + SEO Metadata + Social Preview */
.nf-public-landing {
  margin-top: 24px;
  border: 1px solid rgba(148, 163, 184, .12);
  background:
    linear-gradient(135deg, rgba(68, 230, 255, .10), transparent 38%),
    linear-gradient(180deg, rgba(15, 31, 56, .88), rgba(9, 20, 38, .94));
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  padding: 24px;
}

.nf-public-landing::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 88% 20%, rgba(101, 255, 166, .12), transparent 30%);
}

.nf-public-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 20px;
  align-items: stretch;
}

.nf-public-copy,
.nf-public-cards div,
.nf-seo-note {
  border: 1px solid rgba(148, 163, 184, .14);
  background: rgba(2, 6, 23, .32);
  border-radius: 20px;
}

.nf-public-copy {
  padding: 22px;
}

.nf-public-copy h3 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  line-height: 1.05;
  letter-spacing: -.04em;
  color: #f8fafc;
}

.nf-public-copy p,
.nf-public-cards span,
.nf-seo-note {
  color: rgba(226, 232, 240, .76);
  line-height: 1.65;
}

.nf-public-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.nf-public-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.nf-public-cards div {
  padding: 18px;
  min-height: 160px;
}

.nf-public-cards strong {
  display: block;
  color: #a7f3d0;
  font-size: 1.02rem;
  margin-bottom: 8px;
}

.nf-seo-note {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  padding: 14px 16px;
}

.nf-seo-note strong {
  color: #44e6ff;
}

@media (max-width: 1040px) {
  .nf-public-layout,
  .nf-public-cards {
    grid-template-columns: 1fr;
  }

  .nf-public-cards div {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .nf-public-landing {
    padding: 16px;
    margin-top: 18px;
  }

  .nf-public-copy,
  .nf-public-cards div {
    padding: 16px;
  }
}


/* IB-NF-011 — Keyword Presets Library */
.nf-preset-panel{margin-top:24px;padding:24px;border:1px solid rgba(78,157,255,.20);border-radius:28px;background:linear-gradient(145deg,rgba(8,18,34,.92),rgba(10,27,48,.72));box-shadow:0 24px 80px rgba(0,0,0,.22)}
.nf-preset-tools{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:end;margin:18px 0 22px}.nf-preset-tools strong{display:block;color:#eaf4ff;font-size:18px}.nf-preset-tools p{margin:8px 0 0;color:#9fb4cf;line-height:1.55}.nf-preset-controls{display:grid;grid-template-columns:1fr .75fr auto;gap:10px}.nf-preset-controls input,.nf-preset-controls select{width:100%;border:1px solid rgba(145,186,255,.18);border-radius:14px;background:rgba(6,14,28,.78);color:#eaf4ff;padding:12px 13px;outline:none}.nf-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nf-preset-card{border:1px solid rgba(145,186,255,.16);border-radius:22px;background:rgba(4,11,23,.58);padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.nf-preset-card-head span{display:block;color:#67d8ff;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}.nf-preset-card-head strong{display:block;color:#fff;font-size:18px}.nf-preset-card p{color:#a9bdd5;line-height:1.55;margin:10px 0}.nf-preset-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.nf-preset-meta-row em{font-style:normal;color:#cfe6ff;background:rgba(78,157,255,.12);border:1px solid rgba(78,157,255,.18);border-radius:999px;padding:6px 9px;font-size:12px}.nf-preset-keywords{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.nf-preset-keywords span{font-size:12px;color:#daf0ff;border:1px solid rgba(103,216,255,.16);background:rgba(103,216,255,.08);border-radius:999px;padding:6px 9px}.nf-preset-details{border-top:1px solid rgba(255,255,255,.07);margin-top:12px;padding-top:12px}.nf-preset-details summary{cursor:pointer;color:#fff;font-weight:700}.nf-preset-details small{display:block;color:#ffcf8a;line-height:1.5}.nf-preset-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.nf-preset-empty{grid-column:1/-1;border:1px dashed rgba(145,186,255,.24);border-radius:18px;padding:18px;color:#9fb4cf}.nf-preset-empty.warn{color:#ffcf8a;border-color:rgba(255,207,138,.36)}
@media (max-width:860px){.nf-preset-tools{grid-template-columns:1fr}.nf-preset-controls{grid-template-columns:1fr}.nf-preset-grid{grid-template-columns:1fr}.nf-preset-panel{padding:18px;border-radius:22px}}


/* IB-NF-011 — Keyword Pack Editor + Admin Import/Export */
.nf-pack-editor-card{margin-top:24px;padding:24px;border:1px solid rgba(101,255,166,.18);border-radius:28px;background:linear-gradient(145deg,rgba(6,16,31,.94),rgba(9,25,43,.76));box-shadow:0 24px 80px rgba(0,0,0,.26)}
.nf-pack-editor-layout{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start}.nf-pack-editor-list,.nf-pack-editor-form{border:1px solid rgba(148,163,184,.14);border-radius:22px;background:rgba(2,6,23,.30);padding:16px}.nf-pack-editor-toolbar,.nf-pack-editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.nf-pack-admin-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-right:4px}.nf-pack-admin-item{width:100%;text-align:left;border:1px solid rgba(145,186,255,.14);border-radius:16px;background:rgba(8,18,34,.78);color:#dcecff;padding:12px}.nf-pack-admin-item:hover,.nf-pack-admin-item.active{border-color:rgba(68,230,255,.45);background:rgba(68,230,255,.10)}.nf-pack-admin-item strong{display:block;font-size:14px;color:#fff}.nf-pack-admin-item span{display:block;margin-top:4px;color:#9fb4cf;font-size:12px;line-height:1.35}.nf-pack-editor-form p{margin-top:0;color:#a9bdd5;line-height:1.55}.nf-pack-editor-form code{color:#7de3ff}.nf-pack-editor-row{grid-template-columns:repeat(3,minmax(0,1fr))}.nf-pack-editor-row + .nf-pack-editor-row{grid-template-columns:repeat(4,minmax(0,1fr))}.nf-pack-editor-form input,.nf-pack-editor-form textarea{width:100%;border:1px solid rgba(145,186,255,.18);border-radius:14px;background:rgba(6,14,28,.78);color:#eaf4ff;padding:12px 13px;outline:none}.nf-import-box{margin-top:18px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.nf-import-head strong{display:block;color:#fff}.nf-import-head span{display:block;color:#9fb4cf;font-size:13px;margin:5px 0 10px}.nf-pack-editor-card .nf-admin-status{margin-top:14px}
@media (max-width:1040px){.nf-pack-editor-layout{grid-template-columns:1fr}.nf-pack-admin-list{max-height:360px}.nf-pack-editor-row,.nf-pack-editor-row + .nf-pack-editor-row{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.nf-pack-editor-card{padding:16px;border-radius:22px}.nf-pack-editor-row,.nf-pack-editor-row + .nf-pack-editor-row{grid-template-columns:1fr}.nf-pack-editor-actions .nf-mini,.nf-pack-editor-toolbar .nf-mini{width:100%}}


/* IB-NF-012 final simple release helpers */
.nf-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px;
  border: 1px solid var(--line2);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  flex-shrink: 0;
}

.nf-lang-switch button {
  border: 0;
  border-radius: 999px;
  padding: 8px 10px;
  color: var(--muted);
  background: transparent;
  font-weight: 900;
  letter-spacing: .04em;
}

.nf-lang-switch button.is-active {
  color: #06111f;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
}

.nf-launch-note {
  margin: 18px 0 0;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(101,255,166,.2);
  background: rgba(101,255,166,.07);
  border-radius: 20px;
  padding: 16px 18px;
  color: var(--muted);
}

.nf-launch-note strong {
  color: var(--accent2);
  white-space: nowrap;
}

.nf-advanced-details {
  margin-top: 22px;
  border: 1px solid var(--line2);
  border-radius: var(--radius);
  background: rgba(6,15,28,.58);
  box-shadow: 0 16px 48px rgba(0,0,0,.22);
  overflow: hidden;
}

.nf-advanced-details > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 22px;
  font-weight: 900;
  color: var(--text);
}

.nf-advanced-details > summary::-webkit-details-marker { display: none; }
.nf-advanced-details > summary::after {
  content: '+';
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(68,230,255,.12);
  color: var(--accent);
  border: 1px solid rgba(68,230,255,.26);
}
.nf-advanced-details[open] > summary::after { content: '–'; }
.nf-advanced-details > summary em {
  color: var(--muted);
  font-style: normal;
  font-weight: 600;
  margin-left: auto;
}
.nf-advanced-details .nf-source-panel,
.nf-advanced-details .nf-admin-card,
.nf-advanced-details .nf-pack-editor-card {
  margin: 18px;
}

@media (max-width: 980px) {
  .nf-topbar { flex-wrap: wrap; }
  .nf-lang-switch { order: 3; margin-left: auto; }
  .nf-launch-note { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  .nf-lang-switch { width: 100%; justify-content: center; order: 4; }
  .nf-advanced-details > summary { align-items: flex-start; flex-direction: column; }
  .nf-advanced-details > summary em { margin-left: 0; }
}


/* IB-NF-012.2 — No translation buttons: stable visible dropdown */
.nf-lang-switch,
.nf-fixed-langbar {
  display: none !important;
}

.nf-language-select-wrap {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  padding: 7px 9px;
  border: 1px solid rgba(68,230,255,.32);
  border-radius: 999px;
  background: rgba(4,12,24,.82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 36px rgba(0,0,0,.25);
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 10002;
}

.nf-language-select-wrap span {
  color: #9fb4cf;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.nf-language-select-wrap select {
  appearance: auto;
  min-width: 140px;
  border: 1px solid rgba(145,186,255,.22);
  border-radius: 999px;
  background: #071426;
  color: #eaf6ff;
  font-weight: 900;
  font-size: 13px;
  line-height: 1;
  padding: 9px 12px;
  outline: none;
  cursor: pointer;
}

.nf-language-select-wrap select:focus {
  border-color: rgba(68,230,255,.72);
  box-shadow: 0 0 0 3px rgba(68,230,255,.14);
}

@media (max-width: 980px) {
  .nf-language-select-wrap {
    order: 3;
    margin-left: auto;
  }
}

@media (max-width: 680px) {
  .nf-language-select-wrap {
    width: 100%;
    justify-content: space-between;
    order: 3;
    border-radius: 18px;
  }
  .nf-language-select-wrap select {
    flex: 1;
    min-width: 0;
  }
}


/* IB-NF-012.3 — Emergency hard-visible language dropdown */
#ibNfLanguageDock { display:flex !important; visibility:visible !important; opacity:1 !important; }
@media (max-width: 680px) {
  #ibNfLanguageDock { top: 8px !important; left: 8px !important; right: 8px !important; justify-content: space-between !important; border-radius: 18px !important; }
  #ibNfLanguageDock select { flex: 1 !important; min-width: 0 !important; }
  .nf-shell { padding-top: 66px !important; }
}
@media (min-width: 681px) {
  .nf-shell { padding-top: 56px !important; }
}


/* IB-NF-012.4 — nuclear visible language/version bar */
#ibNfEmergencyTopBar{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
#ibNfEmergencyTopBar select{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}


/* IB-NF-012.5 — InspectBook-style responsive header polish */
body { padding-top: 0 !important; }
.nf-shell {
  width: min(1440px, calc(100% - 32px));
  padding-top: 78px !important;
}
.nf-topbar.nf-inspectbook-header {
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  transform: translateX(-50%) !important;
  z-index: 10050 !important;
  min-height: 54px;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 18px;
  margin: 0 !important;
  padding: 9px clamp(14px, 4vw, 34px) !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(111, 161, 255, .13) !important;
  background: rgba(4, 10, 22, .94) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.36) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.nf-topbar.nf-inspectbook-header::after {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(68,230,255,.18), rgba(101,255,166,.12), transparent) !important;
}
.nf-inspectbook-header .nf-brand {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: #f3f8ff;
}
.nf-inspectbook-header .nf-brand-mark {
  width: 31px !important;
  height: 31px !important;
  flex: 0 0 31px;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #35b9ff, #54e6ff) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 10px 25px rgba(45,177,255,.22) !important;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: -.05em;
}
.nf-inspectbook-header .nf-brand-text {
  display: grid;
  line-height: 1;
  min-width: 0;
}
.nf-inspectbook-header .nf-brand strong {
  font-size: 1rem !important;
  color: #ffffff;
  letter-spacing: -.03em;
  white-space: nowrap;
}
.nf-inspectbook-header .nf-brand em {
  margin-top: 3px !important;
  color: #8aa0bb !important;
  font-size: .70rem !important;
  font-weight: 800;
  letter-spacing: .02em;
  white-space: nowrap;
}
.nf-inspectbook-header .nf-nav {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-width: 0;
}
.nf-inspectbook-header .nf-nav a {
  padding: 8px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #dfe8f5 !important;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.nf-inspectbook-header .nf-nav a:hover {
  color: #ffffff !important;
  text-shadow: 0 0 18px rgba(68,230,255,.28);
}
.nf-inspectbook-header .nf-nav .nf-nav-cta {
  padding: 8px 12px !important;
  border-radius: 999px !important;
  color: #06111f !important;
  background: linear-gradient(135deg, #48e9ff, #74ffb0) !important;
  box-shadow: 0 10px 24px rgba(68,230,255,.15) !important;
}
.nf-header-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}
.nf-header-lang {
  height: 31px;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  margin: 0;
  border: 1px solid rgba(111,161,255,.20);
  border-radius: 999px;
  background: rgba(7,18,34,.84);
  color: #eaf6ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.nf-lang-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #44e6ff;
  box-shadow: 0 0 13px rgba(68,230,255,.8);
}
.nf-header-lang select {
  display: block !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
  width: 48px;
  min-width: 48px;
  max-width: 48px;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #eaf6ff !important;
  font-size: .74rem;
  font-weight: 950;
  line-height: 1;
  padding: 0 !important;
  cursor: pointer;
}
.nf-header-lang select option { color: #06111f; background: #fff; }
.nf-inspectbook-header .nf-menu-toggle {
  display: none;
  height: 31px;
  min-height: 31px;
  align-items: center;
  gap: 4px;
  padding: 6px 8px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,209,102,.26) !important;
  background: rgba(255,209,102,.07) !important;
  color: #ffd166 !important;
  box-shadow: none !important;
}
.nf-inspectbook-header .nf-menu-toggle span {
  width: 13px;
  height: 2px;
  background: #ffd166 !important;
}
.nf-inspectbook-header .nf-menu-toggle em {
  margin-left: 2px;
  font-size: .70rem;
  font-weight: 900;
  color: #ffd166;
}
.nf-hero { margin-top: 0 !important; }

@media (max-width: 1080px) {
  .nf-inspectbook-header .nf-nav { gap: 13px; }
  .nf-inspectbook-header .nf-nav a { font-size: .78rem; }
}

@media (max-width: 820px) {
  .nf-shell {
    width: min(100% - 18px, 1440px) !important;
    padding-top: 68px !important;
  }
  .nf-topbar.nf-inspectbook-header {
    min-height: 49px;
    grid-template-columns: auto 1fr auto;
    gap: 8px;
    padding: 8px 10px !important;
  }
  .nf-inspectbook-header .nf-brand-mark {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px;
    font-size: 11px;
  }
  .nf-inspectbook-header .nf-brand strong { font-size: .95rem !important; }
  .nf-inspectbook-header .nf-brand em { display: none !important; }
  .nf-inspectbook-header .nf-nav {
    display: none !important;
    position: fixed !important;
    top: 53px !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: rgba(5, 12, 24, .985) !important;
    border: 1px solid rgba(111,161,255,.22) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.48) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    z-index: 10060;
  }
  .nf-inspectbook-header .nf-nav.is-open {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .nf-inspectbook-header .nf-nav a,
  .nf-inspectbook-header .nf-nav .nf-nav-cta {
    min-height: 42px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 11px 14px !important;
    border-radius: 13px !important;
    color: #eaf6ff !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.065) !important;
    font-size: .84rem;
  }
  .nf-inspectbook-header .nf-nav .nf-nav-cta {
    color: #06111f !important;
    background: linear-gradient(135deg, #48e9ff, #74ffb0) !important;
  }
  .nf-header-actions { gap: 6px; }
  .nf-header-lang {
    height: 30px;
    padding: 4px 6px;
  }
  .nf-header-lang select {
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    font-size: .70rem;
  }
  .nf-inspectbook-header .nf-menu-toggle { display: inline-flex !important; }
}

@media (max-width: 380px) {
  .nf-inspectbook-header .nf-brand strong { font-size: .86rem !important; }
  .nf-inspectbook-header .nf-brand { gap: 7px; }
  .nf-header-lang select { width: 40px; min-width: 40px; max-width: 40px; }
  .nf-inspectbook-header .nf-menu-toggle em { display: none !important; }
}


/* IB-NF-012.6 — Premium InspectBook-grade header rebuild */
:root { --nf-header-h: 74px; }
body { padding-top: 0 !important; }
.nf-shell {
  width: min(1440px, calc(100% - 34px)) !important;
  padding-top: calc(var(--nf-header-h) + 22px) !important;
}
#ibNfEmergencyTopBar,
#ibNfLanguageDock,
.nf-topbar.nf-inspectbook-header { display: none !important; }
.nf-premium-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 12000;
  min-height: var(--nf-header-h);
  display: flex;
  align-items: center;
  padding: 12px clamp(14px, 3vw, 32px);
  background:
    radial-gradient(circle at 18% 0%, rgba(68,230,255,.12), transparent 36%),
    linear-gradient(180deg, rgba(4, 10, 21, .965), rgba(5, 12, 24, .925));
  border-bottom: 1px solid rgba(127, 179, 255, .13);
  box-shadow: 0 20px 55px rgba(0,0,0,.42);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.nf-premium-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(68,230,255,.38), rgba(101,255,166,.18), transparent);
  pointer-events: none;
}
.nf-premium-header-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(210px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(16px, 2.4vw, 32px);
}
.nf-premium-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.nf-premium-logo {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #041120;
  font-weight: 950;
  letter-spacing: -.06em;
  background: linear-gradient(135deg, #62eeff 0%, #74ffb0 100%);
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 13px 34px rgba(68,230,255,.22), inset 0 1px 0 rgba(255,255,255,.4);
}
.nf-premium-brand-copy {
  display: grid;
  gap: 2px;
  line-height: 1;
  min-width: 0;
}
.nf-premium-brand-copy strong {
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 950;
  letter-spacing: -.04em;
  white-space: nowrap;
}
.nf-premium-brand-copy em {
  color: #8edcff;
  font-size: .77rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
  white-space: nowrap;
}
.nf-premium-nav {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(127, 179, 255, .13);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
}
.nf-premium-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  color: #c4d4e8;
  font-size: .84rem;
  font-weight: 850;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.nf-premium-nav a:hover {
  color: #ffffff;
  background: rgba(68,230,255,.10);
  transform: translateY(-1px);
}
.nf-premium-actions {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.nf-premium-lang {
  height: 40px;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 0 8px 0 12px;
  margin: 0;
  border-radius: 999px;
  border: 1px solid rgba(111,161,255,.20);
  background: rgba(9, 22, 40, .86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  color: #dbeeff;
}
.nf-premium-lang-label {
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #7fdcff;
}
.nf-premium-lang select {
  display: block !important;
  width: 54px;
  min-width: 54px;
  border: 0 !important;
  outline: 0 !important;
  padding: 0 0 0 2px !important;
  color: #ffffff !important;
  background: transparent !important;
  font-size: .83rem;
  font-weight: 950;
  cursor: pointer;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
}
.nf-premium-lang select option { color: #06111f; background: #fff; }
.nf-premium-cta {
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-radius: 999px;
  color: #03111d !important;
  font-size: .82rem;
  font-weight: 950;
  background: linear-gradient(135deg, #64eeff, #72ffae);
  box-shadow: 0 14px 32px rgba(68,230,255,.18), inset 0 1px 0 rgba(255,255,255,.42);
  white-space: nowrap;
}
.nf-premium-cta:hover { transform: translateY(-1px); }
.nf-premium-menu {
  display: none;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
  color: #ffffff;
}
.nf-premium-menu span {
  display: block;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: #ffffff;
}
.nf-premium-menu em {
  margin-left: 4px;
  font-size: .76rem;
  font-weight: 900;
  font-style: normal;
}
.nf-hero { margin-top: 0 !important; }

@media (max-width: 1080px) {
  .nf-premium-header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
  }
  .nf-premium-brand-copy em { display: none; }
  .nf-premium-nav a { padding: 0 10px; font-size: .78rem; }
  .nf-premium-cta { padding: 0 12px; }
}

@media (max-width: 820px) {
  :root { --nf-header-h: 66px; }
  .nf-shell {
    width: min(100% - 18px, 1440px) !important;
    padding-top: calc(var(--nf-header-h) + 16px) !important;
  }
  .nf-premium-header {
    min-height: var(--nf-header-h);
    padding: 10px 9px;
  }
  .nf-premium-header-inner {
    width: 100%;
    grid-template-columns: auto 1fr auto;
    gap: 8px;
  }
  .nf-premium-logo {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 14px;
    font-size: .92rem;
  }
  .nf-premium-brand {
    gap: 9px;
    min-width: 0;
  }
  .nf-premium-brand-copy strong {
    font-size: .98rem;
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .nf-premium-nav {
    display: none !important;
    position: fixed;
    top: calc(var(--nf-header-h) + 8px);
    left: 10px;
    right: 10px;
    width: auto;
    padding: 10px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(8,18,34,.99), rgba(5,12,24,.99));
    border: 1px solid rgba(111,161,255,.22);
    box-shadow: 0 28px 80px rgba(0,0,0,.58);
    z-index: 12010;
  }
  .nf-premium-nav.is-open {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .nf-premium-nav a {
    min-height: 48px;
    width: 100%;
    padding: 0 16px;
    border-radius: 15px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.07);
    font-size: .92rem;
    color: #eef7ff;
  }
  .nf-premium-actions {
    gap: 7px;
  }
  .nf-premium-lang {
    height: 40px;
    padding: 0 6px 0 8px;
    gap: 4px;
  }
  .nf-premium-lang-label { display: none; }
  .nf-premium-lang select {
    width: 46px;
    min-width: 46px;
    font-size: .78rem;
  }
  .nf-premium-cta { display: none; }
  .nf-premium-menu { display: inline-flex !important; }
}

@media (max-width: 420px) {
  .nf-premium-brand-copy strong { max-width: 100px; font-size: .92rem; }
  .nf-premium-logo { width: 38px; height: 38px; flex-basis: 38px; }
  .nf-premium-menu { width: 42px; padding: 0; }
  .nf-premium-menu em { display: none; }
  .nf-premium-lang select { width: 43px; min-width: 43px; }
}

@media (max-width: 350px) {
  .nf-premium-brand-copy { display: none; }
  .nf-premium-lang { padding: 0 5px; }
  .nf-premium-lang select { width: 40px; min-width: 40px; }
}

/* IB-NF-012.7 — Premium fuller InspectBook-style header */
:root { --nf-header-h: 102px; }
body { padding-top: 0 !important; }
.nf-shell {
  width: min(1440px, calc(100% - 34px)) !important;
  padding-top: calc(var(--nf-header-h) + 16px) !important;
}
#ibNfEmergencyTopBar,
#ibNfLanguageDock,
.nf-topbar.nf-inspectbook-header { display: none !important; }

.nf-premium-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 12000 !important;
  min-height: var(--nf-header-h) !important;
  padding: 14px clamp(14px, 3vw, 34px) !important;
  display: flex !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(68,230,255,.16), transparent 34%),
    radial-gradient(circle at 88% 15%, rgba(113,255,174,.10), transparent 30%),
    linear-gradient(180deg, rgba(4, 10, 21, .985), rgba(6, 14, 28, .955)) !important;
  border-bottom: 1px solid rgba(127,179,255,.16) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.48) !important;
  backdrop-filter: blur(22px) !important;
  -webkit-backdrop-filter: blur(22px) !important;
}
.nf-premium-header::after {
  content: "" !important;
  position: absolute !important;
  left: clamp(14px,3vw,34px) !important;
  right: clamp(14px,3vw,34px) !important;
  bottom: 10px !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(68,230,255,.45), rgba(116,255,176,.28), transparent) !important;
  pointer-events: none !important;
}
.nf-premium-header-inner {
  width: min(1390px, 100%) !important;
  min-height: 72px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(270px, auto) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(18px, 2.4vw, 34px) !important;
  padding: 10px 14px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(142,220,255,.15) !important;
  background:
    linear-gradient(180deg, rgba(10, 24, 43, .84), rgba(7, 17, 31, .72)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    0 20px 52px rgba(0,0,0,.30) !important;
}
.nf-premium-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
  text-decoration: none !important;
}
.nf-premium-logo {
  width: 56px !important;
  height: 56px !important;
  flex: 0 0 56px !important;
  border-radius: 20px !important;
  display: grid !important;
  place-items: center !important;
  color: #04111f !important;
  font-size: 1.08rem !important;
  font-weight: 1000 !important;
  letter-spacing: -.065em !important;
  background: linear-gradient(135deg, #5deeff 0%, #75ffad 100%) !important;
  border: 1px solid rgba(255,255,255,.48) !important;
  box-shadow: 0 16px 42px rgba(68,230,255,.28), inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.nf-premium-brand-copy {
  display: grid !important;
  gap: 5px !important;
  line-height: 1 !important;
  min-width: 0 !important;
}
.nf-premium-brand-copy strong {
  color: #ffffff !important;
  font-size: 1.22rem !important;
  font-weight: 1000 !important;
  letter-spacing: -.045em !important;
  white-space: nowrap !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.34) !important;
}
.nf-premium-brand-copy em {
  display: block !important;
  color: #92e7ff !important;
  font-size: .78rem !important;
  font-style: normal !important;
  font-weight: 950 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.nf-premium-nav {
  justify-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 7px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(127,179,255,.16) !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.nf-premium-nav a {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  color: #d3e2f4 !important;
  font-size: .88rem !important;
  font-weight: 950 !important;
  letter-spacing: -.015em !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
.nf-premium-nav a:hover,
.nf-premium-nav a:focus-visible {
  color: #ffffff !important;
  background: rgba(68,230,255,.12) !important;
  transform: translateY(-1px) !important;
}
.nf-premium-actions {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.nf-premium-lang {
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 10px 0 15px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(111,161,255,.24) !important;
  background: rgba(8, 21, 39, .96) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.075), 0 12px 28px rgba(0,0,0,.22) !important;
  color: #eaf7ff !important;
}
.nf-premium-lang-label {
  display: inline !important;
  color: #79e9ff !important;
  font-size: .68rem !important;
  font-weight: 1000 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.nf-premium-lang select {
  display: block !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 34px !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 0 2px !important;
  color: #ffffff !important;
  background: transparent !important;
  font-size: .90rem !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
}
.nf-premium-lang select option { color: #06111f !important; background: #ffffff !important; }
.nf-premium-cta {
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  color: #03111d !important;
  font-size: .88rem !important;
  font-weight: 1000 !important;
  letter-spacing: -.01em !important;
  background: linear-gradient(135deg, #62eeff, #73ffad) !important;
  box-shadow: 0 16px 36px rgba(68,230,255,.21), inset 0 1px 0 rgba(255,255,255,.50) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.nf-premium-menu {
  display: none !important;
  height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.065) !important;
  color: #ffffff !important;
  font-weight: 950 !important;
}
.nf-premium-menu span {
  width: 17px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
}
.nf-premium-menu em {
  margin-left: 5px !important;
  font-size: .80rem !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

@media (max-width: 1180px) {
  .nf-premium-header-inner { grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto !important; gap: 14px !important; }
  .nf-premium-nav a { padding: 0 12px !important; font-size: .82rem !important; }
  .nf-premium-brand-copy strong { font-size: 1.12rem !important; }
  .nf-premium-brand-copy em { font-size: .70rem !important; }
}

@media (max-width: 940px) {
  :root { --nf-header-h: 88px; }
  .nf-shell { width: min(100% - 18px, 1440px) !important; padding-top: calc(var(--nf-header-h) + 14px) !important; }
  .nf-premium-header { min-height: var(--nf-header-h) !important; padding: 10px 9px !important; }
  .nf-premium-header::after { left: 18px !important; right: 18px !important; bottom: 7px !important; }
  .nf-premium-header-inner {
    min-height: 62px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 9px !important;
    padding: 8px 9px !important;
    border-radius: 22px !important;
  }
  .nf-premium-logo { width: 46px !important; height: 46px !important; flex-basis: 46px !important; border-radius: 17px !important; font-size: .98rem !important; }
  .nf-premium-brand { gap: 10px !important; overflow: hidden !important; }
  .nf-premium-brand-copy strong { font-size: 1.04rem !important; max-width: 155px !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  .nf-premium-brand-copy em { display: block !important; font-size: .61rem !important; max-width: 165px !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  .nf-premium-nav {
    display: none !important;
    position: fixed !important;
    top: calc(var(--nf-header-h) + 8px) !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    padding: 10px !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(8,18,34,.995), rgba(5,12,24,.995)) !important;
    border: 1px solid rgba(111,161,255,.24) !important;
    box-shadow: 0 32px 90px rgba(0,0,0,.60) !important;
    z-index: 12010 !important;
  }
  .nf-premium-nav.is-open { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .nf-premium-nav a {
    min-height: 50px !important;
    width: 100% !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.052) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: #eef7ff !important;
    font-size: .94rem !important;
    justify-content: flex-start !important;
  }
  .nf-premium-actions { gap: 7px !important; }
  .nf-premium-lang { height: 44px !important; padding: 0 8px !important; gap: 4px !important; }
  .nf-premium-lang-label { display: none !important; }
  .nf-premium-lang select { width: 48px !important; min-width: 48px !important; max-width: 48px !important; height: 34px !important; font-size: .84rem !important; }
  .nf-premium-cta { display: none !important; }
  .nf-premium-menu { display: inline-flex !important; }
}

@media (max-width: 430px) {
  :root { --nf-header-h: 84px; }
  .nf-premium-header { padding: 8px 7px !important; }
  .nf-premium-header-inner { min-height: 60px !important; border-radius: 20px !important; padding: 7px 8px !important; }
  .nf-premium-brand { gap: 8px !important; }
  .nf-premium-logo { width: 42px !important; height: 42px !important; flex-basis: 42px !important; border-radius: 15px !important; }
  .nf-premium-brand-copy strong { font-size: .98rem !important; max-width: 112px !important; }
  .nf-premium-brand-copy em { font-size: .56rem !important; max-width: 120px !important; }
  .nf-premium-lang { height: 40px !important; padding: 0 6px !important; }
  .nf-premium-lang select { width: 43px !important; min-width: 43px !important; max-width: 43px !important; font-size: .78rem !important; }
  .nf-premium-menu { width: 42px !important; height: 40px !important; padding: 0 !important; gap: 3px !important; }
  .nf-premium-menu em { display: none !important; }
}

@media (max-width: 350px) {
  .nf-premium-brand-copy em { display: none !important; }
  .nf-premium-brand-copy strong { max-width: 88px !important; }
  .nf-premium-logo { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
}


/* IB-NF-012.10 — Right Radar Replacement Fix */

/* Remove any previous large desktop scanner stage if old files/css remain loaded */
.nf-scanner-premium-stage,
.nf-radar-replacement-stage {
  display: none !important;
}

.nf-right-radar-card {
  min-height: auto !important;
  padding: 22px !important;
  border-radius: 30px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  background:
    radial-gradient(circle at 50% 22%, rgba(68,230,255,.18), transparent 44%),
    linear-gradient(180deg, rgba(10,31,68,.96), rgba(4,15,34,.98)) !important;
  overflow: hidden !important;
}
.nf-right-radar-top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  position:relative;
  z-index:2;
}
.nf-right-radar-top strong {
  color:#fff;
  font-size:1.15rem;
  font-weight:1000;
  letter-spacing:-.03em;
  text-align:right;
}
.nf-right-radar-kicker {
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  color:#79f4ff;
  border:1px solid rgba(79,221,255,.24);
  background:rgba(79,221,255,.08);
  font-size:.68rem;
  letter-spacing:.14em;
  font-weight:1000;
}
.nf-right-radar-stage {
  position:relative;
  display:grid;
  place-items:center;
  min-height:330px;
  padding:8px 0 2px;
}
.nf-domain-radar {
  aspect-ratio: 1;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(103,244,255,.34);
  background:
    repeating-radial-gradient(circle, rgba(68,230,255,0) 0 42px, rgba(68,230,255,.18) 43px 45px),
    radial-gradient(circle at center, rgba(68,230,255,.10), transparent 64%),
    linear-gradient(135deg, rgba(68,230,255,.09), rgba(101,255,166,.05));
  box-shadow:
    inset 0 0 70px rgba(68,230,255,.15),
    0 0 105px rgba(68,230,255,.15),
    0 22px 80px rgba(0,0,0,.30);
}
.nf-domain-radar::before,
.nf-domain-radar::after {
  content:"";
  position:absolute;
  left:50%; top:0;
  width:1px; height:100%;
  background: rgba(120,247,255,.18);
  z-index:1;
}
.nf-domain-radar::after { transform: rotate(90deg); transform-origin:center; }
.nf-domain-radar--right {
  width:min(330px, 100%);
  max-width:100%;
}
.nf-domain-sweep {
  position:absolute;
  inset:0;
  border-radius:inherit;
  background: conic-gradient(from 0deg, transparent 0deg, transparent 246deg, rgba(68,230,255,.08) 282deg, rgba(68,230,255,.48) 340deg, rgba(101,255,166,.36) 360deg);
  animation: nfSpin 3.2s linear infinite;
  mix-blend-mode:screen;
  z-index:2;
}
.nf-radar-dot {
  position:absolute;
  width:16px; height:16px;
  border-radius:999px;
  right:32%; top:38%;
  background:#65ffa6;
  box-shadow:0 0 32px rgba(101,255,166,.82);
  z-index:5;
}
.nf-domain-core {
  position:relative;
  z-index:6;
  width:104px;
  height:104px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  color:#fff;
  background: radial-gradient(circle at 35% 30%, rgba(68,230,255,.12), rgba(3,12,23,.94));
  border:1px solid rgba(101,255,166,.36);
  box-shadow: 0 0 45px rgba(101,255,166,.18), inset 0 1px 0 rgba(255,255,255,.08);
  font-size:1.65rem;
  line-height:.82;
  font-weight:1000;
  letter-spacing:-.06em;
}
.nf-domain-core em {
  display:block;
  margin-top:8px;
  color:#65ffa6;
  font-size:.5rem;
  letter-spacing:.14em;
  font-style:normal;
  font-weight:1000;
}
.nf-radar-word {
  position:absolute;
  z-index:4;
  color: rgba(173,255,220,.72);
  font-weight:1000;
  letter-spacing:-.035em;
  text-shadow: 0 0 18px rgba(101,255,166,.22);
  animation: nfFloat 4.5s ease-in-out infinite;
  pointer-events:none;
}
.rw-a { left: 15%; top: 31%; font-size: .92rem; }
.rw-b { right: 14%; top: 27%; font-size: 1rem; animation-delay:-.8s; }
.rw-c { left: 22%; bottom: 31%; font-size: .9rem; animation-delay:-1.4s; }
.rw-d { right: 13%; bottom: 34%; font-size: .86rem; animation-delay:-2.1s; }
.rw-e { right: 21%; bottom: 18%; font-size: .78rem; animation-delay:-2.8s; }
.rw-f { left: 20%; top: 17%; font-size: .76rem; animation-delay:-3.5s; }
.nf-radar-live-line {
  position:relative;
  z-index:2;
  padding:12px 14px;
  border-radius:18px;
  color:#78f2ff;
  font-size:.9rem;
  font-weight:900;
  text-align:center;
  background:rgba(3,12,28,.58);
  border:1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.nf-right-radar-card .nf-radar-progress-panel {
  position:relative;
  z-index:2;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(3,12,28,.50);
  border:1px solid rgba(255,255,255,.08);
}
.nf-right-radar-card .nf-progress { height:12px; }
.nf-radar-scan-button {
  width:100%;
  position:relative;
  z-index:2;
  min-height:58px;
  font-size:1.02rem !important;
  border-radius:20px !important;
  box-shadow: 0 20px 45px rgba(42,151,255,.30) !important;
}
.nf-radar-mini-stats {
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:10px;
  position:relative;
  z-index:2;
}
.nf-radar-mini-stats span {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:76px;
  border-radius:18px;
  background:rgba(2,10,24,.56);
  border:1px solid rgba(255,255,255,.08);
}
.nf-radar-mini-stats strong {
  color:#fff;
  font-size:1.75rem;
  line-height:.9;
  font-weight:1000;
  letter-spacing:-.06em;
}
.nf-radar-mini-stats em {
  margin-top:6px;
  color:#b9cce2;
  font-size:.72rem;
  font-style:normal;
  font-weight:760;
  text-align:center;
}
.nf-input-scan-button {
  width:100%;
  margin-top:8px;
}
@media (max-width: 1100px) {
  .nf-right-radar-stage { min-height:300px; }
  .nf-domain-radar--right { width:min(300px, 100%); }
}
@media (max-width: 760px) {
  .nf-right-radar-card {
    padding:18px !important;
    border-radius:24px !important;
  }
  .nf-right-radar-stage { min-height:280px; }
  .nf-domain-radar--right { width:min(280px, 92vw); }
  .nf-domain-core { width:92px; height:92px; font-size:1.45rem; }
  .nf-domain-core em { font-size:.46rem; }
  .nf-radar-word { font-size:.72rem !important; }
  .nf-radar-mini-stats { grid-template-columns:repeat(3,1fr); gap:8px; }
  .nf-radar-mini-stats span { min-height:68px; border-radius:16px; }
  .nf-radar-mini-stats strong { font-size:1.45rem; }
  .nf-radar-mini-stats em { font-size:.62rem; }
}
@media (max-width: 420px) {
  .nf-right-radar-top { flex-direction:column; align-items:center; text-align:center; }
  .nf-right-radar-top strong { text-align:center; }
  .nf-radar-mini-stats { grid-template-columns:1fr 1fr 1fr; }
}


/* IB-NF-012.12 — HARD OVERSIZE RIGHT RADAR FIX */

/*
  This is intentionally aggressive.
  Goal: the right-side radar must visually fill the whole radar card,
  not remain a small circle in the middle.
*/

.nf-hero {
  grid-template-columns: minmax(0, 1fr) minmax(430px, 520px) !important;
  align-items: stretch !important;
}

.nf-right-radar-card {
  padding: 16px !important;
  min-height: 690px !important;
  height: 100% !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  overflow: hidden !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 50% 36%, rgba(68,230,255,.26), transparent 52%),
    linear-gradient(180deg, rgba(9,31,70,.98), rgba(4,14,32,.99)) !important;
}

.nf-right-radar-top {
  min-height: 34px !important;
  margin-bottom: 0 !important;
  z-index: 20 !important;
}

.nf-right-radar-stage {
  min-height: 480px !important;
  height: 480px !important;
  padding: 0 !important;
  margin: -10px 0 -4px !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}

.nf-domain-radar--right {
  width: 560px !important;
  max-width: none !important;
  min-width: 560px !important;
  transform: scale(1.02) !important;
  transform-origin: center center !important;
}

.nf-domain-radar--right .nf-domain-core {
  width: 150px !important;
  height: 150px !important;
  font-size: 2.32rem !important;
}

.nf-domain-radar--right .nf-domain-core em {
  font-size: .68rem !important;
  letter-spacing: .16em !important;
}

.nf-domain-radar--right .nf-radar-dot {
  width: 22px !important;
  height: 22px !important;
}

.nf-domain-radar--right .rw-a { left: 12% !important; top: 29% !important; font-size: 1.20rem !important; }
.nf-domain-radar--right .rw-b { right: 11% !important; top: 24% !important; font-size: 1.22rem !important; }
.nf-domain-radar--right .rw-c { left: 17% !important; bottom: 28% !important; font-size: 1.12rem !important; }
.nf-domain-radar--right .rw-d { right: 10% !important; bottom: 32% !important; font-size: 1.08rem !important; }
.nf-domain-radar--right .rw-e { right: 17% !important; bottom: 16% !important; font-size: .98rem !important; }
.nf-domain-radar--right .rw-f { left: 16% !important; top: 14% !important; font-size: .96rem !important; }

.nf-radar-live-line {
  margin-top: 2px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  font-size: .92rem !important;
}

.nf-right-radar-card .nf-radar-progress-panel {
  padding: 11px 14px !important;
  border-radius: 18px !important;
}

.nf-radar-scan-button {
  min-height: 60px !important;
  border-radius: 22px !important;
  font-size: 1.08rem !important;
  margin-top: 2px !important;
}

.nf-radar-mini-stats {
  gap: 9px !important;
}

.nf-radar-mini-stats span {
  min-height: 74px !important;
  border-radius: 18px !important;
}

.nf-radar-mini-stats strong {
  font-size: 1.65rem !important;
}

@media (max-width: 1180px) {
  .nf-hero {
    grid-template-columns: minmax(0, 1fr) minmax(400px, 500px) !important;
  }
  .nf-domain-radar--right {
    width: 520px !important;
    min-width: 520px !important;
  }
  .nf-right-radar-stage {
    height: 450px !important;
    min-height: 450px !important;
  }
  .nf-right-radar-card {
    min-height: 660px !important;
  }
}

@media (max-width: 900px) {
  .nf-hero {
    grid-template-columns: 1fr !important;
  }
  .nf-right-radar-card {
    min-height: auto !important;
  }
  .nf-right-radar-stage {
    height: 360px !important;
    min-height: 360px !important;
    margin: -6px 0 0 !important;
  }
  .nf-domain-radar--right {
    width: min(390px, calc(100vw - 34px)) !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .nf-domain-radar--right .nf-domain-core {
    width: 116px !important;
    height: 116px !important;
    font-size: 1.8rem !important;
  }
}

@media (max-width: 420px) {
  .nf-right-radar-stage {
    height: 320px !important;
    min-height: 320px !important;
  }
  .nf-domain-radar--right {
    width: min(340px, calc(100vw - 32px)) !important;
  }
  .nf-domain-radar--right .nf-domain-core {
    width: 102px !important;
    height: 102px !important;
    font-size: 1.55rem !important;
  }
  .nf-domain-radar--right .nf-radar-word {
    font-size: .78rem !important;
  }
}


/* IB-NF-012.13 — Radar 10% Down + Hero Lift */

/* Slightly smaller right radar scene and lift the left hero block on desktop */
.nf-hero {
  align-items: start !important;
}
.nf-hero-copy {
  justify-content: flex-start !important;
  padding-top: 28px !important;
  padding-bottom: 26px !important;
  min-height: 690px !important;
}
.nf-hero-copy h1,
.nf-hero-copy p,
.nf-hero-copy .nf-kicker,
.nf-hero-copy .nf-hero-actions,
.nf-hero-copy .nf-badges {
  position: relative;
  z-index: 2;
}
.nf-right-radar-card {
  min-height: 620px !important;
}
.nf-right-radar-stage {
  min-height: 430px !important;
  height: 430px !important;
  margin: -6px 0 0 !important;
}
.nf-domain-radar--right {
  width: 504px !important;
  min-width: 504px !important;
  transform: scale(0.92) !important;
}
.nf-domain-radar--right .nf-domain-core {
  width: 138px !important;
  height: 138px !important;
  font-size: 2.12rem !important;
}
.nf-radar-live-line { margin-top: 0 !important; }
.nf-radar-mini-stats span { min-height: 70px !important; }
@media (max-width: 1180px) {
  .nf-hero-copy {
    min-height: 620px !important;
    padding-top: 24px !important;
  }
  .nf-right-radar-card {
    min-height: 600px !important;
  }
  .nf-right-radar-stage {
    min-height: 405px !important;
    height: 405px !important;
  }
  .nf-domain-radar--right {
    width: 468px !important;
    min-width: 468px !important;
  }
}
@media (max-width: 900px) {
  .nf-hero-copy {
    min-height: auto !important;
    padding-top: 32px !important;
  }
  .nf-right-radar-card {
    min-height: auto !important;
  }
  .nf-right-radar-stage {
    min-height: 340px !important;
    height: 340px !important;
  }
  .nf-domain-radar--right {
    width: min(360px, calc(100vw - 34px)) !important;
    min-width: 0 !important;
    transform: scale(0.96) !important;
  }
  .nf-domain-radar--right .nf-domain-core {
    width: 112px !important;
    height: 112px !important;
    font-size: 1.72rem !important;
  }
}
@media (max-width: 420px) {
  .nf-right-radar-stage {
    min-height: 305px !important;
    height: 305px !important;
  }
  .nf-domain-radar--right {
    width: min(320px, calc(100vw - 28px)) !important;
  }
}


/* IB-NF-013 — Premium Workflow + Market Idea Generator */

.nf-premium-workflow { grid-template-columns: 1.05fr 1.25fr .78fr !important; align-items: stretch !important; gap: 18px !important; margin-top: 22px !important; }
.nf-market-engine-card { background: radial-gradient(circle at 16% 0%, rgba(101,255,166,.16), transparent 34%), linear-gradient(180deg, rgba(10,31,68,.96), rgba(4,15,34,.98)) !important; }
.nf-workflow-lead { position:relative; z-index:2; margin: 0 0 16px; color:#aec7df; font-weight:650; line-height:1.55; }
.nf-generate-market-btn { width:100%; margin-top: 8px; min-height:56px; border-radius:20px !important; background: linear-gradient(135deg, #65ffa6, #47dfff) !important; color:#04111f !important; box-shadow: 0 20px 50px rgba(78,235,205,.28) !important; }
.nf-market-idea-list div { border-left: 3px solid rgba(101,255,166,.72); background: rgba(101,255,166,.055); }
.nf-scan-instruction { position:relative; z-index:2; margin-top:14px; padding:14px 15px; border-radius:18px; border:1px solid rgba(101,255,166,.18); background:rgba(101,255,166,.07); color:#d7f6e6; line-height:1.45; font-weight:700; }
.nf-scan-instruction strong { color:#65ffa6; }
.nf-export-card .nf-export-actions { display:grid; grid-template-columns:1fr; gap:10px; }
.nf-export-card .nf-mini { width:100%; min-height:46px; }
.nf-input-scan-button { display:none !important; }
.nf-stat-grid, .nf-progress-wrap { display:none !important; }
@media (max-width: 1180px) { .nf-premium-workflow { grid-template-columns: 1fr 1fr !important; } .nf-export-card { grid-column: 1 / -1; } .nf-export-card .nf-export-actions { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px) { .nf-premium-workflow { grid-template-columns: 1fr !important; } .nf-export-card .nf-export-actions { grid-template-columns: 1fr 1fr; } }


/* IB-NF-013.1 — Guided Workflow Autoscroll */

.nf-generate-market-btn:focus,
.nf-radar-scan-button:focus,
#addIdeasBtn:focus {
  outline: 3px solid rgba(101,255,166,.72);
  outline-offset: 4px;
  box-shadow: 0 0 0 8px rgba(101,255,166,.10), 0 20px 45px rgba(42,151,255,.28) !important;
}


/* IB-NF-013.2 — InspectBook-style Top + Hero Video Alignment */

.nf-inspectbook-style-top {
  margin-top: 10px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(140, 194, 255, .16) !important;
  background: rgba(4, 13, 28, .82) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(18px) !important;
}
.nf-inspectbook-style-top .nf-premium-header-inner {
  min-height: 62px !important;
  padding: 10px 14px !important;
}
.nf-inspectbook-style-top .nf-premium-brand-copy strong {
  font-size: 1rem !important;
  letter-spacing: -.03em !important;
}
.nf-inspectbook-style-top .nf-premium-brand-copy em {
  font-size: .58rem !important;
  letter-spacing: .09em !important;
  opacity: .92 !important;
}
.nf-inspectbook-style-top .nf-premium-logo {
  width: 38px !important;
  height: 38px !important;
  border-radius: 13px !important;
  font-size: .88rem !important;
}
.nf-inspectbook-style-top .nf-premium-nav {
  gap: 8px !important;
  padding: 6px !important;
  border-radius: 999px !important;
  background: rgba(4, 12, 25, .62) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.nf-inspectbook-style-top .nf-premium-nav a {
  min-height: 34px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  color: #d9ebff !important;
}
.nf-inspectbook-style-top .nf-premium-nav a[href="#ideas"] {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(255, 64, 127, .95), rgba(255, 119, 77, .84)) !important;
  box-shadow: 0 10px 26px rgba(255, 78, 115, .22) !important;
}
.nf-inspectbook-style-top .nf-premium-cta {
  background: linear-gradient(135deg, #62ffc6, #27eaa4) !important;
  color: #042016 !important;
  min-height: 38px !important;
  border-radius: 999px !important;
  font-weight: 1000 !important;
  box-shadow: 0 14px 30px rgba(57, 255, 186, .20) !important;
}
.nf-hero {
  align-items: stretch !important;
  gap: 22px !important;
  margin-top: 18px !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(410px, .96fr) !important;
}
.nf-hero-video-copy {
  min-height: 620px !important;
  justify-content: flex-start !important;
  padding: 26px 28px 22px !important;
  gap: 16px !important;
}
.nf-hero-top-copy {
  position: relative;
  z-index: 2;
}
.nf-hero-top-copy h1 {
  margin: 14px 0 10px !important;
  max-width: 720px !important;
  font-size: clamp(1.9rem, 3.2vw, 3.65rem) !important;
  line-height: .98 !important;
  letter-spacing: -.065em !important;
}
.nf-hero-top-copy p {
  max-width: 700px !important;
  font-size: .98rem !important;
  line-height: 1.55 !important;
  color: #aec4df !important;
  margin: 0 0 4px !important;
}
.nf-inspect-video-card {
  position: relative;
  z-index: 2;
  border-radius: 26px;
  padding: 12px;
  background: linear-gradient(180deg, rgba(15, 43, 83, .70), rgba(5, 16, 34, .88));
  border: 1px solid rgba(105, 173, 255, .16);
  box-shadow: 0 22px 65px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
}
.nf-inspect-video-browser {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: #061122;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.nf-inspect-video-topbar {
  height: 36px;
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 0 13px;
  background: rgba(2, 9, 20, .96);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.nf-inspect-video-topbar span {
  width: 8px; height: 8px; border-radius: 50%; background: rgba(101,255,166,.72);
  box-shadow: 0 0 12px rgba(101,255,166,.35);
}
.nf-inspect-video-topbar span:nth-child(2) { background: rgba(68,230,255,.72); }
.nf-inspect-video-topbar span:nth-child(3) { background: rgba(255,207,95,.72); }
.nf-inspect-video-topbar em {
  margin-left: 6px;
  color: #90a9c5;
  font-size: .72rem;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.nf-inspect-video-screen {
  position: relative;
  min-height: 260px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 45%, rgba(101,255,166,.18), transparent 28%),
    linear-gradient(rgba(68,230,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(68,230,255,.04) 1px, transparent 1px),
    linear-gradient(180deg, #05101f, #08172b);
  background-size: auto, 32px 32px, 32px 32px, auto;
  overflow: hidden;
}
.nf-inspect-video-screen::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(115deg, transparent, rgba(68,230,255,.12), transparent 58%);
  animation: nfVideoSweep 4.5s ease-in-out infinite;
}
.nf-video-shield {
  position:absolute;
  left: 20px; top: 20px;
  width: 42px; height: 42px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(68,230,255,.96), rgba(101,255,166,.96));
  color:#041521;
  font-weight:1000;
  z-index: 2;
}
.nf-video-lines {
  position:absolute;
  left: 18%; right: 18%; top: 27%;
  display:grid; gap:10px;
  z-index: 2;
}
.nf-video-lines i {
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(101,255,166,.18), rgba(101,255,166,.78), rgba(68,230,255,.28));
  box-shadow: 0 0 22px rgba(101,255,166,.20);
}
.nf-video-lines i:nth-child(2) { width: 86%; }
.nf-video-lines i:nth-child(3) { width: 72%; }
.nf-video-lines i:nth-child(4) { width: 94%; }
.nf-video-console {
  position:absolute;
  left: 22px; right: 22px; bottom: 22px;
  z-index: 2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(2, 10, 22, .66);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.nf-video-console strong { color:#fff; font-size:.98rem; font-weight: 1000; }
.nf-video-console small { color:#8fecc9; font-weight:800; }
.nf-video-play {
  position: relative;
  z-index: 3;
  width: 72px; height: 72px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(135deg, #62ffc6, #31d8ff);
  color: #041521;
  box-shadow: 0 20px 50px rgba(42, 243, 196, .28);
  font-size: 1.8rem;
  font-weight: 1000;
  cursor: pointer;
  padding-left: 5px;
}
.nf-inspect-video-footer {
  height: 34px;
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:12px;
  padding: 0 14px;
  background: #061122;
  border-top: 1px solid rgba(255,255,255,.07);
  color:#91a8c4;
  font-size:.72rem;
  font-weight:900;
  text-transform: uppercase;
  letter-spacing:.06em;
}
.nf-inspect-video-footer b {
  height: 5px;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(101,255,166,.15), #65ffa6 56%, rgba(68,230,255,.35));
  box-shadow: 0 0 18px rgba(101,255,166,.22);
}
.nf-hero-actions-compact {
  position: relative;
  z-index: 2;
  margin-top: 0 !important;
}
.nf-badges-compact {
  position: relative;
  z-index: 2;
  margin-top: 0 !important;
}
@keyframes nfVideoSweep {
  0%,100% { transform: translateX(-60%); opacity: .25; }
  50% { transform: translateX(60%); opacity: .9; }
}
@media (max-width: 1180px) {
  .nf-hero { grid-template-columns: 1fr !important; }
  .nf-hero-video-copy { min-height: auto !important; }
  .nf-inspect-video-screen { min-height: 235px; }
}
@media (max-width: 760px) {
  .nf-inspectbook-style-top .nf-premium-header-inner { padding: 9px 10px !important; }
  .nf-hero-video-copy { padding: 22px 17px 18px !important; border-radius: 26px !important; }
  .nf-hero-top-copy h1 { font-size: 2.15rem !important; }
  .nf-inspect-video-screen { min-height: 210px; }
  .nf-video-console { left: 12px; right: 12px; bottom: 12px; flex-direction: column; align-items:flex-start; }
  .nf-video-play { width: 62px; height: 62px; font-size: 1.5rem; }
}


/* IB-NF-013.3 — Hero Preview Autoplay Loop */

.nf-video-autoloop {
  isolation: isolate;
  cursor: pointer;
}
.nf-video-autoloop::after {
  content:"";
  position:absolute;
  inset:-40%;
  background:
    conic-gradient(from 0deg, transparent 0 58%, rgba(68,230,255,.14) 70%, rgba(101,255,166,.19) 82%, transparent 94%),
    radial-gradient(circle at 50% 50%, rgba(101,255,166,.10), transparent 42%);
  animation: nfPreviewRotate 7s linear infinite;
  z-index: 0;
  opacity: .95;
  pointer-events:none;
}
.nf-video-glow-orb {
  position:absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  background:
    repeating-radial-gradient(circle, rgba(68,230,255,0) 0 25px, rgba(68,230,255,.13) 26px 28px),
    radial-gradient(circle, rgba(101,255,166,.16), transparent 68%);
  box-shadow: 0 0 70px rgba(68,230,255,.14), inset 0 0 46px rgba(101,255,166,.12);
  z-index: 1;
  animation: nfPreviewPulse 3.2s ease-in-out infinite;
  pointer-events:none;
}
.nf-video-radar-mini {
  position:absolute;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  right: 24px;
  top: 24px;
  border: 1px solid rgba(104, 244, 255, .25);
  background:
    repeating-radial-gradient(circle, transparent 0 25px, rgba(68,230,255,.11) 26px 28px),
    rgba(3, 13, 29, .40);
  z-index: 2;
  overflow:hidden;
  box-shadow: inset 0 0 34px rgba(68,230,255,.10);
}
.nf-video-radar-mini b {
  position:absolute;
  inset:0;
  border-radius:inherit;
  background: conic-gradient(from 0deg, transparent 0 62%, rgba(68,230,255,.12), rgba(101,255,166,.44));
  animation: nfPreviewRotate 2.8s linear infinite;
}
.nf-video-radar-mini span {
  position:absolute;
  left:50%;
  top:0;
  width:1px;
  height:100%;
  background: rgba(120,247,255,.12);
}
.nf-video-radar-mini span:nth-child(2) { transform: rotate(90deg); }
.nf-video-radar-mini span:nth-child(3) { transform: rotate(45deg); }
.nf-video-shield {
  animation: nfPreviewShield 3.8s ease-in-out infinite;
}
.nf-video-lines {
  z-index: 3 !important;
}
.nf-video-lines i {
  animation: nfPreviewLine 2.6s ease-in-out infinite;
  transform-origin:left center;
}
.nf-video-lines i:nth-child(2) { animation-delay:.25s; }
.nf-video-lines i:nth-child(3) { animation-delay:.5s; }
.nf-video-lines i:nth-child(4) { animation-delay:.75s; }
.nf-video-floating-words {
  position:absolute;
  inset: 0;
  z-index: 3;
  pointer-events:none;
}
.nf-video-floating-words span {
  position:absolute;
  color: rgba(181,255,229,.78);
  font-size: .72rem;
  font-weight: 1000;
  letter-spacing: -.02em;
  text-shadow: 0 0 18px rgba(101,255,166,.25);
  opacity: 0;
  animation: nfPreviewWords 8s ease-in-out infinite;
}
.nf-video-floating-words span:nth-child(1) { left: 18%; top: 30%; animation-delay: 0s; }
.nf-video-floating-words span:nth-child(2) { right: 12%; top: 44%; animation-delay: 2s; }
.nf-video-floating-words span:nth-child(3) { left: 20%; bottom: 33%; animation-delay: 4s; }
.nf-video-floating-words span:nth-child(4) { right: 18%; bottom: 22%; animation-delay: 6s; }
.nf-video-console {
  z-index: 4 !important;
}
.nf-video-console strong::after {
  content:"";
  display:inline-block;
  width: 6px;
  height: 6px;
  margin-left: 8px;
  border-radius:999px;
  background:#65ffa6;
  box-shadow:0 0 18px rgba(101,255,166,.75);
  animation: nfPreviewBlink 1.15s ease-in-out infinite;
  vertical-align: middle;
}
.nf-video-play {
  display:none !important;
}
.nf-video-hotspot {
  position:absolute;
  inset:0;
  z-index: 9;
  border:0;
  background: transparent;
  cursor:pointer;
  padding:0;
}
.nf-inspect-video-footer b {
  position: relative;
  overflow: hidden;
}
.nf-inspect-video-footer b::after {
  content:"";
  position:absolute;
  top:0; bottom:0;
  left:-35%;
  width:35%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
  animation: nfPreviewFooter 2.2s ease-in-out infinite;
}
@keyframes nfPreviewRotate {
  to { transform: rotate(360deg); }
}
@keyframes nfPreviewPulse {
  0%,100% { transform: translate(-50%, -50%) scale(.92); opacity:.62; }
  50% { transform: translate(-50%, -50%) scale(1.08); opacity:1; }
}
@keyframes nfPreviewLine {
  0%,100% { opacity:.42; transform:scaleX(.54); filter:brightness(.9); }
  50% { opacity:1; transform:scaleX(1); filter:brightness(1.35); }
}
@keyframes nfPreviewWords {
  0%, 20%, 100% { opacity:0; transform:translateY(10px) scale(.95); }
  35%, 62% { opacity:1; transform:translateY(0) scale(1); }
  78% { opacity:0; transform:translateY(-10px) scale(.98); }
}
@keyframes nfPreviewShield {
  0%,100% { transform:translateY(0); box-shadow: 0 0 0 rgba(101,255,166,0); }
  50% { transform:translateY(-4px); box-shadow: 0 16px 35px rgba(101,255,166,.16); }
}
@keyframes nfPreviewBlink {
  0%,100% { opacity:.35; transform:scale(.85); }
  50% { opacity:1; transform:scale(1.18); }
}
@keyframes nfPreviewFooter {
  0% { left:-40%; opacity:0; }
  30% { opacity:1; }
  100% { left:105%; opacity:0; }
}
@media (max-width: 760px) {
  .nf-video-radar-mini {
    width: 96px;
    height: 96px;
    right: 16px;
    top: 18px;
  }
  .nf-video-floating-words span {
    font-size:.62rem;
  }
}


/* IB-NF-013.4 — Real Uploaded Hero Video */

.nf-real-video-screen {
  min-height: 300px !important;
  padding: 0 !important;
  background: #020914 !important;
  overflow: hidden !important;
  display: block !important;
  position: relative !important;
  cursor: pointer;
}

.nf-real-video-screen::before,
.nf-real-video-screen::after {
  display: none !important;
  content: none !important;
}

.nf-real-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  background: #020914;
}

.nf-real-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3,12,28,.08), rgba(3,12,28,.18)),
    radial-gradient(circle at 50% 45%, transparent 46%, rgba(2,9,20,.18) 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,.22);
}

.nf-real-video-screen .nf-video-hotspot {
  position: absolute;
  inset: 0;
  z-index: 5;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

.nf-video-autoloop,
.nf-video-glow-orb,
.nf-video-radar-mini,
.nf-video-floating-words,
.nf-video-lines,
.nf-video-console,
.nf-video-shield,
.nf-video-play {
  display: none !important;
}

@media (max-width: 760px) {
  .nf-real-video-screen {
    min-height: 235px !important;
  }
}

@media (max-width: 420px) {
  .nf-real-video-screen {
    min-height: 210px !important;
  }
}


/* IB-NF-013.5 — Full Video Contain Fix */

/*
  The uploaded video is very wide. Previous object-fit: cover cropped the video and cut off text.
  This fix displays the full video inside the frame.
*/
.nf-real-video-screen {
  min-height: auto !important;
  aspect-ratio: 2.358 / 1 !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(68,230,255,.08), transparent 48%),
    #020914 !important;
  display: block !important;
  overflow: hidden !important;
}

.nf-real-hero-video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #020914 !important;
}

.nf-real-video-overlay {
  background:
    linear-gradient(180deg, rgba(3,12,28,.02), rgba(3,12,28,.05)) !important;
  box-shadow: inset 0 0 28px rgba(0,0,0,.18) !important;
}

.nf-inspect-video-browser {
  background: #020914 !important;
}

@media (max-width: 760px) {
  .nf-real-video-screen {
    aspect-ratio: 2.358 / 1 !important;
    min-height: auto !important;
  }
}

@media (max-width: 420px) {
  .nf-real-video-screen {
    aspect-ratio: 2.358 / 1 !important;
    min-height: auto !important;
  }
}
