/* Interaction stays with navigation, reading and a soft change in lighting. */
.hero-ambient-light {
    position: absolute;
    z-index: -1;
    pointer-events: none;
    width: 880px;
    height: 880px;
    left: 76%;
    top: 43%;
    background: radial-gradient(ellipse, rgba(255, 255, 255, .72), rgba(255, 255, 255, .24) 36%, transparent 69%);
    transform: translate3d(calc(-50% + var(--light-x, 0px)), calc(-50% + var(--light-y, 0px)), 0);
}
[data-theme="dark"] .hero-ambient-light { background: radial-gradient(ellipse, rgba(113, 151, 207, .14), rgba(100, 137, 188, .05) 36%, transparent 69%); }
.hero-interests a { text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 4px; transition: color .2s ease, text-decoration-color .2s ease; }
.hero-interests a:hover, .hero-interests a:focus-visible { color: var(--accent); text-decoration-color: currentColor; }
.publication-card:target, .research-card:target { border-color: var(--accent); }
.publication-card[id] { scroll-margin-top: 24px; }

/* One highlight moves between links; the capsule's layout stays unchanged. */
@media (min-width: 993px) {
    .nav-menu.has-tracking-highlight { position: relative; isolation: isolate; }
    .nav-menu.has-tracking-highlight::before {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        top: var(--nav-highlight-y, 0px);
        left: 0;
        width: var(--nav-highlight-width, 0px);
        height: var(--nav-highlight-height, 44px);
        transform: translateX(var(--nav-highlight-x, 0px));
        border-radius: 100px;
        background: var(--glass-highlight);
        box-shadow: var(--glass-control-shadow);
        transition: transform .28s cubic-bezier(.22, 1, .36, 1), width .28s cubic-bezier(.22, 1, .36, 1);
    }
    .has-tracking-highlight .nav-link:hover,
    .has-tracking-highlight .nav-link[aria-current="location"] { background: transparent; box-shadow: none; }
}
@media (max-width: 640px) {
    .hero-ambient-light { width: 620px; height: 620px; left: 63%; top: 38%; opacity: .6; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-ambient-light { transform: translate(-50%, -50%); }
}
@media print { .hero-ambient-light { display: none; } }
