:root{
  --nf-bg:#f7fbfc;--nf-surface:#ffffff;--nf-surface-2:#f0f7f8;--nf-text:#10283f;--nf-muted:#607487;
  --nf-line:#d9e7ea;--nf-accent:#08a9a4;--nf-accent-2:#13d2ca;--nf-shadow:0 18px 50px rgba(21,56,75,.11);
  --nf-hero:linear-gradient(135deg,#f5fbff 0%,#e9f7fa 55%,#edf4ff 100%);--nf-glow:rgba(8,169,164,.25)
}
:root[data-theme="dark"]{
  --nf-bg:#050a10;--nf-surface:#0a111a;--nf-surface-2:#0d1722;--nf-text:#f3fbff;--nf-muted:#a1b3c2;
  --nf-line:#1a2d3b;--nf-accent:#12d8cf;--nf-accent-2:#35f0e6;--nf-shadow:0 20px 60px rgba(0,0,0,.42);
  --nf-hero:radial-gradient(circle at 74% 38%,rgba(0,226,218,.13),transparent 31%),linear-gradient(135deg,#07111d 0%,#030911 58%,#071626 100%);--nf-glow:rgba(18,216,207,.36)
}
html{background:var(--nf-bg);transition:background .25s ease,color .25s ease}body{background:var(--nf-bg)!important;color:var(--nf-text)!important;transition:background .25s ease,color .25s ease}
.theme-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--nf-line);border-radius:999px;background:var(--nf-surface);box-shadow:0 8px 22px rgba(14,54,70,.08)}
.theme-switcher button{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;background:transparent;color:var(--nf-muted);padding:8px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.theme-switcher button.active{background:var(--nf-accent);color:#001817;box-shadow:0 7px 18px var(--nf-glow)}
.theme-toggle-compact{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--nf-line);border-radius:50%;background:var(--nf-surface);color:var(--nf-text);cursor:pointer}
:root[data-theme="dark"] .theme-toggle-compact .sun{display:inline}:root[data-theme="dark"] .theme-toggle-compact .moon{display:none}:root:not([data-theme="dark"]) .theme-toggle-compact .sun{display:none}
/* Home */
.home-v87 .home-header,.home-v87 .home-footer{background:color-mix(in srgb,var(--nf-surface) 93%,transparent);border-color:var(--nf-line);color:var(--nf-text)}
.home-v87 .home-nav a,.home-v87 .home-brand,.home-v87 .home-footer a{color:var(--nf-text)}
.home-v87 .home-hero{background:var(--nf-hero);border-color:var(--nf-line);box-shadow:var(--nf-shadow)}
.home-v87 .home-hero h1,.home-v87 h2,.home-v87 h3,.home-v87 strong,.home-v87 b{color:var(--nf-text)}
.home-v87 p,.home-v87 small{color:var(--nf-muted)}
.home-v87 .home-hero-features article,.home-v87 .home-audience,.home-v87 .home-accounts,.home-v87 .home-professional,.home-v87 .home-game-card,.home-v87 .metric-card{background:var(--nf-surface);border-color:var(--nf-line);color:var(--nf-text)}
.home-v87 .home-clinical-strip{background:var(--nf-surface);border-color:var(--nf-line);color:var(--nf-muted)}
.home-v87 .hero-brain{animation:nefesh-float 4.8s ease-in-out infinite;filter:drop-shadow(0 0 22px var(--nf-glow))}
.home-v87 .hero-brain::before,.home-v87 .hero-brain::after{content:"";position:absolute;inset:-14%;border:1px solid color-mix(in srgb,var(--nf-accent) 60%,transparent);border-radius:50%;animation:nefesh-orbit 8s linear infinite;pointer-events:none}
.home-v87 .hero-brain::after{inset:-28%;opacity:.38;animation-duration:13s;animation-direction:reverse}
.home-v87 .hero-brain img{animation:nefesh-pulse 3.2s ease-in-out infinite;transform-origin:center}
.home-v87 .hero-pedestal{animation:nefesh-pedestal 4.8s ease-in-out infinite}
.home-v87 .network-dot{animation:nefesh-node 3s ease-in-out infinite}.home-v87 .network-dot:nth-child(2n){animation-delay:-1.5s}
@keyframes nefesh-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-16px) rotate(1deg)}}
@keyframes nefesh-pulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.045);filter:brightness(1.18)}}
@keyframes nefesh-orbit{to{transform:rotate(360deg)}}
@keyframes nefesh-pedestal{0%,100%{transform:scaleX(1);opacity:.72}50%{transform:scaleX(.9);opacity:1}}
@keyframes nefesh-node{0%,100%{transform:scale(1);box-shadow:0 0 0 0 var(--nf-glow)}50%{transform:scale(1.12);box-shadow:0 0 0 11px transparent}}
@media(prefers-reduced-motion:reduce){.hero-brain,.hero-brain img,.hero-brain::before,.hero-brain::after,.hero-pedestal,.network-dot{animation:none!important}}
/* Library */
.mass-library-body .attention-header{background:color-mix(in srgb,var(--nf-surface) 94%,transparent);border-color:var(--nf-line);color:var(--nf-text)}
.mass-library-body .mass-library-hero{padding:34px;border:1px solid var(--nf-line);border-radius:28px;background:var(--nf-hero);box-shadow:var(--nf-shadow);text-align:left}
.mass-library-body .mass-library-hero h1,.mass-library-body h2,.mass-library-body h3{color:var(--nf-text)}
.mass-library-body p,.mass-library-body small,.mass-library-body label{color:var(--nf-muted)!important}
.mass-library-body .mass-library-metrics article,.mass-library-body .mass-clinical-overview,.mass-library-body .library-mode-selector,.mass-library-body .mass-library-controls,.mass-library-body .mass-game-card,.mass-library-body .mass-library-note{background:var(--nf-surface);border-color:var(--nf-line);color:var(--nf-text)}
.mass-library-body .library-mode-selector button,.mass-library-body input,.mass-library-body select,.mass-library-body .mass-pagination button{background:var(--nf-surface-2);border-color:var(--nf-line);color:var(--nf-text)}
.mass-library-body .library-mode-selector button.active{background:color-mix(in srgb,var(--nf-accent) 18%,var(--nf-surface));border-color:var(--nf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nf-accent) 13%,transparent)}
.mass-library-body .mass-game-card{box-shadow:var(--nf-shadow)}
.mass-library-body .mass-game-content p{color:var(--nf-muted)!important}.mass-library-body .mass-game-abilities span{background:var(--nf-surface-2);color:var(--nf-muted)}
.mass-library-body .mass-game-clinical span{background:color-mix(in srgb,var(--nf-accent) 8%,var(--nf-surface));border-color:color-mix(in srgb,var(--nf-accent) 30%,var(--nf-line));color:var(--nf-accent)}
.mass-library-body .mass-game-content footer a{background:var(--nf-accent);color:#001817}.mass-library-body .mass-game-content footer a:hover{background:var(--nf-accent-2)}
.mass-library-body .mass-game-cover{background:#06111b}.mass-library-body .mass-game-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(2,8,14,.42));pointer-events:none}
.mass-library-body .mass-game-cover img{filter:saturate(1.08) contrast(1.02)}
.mass-library-body .mass-library-note{border-left-color:var(--nf-accent)}
.theme-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0 0;padding:14px 18px;border:1px solid var(--nf-line);border-radius:16px;background:var(--nf-surface)}
.theme-panel b{display:block;color:var(--nf-text)}.theme-panel small{display:block;margin-top:3px;color:var(--nf-muted)}
@media(max-width:720px){.theme-panel{align-items:flex-start;flex-direction:column}.theme-switcher{width:100%}.theme-switcher button{flex:1;justify-content:center}.mass-library-body .mass-library-hero{padding:24px}}
/* Professional portal and virtual center */
.portal-body,.center-body{background:var(--nf-bg)!important;color:var(--nf-text)!important}
.portal-sidebar,.portal-header,.portal-main .portal-card,.portal-main .chart-card,.portal-main .metric-card,.center-side,.center-top,.center-content .card,.center-content .hero,.center-content .metric,.center-content .patient-card,.modal{background:var(--nf-surface)!important;border-color:var(--nf-line)!important;color:var(--nf-text)!important}
.portal-main,.center-main,.center-content{background:var(--nf-bg)!important}.portal-nav button,.center-nav button,.center-nav a,.portal-sidebar a,.center-side a{color:var(--nf-text)!important}
.portal-body input,.portal-body select,.portal-body textarea,.center-body input,.center-body select,.center-body textarea{background:var(--nf-surface-2)!important;border-color:var(--nf-line)!important;color:var(--nf-text)!important}
.portal-body p,.portal-body small,.portal-body .muted,.center-body p,.center-body small,.center-body .muted{color:var(--nf-muted)!important}
.portal-header .theme-toggle-compact,.center-top .theme-toggle-compact{flex:0 0 auto}
:root[data-theme="dark"] .portal-body .demo-ribbon{background:#083b3d;color:#bafffb}
