/*
 * NovaGold AAA customer command layer
 * Product-specific visuals only. No Marketing AI or Orbit AI assets are used.
 */

:root,
html[data-theme="dark"] {
  color-scheme: dark;
  --ng-backdrop: url("/assets/novagold/backdrops/novagold-command-dark-4k.webp");
  --ng-canvas: #020711;
  --ng-canvas-soft: #061427;
  --ng-stage: linear-gradient(145deg, rgba(3, 13, 27, 0.82), rgba(8, 29, 49, 0.68));
  --ng-stage-strong: linear-gradient(145deg, rgba(5, 18, 34, 0.94), rgba(2, 10, 21, 0.88));
  --ng-surface: linear-gradient(145deg, rgba(12, 39, 66, 0.82), rgba(3, 13, 27, 0.91));
  --ng-surface-warm: linear-gradient(145deg, rgba(72, 45, 8, 0.72), rgba(6, 20, 36, 0.91));
  --ng-text: #f4f9ff;
  --ng-muted: #9eb5c7;
  --ng-line: rgba(124, 196, 240, 0.25);
  --ng-line-bright: rgba(91, 213, 255, 0.5);
  --ng-glow: rgba(20, 125, 255, 0.24);
  --ng-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
  --nt-ink: var(--ng-canvas);
  --nt-ink-soft: var(--ng-canvas-soft);
  --nt-panel: rgba(6, 18, 34, 0.84);
  --nt-panel-strong: rgba(4, 13, 27, 0.96);
  --nt-line: var(--ng-line);
  --nt-line-bright: var(--ng-line-bright);
  --nt-text: var(--ng-text);
  --nt-muted: var(--ng-muted);
}

html[data-theme="light"] {
  color-scheme: light;
  --ng-backdrop: url("/assets/novagold/backdrops/novagold-command-light-4k.webp");
  --ng-canvas: #f5efe3;
  --ng-canvas-soft: #e9f2f6;
  --ng-stage: linear-gradient(145deg, rgba(255, 253, 247, 0.84), rgba(233, 244, 248, 0.72));
  --ng-stage-strong: linear-gradient(145deg, rgba(255, 253, 246, 0.96), rgba(235, 244, 248, 0.91));
  --ng-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(228, 241, 247, 0.82));
  --ng-surface-warm: linear-gradient(145deg, rgba(255, 246, 216, 0.91), rgba(238, 247, 250, 0.88));
  --ng-text: #07162a;
  --ng-muted: #536a7d;
  --ng-line: rgba(83, 125, 151, 0.27);
  --ng-line-bright: rgba(26, 123, 177, 0.45);
  --ng-glow: rgba(20, 125, 255, 0.14);
  --ng-shadow: 0 28px 80px rgba(78, 82, 75, 0.2);
  --nt-ink: var(--ng-canvas);
  --nt-ink-soft: var(--ng-canvas-soft);
  --nt-panel: rgba(255, 255, 255, 0.85);
  --nt-panel-strong: rgba(251, 248, 239, 0.96);
  --nt-line: var(--ng-line);
  --nt-line-bright: var(--ng-line-bright);
  --nt-text: var(--ng-text);
  --nt-muted: var(--ng-muted);
}

html {
  background: var(--ng-canvas);
  transition: background-color 360ms ease;
}

body.novagold-page {
  background: transparent;
  color: var(--ng-text);
}

.novagold-page .nt-space-field {
  z-index: -3;
  background:
    linear-gradient(180deg, rgba(1, 7, 15, 0.18), rgba(1, 7, 15, 0.62)),
    var(--ng-backdrop) center top / cover fixed no-repeat;
  opacity: 1;
  transform: scale(1.025);
  transform-origin: center;
  animation: ng-backdrop-drift 24s ease-in-out infinite alternate;
  transition: background-image 360ms ease, filter 360ms ease;
}

html[data-theme="light"] .novagold-page .nt-space-field {
  background:
    linear-gradient(180deg, rgba(255, 252, 244, 0.18), rgba(246, 239, 225, 0.62)),
    var(--ng-backdrop) center top / cover fixed no-repeat;
  filter: saturate(0.88) contrast(0.98);
}

