/* Blue palette primitives and terminal typography.
   Root scoping is deliberate: the palette buttons also carry data-accent. */
@font-face {
    font-family: "Agent Mono";
    src: url("../fonts/agent-mono/JetBrainsMono.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 800;
    font-display: swap;
}
.agent-only { display: none; }

:root[data-accent="blue"] {
    --accent: #4d6bfe;
    --accent-2: #38bdf8;
    --accent-gradient: linear-gradient(115deg, #4d6bfe, #38bdf8);
    --bg: #eef3ff;
    --bg-accent: radial-gradient(ellipse at 50% 0%, #4d6bfe16, transparent 55%);
    --card-bg: #ffffff;
    --card-bg-elevated: #f7faff;
    --text: #35435f;
    --text-muted: #65738c;
    --heading: #142344;
    --border: #4d6bfe22;
    --border-strong: #4d6bfe44;
    --shadow: 0 4px 24px #1c3e7008;
    --shadow-hover: 0 12px 32px #254b8e12;
    --navbar-bg: #f4f7ffed;
    --link: #3655d5;
    --link-hover: #176eac;
    --badge-bg: #4d6bfe12;
    --badge-text: #3655d5;
    --agent-mono: "Agent Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
    --agent-grid: #4d6bfe08;
}
:root[data-theme="dark"][data-accent="blue"] {
    --bg: #080f20;
    --bg-accent: radial-gradient(ellipse at 50% 0%, #284dba29, transparent 65%);
    --card-bg: #101c32;
    --card-bg-elevated: #14223b;
    --text: #c4d2e9;
    --text-muted: #93a5c2;
    --heading: #eaf2ff;
    --border: #6a93e329;
    --border-strong: #6a93e352;
    --shadow: 0 4px 24px #00000014;
    --shadow-hover: 0 12px 32px #00000022;
    --navbar-bg: #080f20ed;
    --link: #93b7ff;
    --link-hover: #71d9ff;
    --badge-bg: #4d6bfe22;
    --badge-text: #93b7ff;
    --agent-grid: #5982c909;
}
:root[data-accent="blue"] body {
    zoom: 1;
    padding-top: 6.25rem;
    background-image: linear-gradient(var(--agent-grid) 1px, transparent 1px), linear-gradient(90deg, var(--agent-grid) 1px, transparent 1px), var(--bg-accent);
    background-size: 64px 64px, 64px 64px, auto;
    background-repeat: repeat, repeat, no-repeat;
}
:root[data-accent="blue"] .container { max-width: 1280px; }
:root[data-accent="blue"] ::selection { background: #4d6bfe55; }
:root[data-accent="blue"] :focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
:root[data-accent="blue"] .navbar { min-height: 68px; box-shadow: none !important; }
:root[data-accent="blue"] .navbar-brand strong { font-family: var(--agent-mono); font-size: 1.02rem; font-weight: 600; letter-spacing: -.05em; }
:root[data-accent="blue"] .navbar-brand::before { content: "</>"; font: 500 .9rem var(--agent-mono); color: var(--accent); margin-right: .75rem; }
:root[data-accent="blue"] .navbar .nav-link { font-size: .85rem; padding-inline: .85rem; }
:root[data-accent="blue"] .navbar .nav-item.active .nav-link { color: var(--link) !important; }
:root[data-accent="blue"] .navbar .nav-item.active .nav-link::after { height: 2px; background: var(--accent-gradient); }
:root[data-accent="blue"] .accent-picker { gap: .55rem; margin-left: .5rem; }
:root[data-accent="blue"] .accent-dot { width: 14px; height: 14px; }
:root[data-accent="blue"] .theme-toggle { border-color: var(--border); background: transparent; border-radius: 8px; }
:root[data-accent="blue"] .card { border-radius: 12px !important; }
:root[data-accent="blue"] .rounded-sm { border-radius: 10px !important; }

/* The remaining page reads as a clean research index. */
:root[data-accent="blue"] .exp-section-title { font-size: .98rem; margin-block: .35rem 1rem; }
:root[data-accent="blue"] .exp-section-title::before { width: 3px; border-radius: 1px; }
:root[data-accent="blue"] .exp-name { font-size: .85rem; }
:root[data-accent="blue"] .exp-item { padding-block: .55rem; }
:root[data-accent="blue"] .exp-sub { font-size: .78rem; line-height: 1.7; }
:root[data-accent="blue"] .exp-head { flex-wrap: wrap; gap: .2rem .6rem; }
:root[data-accent="blue"] .exp-date,
:root[data-accent="blue"] .award-date { font: 400 .6rem/1.8 var(--agent-mono); border-radius: 4px; }
:root[data-accent="blue"] .award-item { font-size: .78rem; padding-block: .4rem; }
:root[data-accent="blue"] .news-head,
:root[data-accent="blue"] .bg-white > h6.border-bottom { font-size: 1rem; padding: 1.25rem 1.4rem !important; }
:root[data-accent="blue"] .news-head .fas,
:root[data-accent="blue"] .bg-white > h6 .fa-star { font-size: .8rem; }
:root[data-accent="blue"] .news-year-label { font-family: var(--agent-mono); font-size: 1.1rem; }
:root[data-accent="blue"] .news-item { font-size: .83rem; padding-block: .65rem; }
:root[data-accent="blue"] .news-date { font-family: var(--agent-mono); font-size: .65rem; }
:root[data-accent="blue"] .pub-title { font-size: 1.13rem; line-height: 1.55; }
:root[data-accent="blue"] .publication-row .small { line-height: 1.75; }
:root[data-accent="blue"] .badge,
:root[data-accent="blue"] .abstract-links a { border-radius: 4px; }
:root[data-accent="blue"] .footer { font-size: .75rem; margin-top: 2.5rem; }
:root[data-accent="blue"] #news { scroll-margin-top: 86px; }
:root[data-accent="blue"] .namecard { border-radius: 12px; }

@media (max-width: 1199.98px) {
    :root[data-accent="blue"] .profile-card .card-body { padding-inline: 1.7rem !important; }
    :root[data-accent="blue"] .profile-card .h1 { font-size: 2.65rem; }
}
@media (max-width: 991.98px) {
    :root[data-accent="blue"] .profile-intro { flex: 0 0 100%; max-width: 100%; }
    :root[data-accent="blue"] .profile-card .text-profile-bio { font-size: .88rem; }
}
@media (max-width: 767.98px) {
    :root[data-accent="blue"] body { padding-top: 5.5rem; }
    :root[data-accent="blue"] .profile-card .card-body { padding: 0 1.15rem 1.25rem !important; }
    :root[data-accent="blue"] .profile-card .h1 { font-size: 2.5rem; }
    :root[data-accent="blue"] .profile-card .text-profile-bio { font-size: .83rem; }
    :root[data-accent="blue"] .profile-main { margin-inline: 0; }
    :root[data-accent="blue"] .profile-intro { display: contents; }
    :root[data-accent="blue"] .profile-heading { order: 2; width: 100%; }
    :root[data-accent="blue"] .text-profile-position { order: 3; width: 100%; margin-bottom: 1.5rem; }
    :root[data-accent="blue"] .text-profile-bio { order: 5; width: 100%; }
    :root[data-accent="blue"] .profile-intro > a { order: 6; }
    :root[data-accent="blue"] .profile-card .latest-news { margin: .4rem 0 0 !important; flex-basis: 100%; }
    :root[data-accent="blue"] .profile-card .latest-news .ln-text { max-width: 40vw; }
}
@media (max-width: 575.98px) {
    :root[data-accent="blue"] .navbar .nav-link { padding-inline: 0; }
    :root[data-accent="blue"] .navbar .nav-item.active .nav-link::after { left: 0; right: auto; width: 22px; }
    :root[data-accent="blue"] .accent-picker { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
    :root[data-accent="blue"] { scroll-behavior: auto; }
    :root[data-accent="blue"] *,
    :root[data-accent="blue"] *::before,
    :root[data-accent="blue"] *::after { animation: none !important; transition: none !important; }
}
