/* White and blue theme, loaded after the original theme and vendor styles. */
:root { color-scheme: light; --blue: #2563eb; --blue-dark: #1746a2; --ink: #24364b; --muted: #53667e; --line: #dce7f5; --soft: #f3f7fd; }
html, body { background: #fff; color: var(--ink); }
body { margin: 0; }
a { color: var(--blue); }
a:hover, a:focus { color: var(--blue-dark); }
h1, h2, h3 { color: #153c75; line-height: 1.35; }
p, .timeline-wrapper .desc, .project-desc { line-height: 1.75; }
.highlight-title { color: var(--blue); text-shadow: none; }
.highlight-link { color: var(--blue); box-shadow: inset 0 -2px 0 #b7cffb; border-radius: 3px; }
.highlight-link:hover, .highlight-link:focus { color: #fff; background: var(--blue); box-shadow: none; }
#landing { background: #fff; color: var(--ink); position: relative; margin: 0; padding: 0; min-height: 32rem; }
.landing-title { z-index: 1; }
.landing-title h1 { line-height: 1.35; }
.landing-icons { position: relative; z-index: 1; gap: .5rem; }
.landing-icons .social-link, .contact-icons .social-link { color: var(--blue); border-radius: 50%; }
.landing-icons .social-link .circle, .landing-icons .social-link:hover .circle { animation: none; stroke: #90b5f4; stroke-width: 5px; stroke-dasharray: 510; fill: #eff6ff; }
.landing-icons .social-link:hover .circle { stroke: var(--blue); fill: #dbeafe; }
.landing-icons .social-link .social-svg, .landing-icons .social-link:hover .social-svg,
.contact-icons .social-link .social-svg, .contact-icons .social-link:hover .social-svg { fill: var(--blue); }
.landing-icons .social-link .label { font-size: .8rem; line-height: 1.2; }
.social-link { display: inline-block; }
button.social-link { padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; appearance: none; }
button.social-link:disabled { cursor: progress; }
button.social-link svg { display: block; width: 100%; height: 100%; }
.social-link:focus-visible, a:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.contact-icons .social-link { background: #eff6ff; }
.contact-icons .social-link:hover { animation: none; background: #dbeafe; }
.layout .card { background: #fff; border: 1px solid var(--line); border-radius: 1.5rem; }
.neumorphism-card-big { box-shadow: 0 12px 40px rgba(30, 76, 140, .07); }
.neumorphism-card { background: var(--soft); box-shadow: none; border: 1px solid var(--line); }
.neumorphism-button { background: #eff6ff; box-shadow: none; border: 1px solid #c4d8f8; }
.timeline-wrapper .flag, .timeline-wrapper .time, .timeline-wrapper .desc { background: var(--soft); }
.timeline-wrapper .flag { line-height: 1.65; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.timeline-wrapper .time-wrapper { color: var(--muted); line-height: 1.5; }
.timeline-wrapper .timeline { isolation: isolate; }
.timeline-wrapper .timeline:before { background: #c4d8f8; }
.timeline-wrapper .hexagon { background: var(--blue); }
.timeline-wrapper .hexagon:before { border-bottom-color: var(--blue); }
.timeline-wrapper .hexagon:after { border-top-color: var(--blue); }
.timeline-wrapper .flag span:after { color: var(--blue); }
.project { background: var(--soft); }
.project-stars-forks { fill: var(--blue); }
.tag { background: #eaf2ff; color: var(--blue-dark); }
.publication-list { padding-left: 1.5rem; }
.publication-list li::marker { color: var(--blue); font-weight: 600; }
.publication-list li > strong:first-child { color: #153c75; }
.footer, .footer a:hover, .footer a:focus { background: #fff; color: var(--muted); }
.footer { border-top: 1px solid var(--line); }
.footer a { color: var(--blue); }
#preloader { background: #fff; }
#preloader .load hr { background: #dc052d; }
#preloader .load :nth-child(2), #preloader .load :last-child { background: var(--blue); }
#skills div { color: var(--blue); }
#email-toast { position: fixed; left: 50%; bottom: 2rem; transform: translate(-50%, 12px); background: #1746a2; color: #fff; padding: .8rem 1.25rem; border-radius: .75rem; box-shadow: 0 8px 28px rgba(23,70,162,.22); z-index: 2000; opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s; max-width: calc(100vw - 3rem); text-align: center; pointer-events: none; }
#email-toast.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
@media (max-width: 47.99em) { .layout .card { padding: 1.25rem; } .layout .card .description { text-align: left; } .landing-title h1 { font-size: clamp(1.5rem, 6vw, 2rem); } }
@media (prefers-reduced-motion: reduce) { #email-toast, .social-link, .highlight-link { transition: none; } }

.landing-icons .social-link:hover .label { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: .4rem; white-space: nowrap; line-height: 1.3; }

/* Research background appears after publications and before contact. */
.professional-details { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin: 3rem 0; }
.layout .professional-details .card { margin: 0; min-width: 0; padding: 1.5rem; }
.professional-details .title { text-align: left; margin: 0 0 1.5rem; }
.professional-details h3 { font-size: 1.1rem; line-height: 1.65; margin: 0 0 .35rem; }
.detail-entry + .detail-entry { border-top: 1px solid var(--line); margin-top: 1.5rem; padding-top: 1.5rem; }
.detail-entry p { margin: .5rem 0 0; }
.detail-meta, .study-list span, .certification-list span { color: var(--muted); font-size: .95rem; }
.study-list, .certification-list { list-style: none; margin: 0; padding: 0; }
.study-list li { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem 1rem; padding: .75rem 0; line-height: 1.65; }
.study-list li + li, .certification-list li + li { border-top: 1px solid var(--line); }
.study-list li:first-child, .certification-list li:first-child { padding-top: 0; }
.certification-list li { padding: 1rem 0; line-height: 1.65; }
.certification-list span { display: block; margin-top: .35rem; }
@media (min-width: 62em) { .professional-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; } .layout .professional-details .card { padding: 2rem; } }

/* Read education and experience in a single, consistent vertical direction. */
.academic-background { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 1rem; line-height: 1.75; color: #24364b; }
.academic-group { margin-top: 2.5rem; }
.academic-group > h2 { font-size: 1.35rem; margin: 0 0 1.25rem; padding-bottom: .75rem; border-bottom: 2px solid #dce7f5; }
.academic-list { list-style: none; margin: 0; padding: 0; }
.academic-entry { display: grid; grid-template-columns: 12rem minmax(0, 1fr); column-gap: 2rem; padding: 1.5rem 0; }
.academic-entry + .academic-entry { border-top: 1px solid var(--line); }
.academic-entry:first-child { padding-top: .25rem; }
.academic-entry .academic-date { margin: .15rem 0 0; font-size: 1rem; font-weight: 600; color: #1746a2; line-height: 1.75; }
.academic-content { min-width: 0; }
.academic-content h3 { font-size: 1.2rem; font-weight: 650; margin: 0 0 .35rem; line-height: 1.5; color: #153c75; }
.academic-content p { margin: .25rem 0; line-height: 1.75; }
.academic-organization { font-weight: 500; }
.academic-location { color: var(--muted); }
.academic-scholarship { font-size: .95rem; color: #1746a2; }
.academic-advisors { padding-top: .5rem; }
.academic-details { margin: .75rem 0 0; padding-left: 1.25rem; }
.academic-details li { padding-left: .2rem; margin: .35rem 0; line-height: 1.75; }
@media (max-width: 47.99em) { .academic-entry { grid-template-columns: minmax(0, 1fr); row-gap: .6rem; padding: 1.4rem 0; } .academic-group { margin-top: 2rem; } .academic-entry .academic-date { font-size: .95rem; } }

/* University coverage and other research updates. */
.news-entry { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 1rem 2rem; padding: 1rem 0; text-align: left; }
.news-date { color: var(--muted); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 1rem; line-height: 1.75; padding-top: .15rem; }
.news-content { min-width: 0; }
.news-content .news-source { display: inline-block; margin: 0 0 .65rem; padding: .2rem .65rem; border-radius: .4rem; background: #eff6ff; color: #1746a2; font-size: .85rem; font-weight: 600; }
.news-content h2 { margin: 0 0 .75rem; font-size: 1.35rem; line-height: 1.5; }
.news-content p { margin: 0 0 1rem; line-height: 1.8; }
.news-entry + .news-entry { margin-top: 1rem; padding-top: 2rem; border-top: 1px solid var(--line); }
@media (max-width: 47.99em) { .news-entry { grid-template-columns: minmax(0, 1fr); gap: .75rem; } .news-content h2 { font-size: 1.2rem; } }

/* Separate education and experience cards share a row on desktop. */
.academic-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin: 3rem 0; align-items: stretch; }
.layout .academic-columns .academic-group { margin: 0; padding: 1.5rem; min-width: 0; }
.academic-columns .academic-group > .title { text-align: left; font-size: 1.35rem; margin: 0 0 1.5rem; }
.academic-columns .academic-entry { grid-template-columns: minmax(0, 1fr); gap: .5rem; padding: 1.25rem 0; }
.academic-columns .academic-entry:first-child { padding-top: 0; }
.academic-columns .academic-entry:last-child { padding-bottom: 0; }
.academic-columns .academic-content h3 { font-size: 1.15rem; }
@media (min-width: 62em) { .academic-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; } .layout .academic-columns .academic-group { padding: 2rem; } }