.novagold-page .nt-scanlines {
  z-index: -2;
  background-image:
    linear-gradient(rgba(91, 213, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 213, 255, 0.025) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: 0.7;
}

html[data-theme="light"] .novagold-page .nt-scanlines {
  background-image:
    linear-gradient(rgba(20, 73, 103, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 73, 103, 0.032) 1px, transparent 1px);
}

@keyframes ng-backdrop-drift {
  from { transform: scale(1.025) translate3d(0, 0, 0); }
  to { transform: scale(1.055) translate3d(0, -0.6%, 0); }
}

.nt-access-strip,
.nta-launch-strip {
  border-bottom-color: rgba(255, 225, 145, 0.48);
  background:
    linear-gradient(90deg, rgba(34, 20, 4, 0.96), rgba(146, 91, 13, 0.96) 44%, rgba(16, 48, 79, 0.96));
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.19);
}

html[data-theme="light"] .nt-access-strip,
html[data-theme="light"] .nta-launch-strip {
  border-bottom-color: rgba(161, 103, 17, 0.34);
  background:
    linear-gradient(90deg, rgba(255, 250, 235, 0.97), rgba(246, 216, 148, 0.98) 48%, rgba(220, 239, 247, 0.97));
  color: #38250d;
}

html[data-theme="light"] .nt-access-strip strong,
html[data-theme="light"] .nta-launch-strip strong,
html[data-theme="light"] .nt-access-strip a {
  color: #241606;
}

.nt-shell,
.nta-shell {
  position: relative;
}

.nt-rail {
  border-right-color: var(--ng-line);
  background:
    linear-gradient(180deg, rgba(2, 10, 21, 0.91), rgba(5, 21, 38, 0.83)),
    radial-gradient(circle at 50% 0%, rgba(20, 125, 255, 0.2), transparent 48%);
  box-shadow: 20px 0 70px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(28px) saturate(1.25);
}

html[data-theme="light"] .nt-rail {
  background:
    linear-gradient(180deg, rgba(255, 253, 247, 0.9), rgba(226, 240, 246, 0.82)),
    radial-gradient(circle at 50% 0%, rgba(20, 125, 255, 0.12), transparent 50%);
  box-shadow: 18px 0 60px rgba(59, 73, 79, 0.15);
}

.nt-brand-marks {
  width: 64px;
  height: 64px;
  flex-basis: 64px;
  filter: drop-shadow(0 16px 18px rgba(0, 0, 0, 0.32));
  transition: transform 320ms cubic-bezier(.2, .8, .2, 1), filter 320ms ease;
}

.nt-brand:hover .nt-brand-marks {
  transform: translateY(-2px) rotate(-2deg) scale(1.035);
  filter: drop-shadow(0 18px 24px rgba(20, 125, 255, 0.28));
}

.nt-brand-copy small {
  color: var(--nt-gold);
}

.nt-brand-copy strong {
  color: var(--ng-text);
  font-size: 1.42rem;
  letter-spacing: 0.02em;
}

.nt-nav {
  gap: 7px;
}

.nt-nav-link {
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 11px;
  min-height: 68px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 20px 6px 20px 6px;
  padding: 8px 10px 8px 8px;
  background: linear-gradient(105deg, transparent, rgba(17, 55, 85, 0.08));
  color: var(--ng-muted);
  isolation: isolate;
  transition:
    transform 240ms cubic-bezier(.2, .8, .2, 1),
    border-color 240ms ease,
    background 240ms ease,
    box-shadow 240ms ease,
    color 240ms ease;
}

.nt-nav-link > em {
  display: none;
}

.nt-nav-link::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0.08), transparent 28%, transparent 70%, rgba(20, 125, 255, 0.12));
  opacity: 0;
  transition: opacity 240ms ease;
  content: "";
}

.nt-nav-link:hover,
.nt-nav-link:focus-visible {
  transform: translateX(3px);
  border-color: var(--ng-line-bright);
  background: linear-gradient(105deg, rgba(14, 55, 88, 0.54), rgba(5, 24, 44, 0.72));
  color: var(--ng-text);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.19);
}

.nt-nav-link:hover::before,
.nt-nav-link:focus-visible::before,
.nt-nav-link.is-active::before {
  opacity: 1;
}

.nt-nav-link.is-active {
  transform: translateX(4px);
  border-color: rgba(255, 218, 124, 0.55);
  background: linear-gradient(108deg, rgba(73, 45, 7, 0.76), rgba(8, 44, 74, 0.79));
  color: #fff;
  box-shadow:
    inset 3px 0 0 var(--nt-gold),
    0 15px 34px rgba(0, 0, 0, 0.22),
    0 0 30px rgba(20, 125, 255, 0.08);
}

html[data-theme="light"] .nt-nav-link {
  background: linear-gradient(105deg, rgba(255, 255, 255, 0.2), rgba(194, 223, 235, 0.12));
}

html[data-theme="light"] .nt-nav-link:hover,
html[data-theme="light"] .nt-nav-link:focus-visible {
  background: linear-gradient(105deg, rgba(255, 255, 255, 0.88), rgba(212, 235, 244, 0.8));
  color: #07162a;
  box-shadow: 0 14px 30px rgba(72, 84, 89, 0.14);
}

html[data-theme="light"] .nt-nav-link.is-active {
  background: linear-gradient(108deg, rgba(255, 239, 195, 0.94), rgba(218, 239, 247, 0.94));
  color: #07162a;
  box-shadow: inset 3px 0 0 #bb7b18, 0 15px 34px rgba(78, 82, 75, 0.15);
}

.nt-nav-icon {
  display: block;
  grid-row: 1 / span 2;
  width: 46px;
  height: 46px;
  object-fit: contain;
  filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.36));
  transition: transform 320ms cubic-bezier(.2, .8, .2, 1), filter 320ms ease;
}

.nt-nav-link:hover .nt-nav-icon,
.nt-nav-link:focus-visible .nt-nav-icon {
  transform: translateY(-2px) rotate(-4deg) scale(1.08);
  filter: drop-shadow(0 12px 15px rgba(20, 125, 255, 0.32));
}

.nt-nav-link.is-active .nt-nav-icon {
  animation: ng-icon-breathe 3.8s ease-in-out infinite;
}

.nt-nav-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-self: center;
  gap: 3px;
  min-width: 0;
}

.nt-nav-copy b {
  display: block;
  width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 0.77rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nt-nav-copy i {
  display: block;
  grid-column: 1;
  width: 100%;
  overflow: hidden;
  color: var(--ng-muted);
  font-size: 0.59rem;
  font-style: normal;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nt-nav-link > em {
  align-self: start;
  border: 1px solid rgba(245, 196, 94, 0.27);
  border-radius: 999px;
  padding: 3px 5px;
  color: var(--nt-gold);
  font-size: 0.49rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
}

@keyframes ng-icon-breathe {
  0%, 100% { transform: translateY(0) scale(1); filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.36)); }
  50% { transform: translateY(-2px) scale(1.045); filter: drop-shadow(0 12px 16px rgba(20, 125, 255, 0.38)); }
}

.nt-main {
  position: relative;
  isolation: isolate;
}

.nt-topbar {
  border-bottom-color: var(--ng-line);
  backdrop-filter: blur(16px);
}

.nt-breadcrumb {
  color: var(--ng-muted);
}

.nt-breadcrumb strong {
  color: var(--ng-text);
}

.nt-theme-toggle {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--ng-line);
  border-radius: 999px;
  padding: 4px 10px 4px 5px;
  background: rgba(4, 20, 36, 0.64);
  color: #dceefa;
  font-size: 0.63rem;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}

.nt-theme-toggle:hover {
  transform: translateY(-1px);
  border-color: var(--nt-gold);
}

.nt-theme-toggle > span {
  position: relative;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, #fff6b8 0 12%, #f4c45f 13% 34%, #815111 69%, #291a06 100%);
  box-shadow: 0 0 13px rgba(245, 196, 94, 0.35);
  transition: transform 360ms cubic-bezier(.2, .8, .2, 1), background 360ms ease;
}

.nt-theme-toggle > span::before,
.nt-theme-toggle > span::after,
.nt-theme-toggle > span i::before,
.nt-theme-toggle > span i::after {
  position: absolute;
  inset: -4px 13px;
  border-radius: 999px;
  background: var(--nt-gold);
  content: "";
}

.nt-theme-toggle > span::after { transform: rotate(90deg); }
.nt-theme-toggle > span i::before { transform: rotate(45deg); }
.nt-theme-toggle > span i::after { transform: rotate(-45deg); }

html[data-theme="light"] .nt-theme-toggle {
  background: rgba(255, 255, 255, 0.78);
  color: #10243a;
}

html[data-theme="light"] .nt-theme-toggle > span {
  transform: rotate(-22deg);
  background:
    radial-gradient(circle at 66% 34%, #eff8ff 0 11%, #9cccf0 12% 34%, #255c8c 66%, #0d2540 100%);
  box-shadow: 0 0 14px rgba(57, 170, 255, 0.34);
}

html[data-theme="light"] .nt-theme-toggle > span::before,
html[data-theme="light"] .nt-theme-toggle > span::after,
html[data-theme="light"] .nt-theme-toggle > span i::before,
html[data-theme="light"] .nt-theme-toggle > span i::after {
  opacity: 0;
}

.nta-theme-toggle {
  margin-left: auto;
  min-height: 29px;
  padding-block: 2px;
}

.nta-theme-toggle > span {
  width: 23px;
  height: 23px;
  flex-basis: 23px;
}

.nt-safety-banner {
  border-color: rgba(82, 229, 196, 0.3);
  border-radius: 22px 7px 22px 7px;
  background:
    linear-gradient(100deg, rgba(6, 61, 61, 0.68), rgba(5, 25, 43, 0.76)),
    radial-gradient(circle at 10% 0%, rgba(82, 229, 196, 0.13), transparent 35%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 18px 45px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(18px);
}

html[data-theme="light"] .nt-safety-banner {
  border-color: rgba(18, 125, 104, 0.32);
  background:
    linear-gradient(100deg, rgba(224, 250, 242, 0.91), rgba(237, 248, 251, 0.88)),
    radial-gradient(circle at 10% 0%, rgba(47, 181, 151, 0.11), transparent 35%);
  box-shadow: 0 18px 45px rgba(72, 84, 89, 0.11);
}

.nt-view {
  --ng-view-accent: #147dff;
  --ng-view-icon: url("/assets/novagold/icons/tabs/overview-512.png");
  position: relative;
  overflow: hidden;
  min-height: min(780px, calc(100vh - 180px));
  border: 1px solid rgba(245, 196, 94, 0.28);
  border-radius: 40px 10px 40px 10px;
  margin: 30px 0 18px;
  padding: clamp(28px, 3vw, 48px);
  background: var(--ng-stage);
  box-shadow:
    var(--ng-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 0 80px color-mix(in srgb, var(--ng-view-accent) 6%, transparent);
  backdrop-filter: blur(27px) saturate(1.18);
  animation: ng-stage-in 420ms cubic-bezier(.2, .8, .2, 1) both;
  isolation: isolate;
}

.nt-view::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--ng-view-accent) 16%, transparent), transparent 32%),
    linear-gradient(128deg, rgba(255, 255, 255, 0.035), transparent 25%, transparent 75%, rgba(245, 196, 94, 0.035));
  content: "";
}

.nt-view::after {
  position: absolute;
  top: 26px;
  right: 30px;
  z-index: -1;
  width: clamp(150px, 22vw, 320px);
  height: clamp(150px, 22vw, 320px);
  background: var(--ng-view-icon) center / contain no-repeat;
  opacity: 0.075;
  filter: saturate(0.8) drop-shadow(0 0 22px var(--ng-view-accent));
  transform: rotate(6deg);
  content: "";
}

.nt-view[data-panel="positions"] { --ng-view-accent: #46d8ff; --ng-view-icon: url("/assets/novagold/icons/tabs/positions-512.png"); }
.nt-app-page .nt-view[data-panel="positions"] { --ng-view-icon: url("/assets/novagold/icons/tabs/snapshots-512.png"); }
.nt-view[data-panel="staking"] { --ng-view-accent: #52e0b0; --ng-view-icon: url("/assets/novagold/icons/tabs/staking-512.png"); }
.nt-view[data-panel="agents"] { --ng-view-accent: #b985ff; --ng-view-icon: url("/assets/novagold/icons/tabs/agents-512.png"); }
.nt-view[data-panel="recommendations"],
.nt-view[data-panel="decisions"] { --ng-view-accent: #ffbd45; --ng-view-icon: url("/assets/novagold/icons/tabs/decisions-512.png"); }
.nt-view[data-panel="activity"],
.nt-view[data-panel="reports"] { --ng-view-accent: #68c7ff; --ng-view-icon: url("/assets/novagold/icons/tabs/reports-512.png"); }
.nt-view[data-panel="profile"] { --ng-view-accent: #3bd4cf; --ng-view-icon: url("/assets/novagold/icons/tabs/profile-512.png"); }
.nt-view[data-panel="settings"] { --ng-view-accent: #f4c45f; --ng-view-icon: url("/assets/novagold/icons/tabs/settings-512.png"); }

.nt-view > * {
  position: relative;
  z-index: 1;
}

.nt-view.is-active > :nth-child(1) { animation: ng-content-rise 460ms 40ms cubic-bezier(.2, .8, .2, 1) both; }
.nt-view.is-active > :nth-child(2) { animation: ng-content-rise 460ms 100ms cubic-bezier(.2, .8, .2, 1) both; }
.nt-view.is-active > :nth-child(3) { animation: ng-content-rise 460ms 160ms cubic-bezier(.2, .8, .2, 1) both; }
.nt-view.is-active > :nth-child(n+4) { animation: ng-content-rise 460ms 210ms cubic-bezier(.2, .8, .2, 1) both; }

@keyframes ng-stage-in {
  from { opacity: 0; transform: translateY(14px) scale(0.994); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ng-content-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.nt-view-heading h1,
.nta-auth h1,
.nta-hold-card h1 {
  color: var(--ng-text);
  text-shadow: 0 16px 46px rgba(0, 0, 0, 0.2);
}

.nt-heading-copy {
  color: var(--ng-muted);
}

.nt-panel,
.nt-metric-card,
.nt-agent-card,
.nt-recommendation-card,
.nt-profile-option,
.nt-snapshot-card,
.nt-data-source-card,
.nta-snapshot-card,
.nta-profile-editor,
.nta-position-form,
.nta-position-ledger,
.nta-assessment-action,
.nta-assessment-results,
.nta-report-card,
.nta-report-side,
.nta-settings-card,
.nta-morning-brief-card,
.nta-council-preview,
.nta-boundary-note,
.nta-morning-overview,
.nta-auth-card,
.nta-hold-card {
  border-color: var(--ng-line);
  border-radius: 28px 8px 28px 8px;
  background: var(--ng-surface);
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.21),
    inset 0 1px 0 rgba(255, 255, 255, 0.075);
  backdrop-filter: blur(23px) saturate(1.16);
  transition:
    transform 260ms cubic-bezier(.2, .8, .2, 1),
    border-color 260ms ease,
    box-shadow 260ms ease,
    background 260ms ease;
}

.nt-panel:hover,
.nt-metric-card:hover,
.nt-agent-card:hover,
.nt-recommendation-card:hover,
.nt-profile-option:hover,
.nta-settings-card:hover {
  transform: translateY(-4px);
  border-color: rgba(245, 196, 94, 0.42);
  box-shadow:
    0 30px 68px rgba(0, 0, 0, 0.28),
    0 0 42px var(--ng-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.nt-metric-card {
  min-height: 172px;
  padding: 20px;
  background: var(--ng-surface);
}

.novagold-page:not(.nt-app-page) .nt-metric-card:nth-child(1) { --ng-card-icon: url("/assets/novagold/icons/tabs/positions-256.png"); }
.novagold-page:not(.nt-app-page) .nt-metric-card:nth-child(2),
.novagold-page:not(.nt-app-page) .nt-metric-card:nth-child(3) { --ng-card-icon: url("/assets/novagold/icons/tabs/staking-256.png"); }
.novagold-page:not(.nt-app-page) .nt-metric-card:nth-child(4) { --ng-card-icon: url("/assets/novagold/icons/tabs/agents-256.png"); }
.nt-app-page .nt-metric-card:nth-child(1) { --ng-card-icon: url("/assets/novagold/icons/tabs/snapshots-256.png"); }
.nt-app-page .nt-metric-card:nth-child(2) { --ng-card-icon: url("/assets/novagold/icons/tabs/profile-256.png"); }
.nt-app-page .nt-metric-card:nth-child(3) { --ng-card-icon: url("/assets/novagold/icons/tabs/decisions-256.png"); }
.nt-app-page .nt-metric-card:nth-child(4) { --ng-card-icon: url("/assets/novagold/icons/tabs/agents-256.png"); }

.nt-metric-card::after {
  position: absolute;
  right: -15px;
  bottom: -20px;
  width: 118px;
  height: 118px;
  background: var(--ng-card-icon) center / contain no-repeat;
  opacity: 0.12;
  filter: drop-shadow(0 0 18px rgba(20, 125, 255, 0.36));
  transform: rotate(-7deg);
  content: "";
}

.nt-metric-card > * {
  position: relative;
  z-index: 2;
}

.nt-metric-value,
.nt-recommendation-card.is-open,
.nt-recommendation-card.is-review,
.nt-profile-option.is-selected,
.nt-profile-boundary,
.nta-report-card {
  background: var(--ng-surface-warm);
}

.nt-agent-card,
.nta-agent-card {
  overflow: visible;
}

.nt-view[data-panel="agents"] .nt-agent-card {
  border-color: rgba(185, 133, 255, 0.34);
  background:
    radial-gradient(circle at 14% 18%, rgba(185, 133, 255, 0.18), transparent 34%),
    linear-gradient(150deg, rgba(34, 18, 48, 0.92), rgba(7, 9, 20, 0.97));
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 231, 163, 0.08);
}

.nt-view[data-panel="agents"] .nt-agent-card::after {
  border-color: rgba(185, 133, 255, 0.22);
  background: radial-gradient(circle, rgba(185, 133, 255, 0.1), transparent 67%);
}

.nt-agent-card-emblem,
.nta-agent-emblem {
  filter:
    drop-shadow(0 15px 19px rgba(0, 0, 0, 0.36))
    drop-shadow(0 0 15px rgba(185, 133, 255, 0.18));
  transition: transform 320ms cubic-bezier(.2, .8, .2, 1), filter 320ms ease;
}

.nt-agent-card:hover .nt-agent-card-emblem,
.nta-agent-card:hover .nta-agent-emblem {
  transform: translateY(-5px) rotate(-3deg) scale(1.06);
  filter:
    drop-shadow(0 19px 24px rgba(0, 0, 0, 0.42))
    drop-shadow(0 0 21px rgba(185, 133, 255, 0.4))
    drop-shadow(0 0 11px rgba(245, 196, 94, 0.24));
}

.nta-agent-emblem img,
.nt-agent-card-emblem img,
.nta-council-member > img,
.nta-dossier-portrait-frame img {
  object-fit: contain;
}

.nta-council-member {
  border-radius: 23px 7px 23px 7px;
  transition: transform 240ms cubic-bezier(.2, .8, .2, 1), border-color 240ms ease, background 240ms ease;
}

.nta-council-member:hover {
  transform: translateY(-3px);
  border-color: rgba(245, 196, 94, 0.44);
}

.nt-profile-option::after {
  position: absolute;
  right: -14px;
  bottom: -20px;
  width: 112px;
  height: 112px;
  background: url("/assets/novagold/icons/tabs/profile-256.png") center / contain no-repeat;
  opacity: 0.08;
  content: "";
}

.nt-allocation-ring {
  animation: ng-ring-arrive 720ms 160ms cubic-bezier(.2, .8, .2, 1) both;
}

@keyframes ng-ring-arrive {
  from { opacity: 0; transform: rotate(-18deg) scale(0.82); }
  to { opacity: 1; transform: rotate(0) scale(1); }
}

.nt-sparkline i {
  transform-origin: bottom;
  animation: ng-bar-grow 560ms cubic-bezier(.2, .8, .2, 1) both;
}

.nt-sparkline i:nth-child(2) { animation-delay: 40ms; }
.nt-sparkline i:nth-child(3) { animation-delay: 80ms; }
.nt-sparkline i:nth-child(4) { animation-delay: 120ms; }
.nt-sparkline i:nth-child(5) { animation-delay: 160ms; }
.nt-sparkline i:nth-child(6) { animation-delay: 200ms; }
.nt-sparkline i:nth-child(7) { animation-delay: 240ms; }

@keyframes ng-bar-grow {
  from { transform: scaleY(0); opacity: 0; }
  to { transform: scaleY(1); opacity: 1; }
}

.nt-primary-button,
.nt-outline-button,
.nt-quiet-button,
.nt-text-button,
.nt-account-link,
.nt-menu-button {
  border-radius: 14px 5px 14px 5px;
}

.nt-primary-button {
  position: relative;
  overflow: hidden;
  min-height: 42px;
  background: linear-gradient(135deg, #fff2b5, #f4c45f 47%, #a86515);
  box-shadow: 0 13px 30px rgba(163, 102, 17, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.nt-primary-button::after {
  position: absolute;
  top: -70%;
  left: -35%;
  width: 26%;
  height: 250%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.76), transparent);
  transform: rotate(22deg);
  transition: left 520ms ease;
  content: "";
}

.nt-primary-button:hover::after {
  left: 120%;
}

.nt-boundary-card {
  border-radius: 24px 7px 24px 7px;
  background: var(--ng-surface-warm);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 16px 36px rgba(0, 0, 0, 0.16);
}

.nt-boundary-seal {
  width: 44px;
  height: 44px;
}

.nta-royal-backdrop {
  background:
    linear-gradient(180deg, rgba(1, 7, 15, 0.16), rgba(1, 7, 15, 0.68)),
    var(--ng-backdrop) center top / cover fixed no-repeat;
}

html[data-theme="light"] .nta-royal-backdrop {
  background:
    linear-gradient(180deg, rgba(255, 252, 244, 0.12), rgba(246, 239, 225, 0.58)),
    var(--ng-backdrop) center top / cover fixed no-repeat;
}

.nta-auth,
.nta-hold {
  position: relative;
}

.nta-auth-card,
.nta-hold-card {
  border-color: rgba(245, 196, 94, 0.34);
}

.nta-auth-card::before,
.nta-hold-card::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 96% 0%, rgba(20, 125, 255, 0.16), transparent 32%),
    linear-gradient(128deg, rgba(255, 255, 255, 0.05), transparent 28%);
  pointer-events: none;
  content: "";
}

.nta-boundary-grid article {
  border-radius: 22px 7px 22px 7px;
  background: var(--ng-surface);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.nta-auth-tabs {
  border-radius: 18px 6px 18px 6px;
}

.nta-auth-tabs button {
  border-radius: 14px 4px 14px 4px;
}

.nta-morning-preview-sheet {
  border-radius: 28px 8px 28px 8px;
}

.nta-agent-dossier {
  border-radius: 34px 10px 34px 10px;
  background: var(--ng-stage-strong);
  box-shadow: 0 42px 120px rgba(0, 0, 0, 0.58), 0 0 80px var(--ng-glow);
  backdrop-filter: blur(30px) saturate(1.2);
}

html[data-theme="light"] .nta-agent-dossier::backdrop {
  background: rgba(53, 66, 75, 0.46);
  backdrop-filter: blur(11px);
}

.nta-rail-scrim {
  background: rgba(0, 7, 15, 0.58);
  backdrop-filter: blur(7px);
}

.nt-dashboard-scrim {
  position: fixed;
  inset: 34px 0 0;
  z-index: 34;
  border: 0;
}

body.nt-rail-open {
  overflow: hidden;
}

/* Light-mode readability overrides for legacy hard-coded colors. */
html[data-theme="light"] .nt-main,
html[data-theme="light"] .nta-app,
html[data-theme="light"] .nta-auth,
html[data-theme="light"] .nta-hold {
  color: #07162a;
}

html[data-theme="light"] .nt-main :is(h1, h2, h3),
html[data-theme="light"] .nta-auth :is(h1, h2, h3),
html[data-theme="light"] .nta-hold :is(h1, h2, h3),
html[data-theme="light"] .nt-rail strong,
html[data-theme="light"] .nt-brand-copy strong {
  color: #07162a !important;
  text-shadow: none;
}

html[data-theme="light"] .nt-main strong {
  color: #07162a;
}

html[data-theme="light"] .nt-allocation-list span {
  color: #263f53;
}

html[data-theme="light"] .nt-main :is(p, small, dd, li),
html[data-theme="light"] .nta-auth :is(p, small, dd, li),
html[data-theme="light"] .nta-hold :is(p, small, dd, li),
html[data-theme="light"] .nt-rail p,
html[data-theme="light"] .nt-nav-copy i {
  color: #536a7d;
}

html[data-theme="light"] .nt-metric-card > span {
  color: #536a7d;
}

html[data-theme="light"] .nt-metric-card > strong {
  color: #07162a;
  text-shadow: none;
}

html[data-theme="light"] .nt-metric-card.nt-metric-value > strong {
  color: #a86d10;
}

html[data-theme="light"] .nt-main :is(.nt-panel, .nt-metric-card, .nt-agent-card, .nt-recommendation-card, .nt-profile-option, .nt-snapshot-card, .nt-data-source-card),
html[data-theme="light"] .nta-app :is(.nta-profile-editor, .nta-position-form, .nta-position-ledger, .nta-assessment-action, .nta-assessment-results, .nta-report-card, .nta-report-side, .nta-settings-card, .nta-morning-brief-card, .nta-council-preview, .nta-boundary-note, .nta-morning-overview, .nta-auth-card, .nta-hold-card) {
  border-color: rgba(83, 125, 151, 0.28);
  background: var(--ng-surface);
  box-shadow: 0 22px 56px rgba(73, 83, 87, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .nt-main :is(.nt-metric-value, .nt-recommendation-card.is-open, .nt-recommendation-card.is-review, .nt-profile-option.is-selected, .nt-profile-boundary, .nta-report-card) {
  background: var(--ng-surface-warm);
}

html[data-theme="light"] .nt-main table,
html[data-theme="light"] .nt-main td,
html[data-theme="light"] .nt-main th {
  color: #173047;
}

html[data-theme="light"] .nt-main th {
  color: #5d7181;
}

html[data-theme="light"] .nt-main :is(.nt-read-only-mark, .nt-agent-status, .nt-table-status.is-good, .nt-status-small, .nt-activity-status) {
  color: #087660 !important;
}

html[data-theme="light"] .nt-main :is(.nt-table-status.is-watch, .nt-status-review) {
  color: #8d5b08;
}

html[data-theme="light"] .nt-table-toolbar {
  color: #27475e;
}

html[data-theme="light"] .nt-filter {
  border-color: rgba(45, 94, 122, 0.25);
  background: rgba(232, 242, 246, 0.88);
  color: #34566d;
}

html[data-theme="light"] .nt-filter:hover,
html[data-theme="light"] .nt-filter.is-active {
  border-color: rgba(20, 123, 177, 0.45);
  background: rgba(188, 224, 238, 0.86);
  color: #0b334d;
}

html[data-theme="light"] .nt-main :is(input, select, textarea),
html[data-theme="light"] .nta-auth :is(input, select, textarea) {
  border-color: rgba(59, 112, 142, 0.34);
  background: rgba(255, 255, 255, 0.85);
  color: #07162a;
  box-shadow: inset 0 1px 2px rgba(67, 78, 84, 0.08);
}

html[data-theme="light"] .nt-main :is(.nt-outline-button, .nt-quiet-button, .nt-menu-button, .nt-account-link),
html[data-theme="light"] .nta-auth .nt-outline-button,
html[data-theme="light"] .nta-hold .nt-outline-button {
  border-color: rgba(33, 116, 160, 0.35);
  background: rgba(255, 255, 255, 0.72);
  color: #143650;
}

html[data-theme="light"] .nt-safety-banner strong {
  color: #0b3d35;
}

html[data-theme="light"] .nt-safety-banner p,
html[data-theme="light"] .nt-safety-status {
  color: #35685e;
}

html[data-theme="light"] .nt-footer {
  color: #627688;
}

html[data-theme="light"] .nt-toast {
  border-color: rgba(29, 126, 178, 0.38);
  background: #f5fbff;
  color: #0a243a;
  box-shadow: 0 24px 70px rgba(73, 83, 87, 0.2);
}

html[data-theme="light"] .nta-morning-preview-sheet,
html[data-theme="light"] .nta-dossier-details,
html[data-theme="light"] .nta-dossier-portrait-panel {
  color: #07162a;
}

@media (max-width: 1100px) {
  .nt-view {
    padding: 30px;
  }

  .nt-nav-link {
    grid-template-columns: 43px minmax(0, 1fr);
  }

  .nt-nav-link > em {
    display: none;
  }

  .nt-nav-icon {
    width: 41px;
    height: 41px;
  }
}

@media (max-width: 860px) {
  .novagold-page .nt-space-field,
  .nta-royal-backdrop {
    background-position: center top;
    background-attachment: scroll;
  }

  .nt-rail {
    top: 34px;
    border-right-color: rgba(245, 196, 94, 0.32);
    background: var(--ng-stage-strong);
  }

  .nt-view {
    min-height: 0;
    border-radius: 30px 8px 30px 8px;
    margin-top: 20px;
    padding: 26px 22px;
  }

  .nt-view::after {
    top: 18px;
    right: 14px;
    width: 170px;
    height: 170px;
  }

  .nt-theme-toggle b {
    display: none;
  }

  .nt-theme-toggle {
    padding-right: 5px;
  }

  .nta-theme-toggle b {
    display: inline;
  }

  .nta-theme-toggle {
    padding-right: 8px;
  }
}

@media (max-width: 620px) {
  .nt-main {
    padding-inline: 10px;
  }

  .nt-view {
    border-radius: 24px 7px 24px 7px;
    margin-top: 14px;
    padding: 22px 15px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
  }

  .nt-panel,
  .nt-metric-card,
  .nt-agent-card,
  .nt-recommendation-card,
  .nt-profile-option,
  .nta-profile-editor,
  .nta-position-form,
  .nta-position-ledger,
  .nta-settings-card,
  .nta-morning-brief-card {
    border-radius: 22px 7px 22px 7px;
  }

  .nt-theme-toggle > span {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
  }

  .nta-launch-strip {
    padding-right: 6px;
  }

  .nta-launch-strip > span:not(.nta-launch-orbit) {
    display: none;
  }

  .nta-theme-toggle {
    margin-left: auto;
  }

  .nta-theme-toggle b {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .novagold-page .nt-space-field,
  .nt-nav-link.is-active .nt-nav-icon,
  .nt-allocation-ring,
  .nt-sparkline i,
  .nt-view,
  .nt-view.is-active > * {
    animation: none !important;
  }
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 360ms;
  animation-timing-function: cubic-bezier(.2, .8, .2, 1);
}
