:root{--bg-color:#f8f9fa;--text-color:#000000;--accent-color:#0366d6;--secondary-text:#6c757d;--card-bg:#ffffff;--border-color:#dee2e6;--code-bg:#f1f3f5;--header-bg:rgba(248, 249, 250, 0.85);--footer-bg:rgba(248, 249, 250, 0.85)}[data-theme=dark]{--bg-color:#0d1117;--text-color:#c9d1d9;--accent-color:#58a6ff;--secondary-text:#8b949e;--card-bg:#161b22;--border-color:#30363d;--code-bg:#1c2128;--header-bg:rgba(13, 17, 23, 0.85);--footer-bg:rgba(13, 17, 23, 0.85)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;line-height:1.7;min-height:100vh;transition:background-color .3s ease,color .3s ease}.site-wrapper{max-width:720px;margin:0 auto;padding:0 1.5rem}.main-content{padding:3rem 0}.site-header{background:var(--header-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);transition:background .3s ease}.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:1rem 0}.logo{text-decoration:none;color:var(--text-color)}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.main-nav{display:flex;align-items:center;gap:1.25rem}.nav-link{text-decoration:none;color:var(--secondary-text);font-size:.95rem;font-weight:500;transition:color .2s ease}.nav-link:hover,.nav-link[aria-current=page]{color:var(--accent-color)}button.theme-toggle{background:0 0;border:1px solid var(--border-color);color:var(--text-color);border-radius:6px;padding:.35rem .5rem;cursor:pointer;transition:all .2s ease;line-height:1}button.theme-toggle:hover{border-color:var(--accent-color);box-shadow:0 0 10px var(--accent-color)}button.theme-toggle:active{transform:scale(.95)}.theme-toggle .toggle-icon{display:inline-block;transition:transform .4s ease}[data-theme=dark] .theme-toggle .toggle-icon{transform:rotate(180deg)}.site-footer{border-top:1px solid var(--border-color);background:var(--footer-bg);transition:background .3s ease}.footer-inner{padding:1.5rem 0;display:flex;flex-direction:column;gap:.25rem}.site-footer p{color:var(--secondary-text);font-size:.85rem;margin:0}.site-footer a{color:var(--accent-color);text-decoration:none}.site-footer a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.3;margin-bottom:.75rem;font-weight:600;color:var(--text-color)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}p{margin-bottom:1.2rem}a{color:var(--accent-color);text-decoration:none;transition:opacity .2s ease,text-shadow .2s ease;position:relative}a:hover{text-shadow:0 0 8px var(--accent-color)}a::after{content:'';position:absolute;inset:-2px;border-radius:inherit;opacity:0;background:var(--accent-color);filter:blur(6px);z-index:-1;transition:opacity .25s ease}a:hover::after{opacity:.25}a:active,button:active{transform:scale(.97);transition:transform .1s ease}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-color);color:var(--bg-color);padding:.5rem 1rem;z-index:100;text-decoration:none;font-weight:600;border-radius:0 0 6px 0}.skip-link:focus{top:0}.post-list{list-style:none}.post-list-item{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.post-title{font-size:1.25rem;margin-bottom:.25rem;font-weight:600}.post-title a{color:var(--text-color);text-decoration:none}.post-title a:hover{color:var(--accent-color)}.post-excerpt{color:var(--secondary-text);margin-bottom:.5rem}.post-date{font-size:.85rem;color:var(--secondary-text)}.content-single{max-width:720px}.article-header{margin-bottom:2rem}.article-title{font-size:2rem;margin-bottom:.5rem;line-height:1.2}.article-meta{color:var(--secondary-text);font-size:.9rem;margin-bottom:2rem}.article-body{}.home-content{margin-bottom:3rem}.recent-posts h2{margin-bottom:1.5rem}.home-archive-link{margin-top:1.5rem}.home-archive-link a{font-weight:600}.katex-display{margin:1.5rem 0;overflow-x:auto}.mermaid{margin:1.5rem 0;text-align:center}pre{background:var(--code-bg);padding:1rem;border-radius:6px;overflow-x:auto;font-size:.9rem;line-height:1.5}code{font-family:sf mono,Monaco,Inconsolata,fira code,monospace;font-size:.9em;background:var(--code-bg);padding:.2em .4em;border-radius:3px}pre code{background:0 0;padding:0;border-radius:0}img,figure{max-width:100%;height:auto;border-radius:6px}figure{margin:1.5rem 0}figcaption{text-align:center;font-size:.85rem;color:var(--secondary-text);margin-top:.5rem}img{opacity:0;transition:opacity .4s ease}img[src]{opacity:1}.particle-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--bg-color)}.particle{position:absolute;border-radius:50%;background:var(--particle-color,var(--accent-color));opacity:.55;filter:blur(.5px);box-shadow:0 0 6px 2px var(--particle-glow,transparent);animation:float 30s ease-in-out infinite}:root{--particle-color:#1a365d;--particle-glow:rgba(26, 54, 93, 0.35)}[data-theme=dark]{--particle-color:#58a6ff;--particle-glow:rgba(88, 166, 255, 0.3)}@keyframes float{0%{transform:translate(0,0)scale(1);opacity:.3}15%{transform:translate(50px,-70px)scale(1.1);opacity:.45}25%{transform:translate(70px,-40px)scale(1.4);opacity:.6;box-shadow:0 0 10px 2px var(--particle-glow)}40%{transform:translate(-30px,50px)scale(.95);opacity:.35}50%{transform:translate(-60px,20px)scale(1.3);opacity:.55;box-shadow:0 0 12px 2px var(--particle-glow)}65%{transform:translate(40px,60px)scale(1.05);opacity:.4}75%{transform:translate(20px,30px)scale(1.35);opacity:.5;box-shadow:0 0 10px 2px var(--particle-glow)}90%{transform:translate(-20px,-20px)scale(.9);opacity:.3}100%{transform:translate(0,0)scale(1);opacity:.3}}.p1{width:4px;height:4px;top:5%;left:10%;animation-delay:0s;animation-duration:28s}.p2{width:3px;height:3px;top:15%;left:75%;animation-delay:-3s;animation-duration:34s}.p3{width:5px;height:5px;top:25%;left:35%;animation-delay:-7s;animation-duration:22s}.p4{width:2px;height:2px;top:35%;left:90%;animation-delay:-11s;animation-duration:40s}.p5{width:4px;height:4px;top:45%;left:55%;animation-delay:-5s;animation-duration:26s}.p6{width:3px;height:3px;top:55%;left:15%;animation-delay:-9s;animation-duration:32s}.p7{width:5px;height:5px;top:65%;left:70%;animation-delay:-2s;animation-duration:24s}.p8{width:2px;height:2px;top:75%;left:40%;animation-delay:-13s;animation-duration:36s}.p9{width:4px;height:4px;top:85%;left:80%;animation-delay:-6s;animation-duration:30s}.p10{width:3px;height:3px;top:12%;left:50%;animation-delay:-4s;animation-duration:38s}.p11{width:5px;height:5px;top:50%;left:25%;animation-delay:-8s;animation-duration:25s}.p12{width:2px;height:2px;top:70%;left:60%;animation-delay:-10s;animation-duration:33s}.p13{width:4px;height:4px;top:30%;left:85%;animation-delay:-1s;animation-duration:29s}.p14{width:3px;height:3px;top:90%;left:45%;animation-delay:-12s;animation-duration:37s}.p15{width:5px;height:5px;top:8%;left:65%;animation-delay:-14s;animation-duration:21s}.p16{width:2px;height:2px;top:60%;left:5%;animation-delay:-15s;animation-duration:39s}.p17{width:4px;height:4px;top:42%;left:30%;animation-delay:-16s;animation-duration:27s}.p18{width:3px;height:3px;top:78%;left:95%;animation-delay:-17s;animation-duration:35s}.p19{width:5px;height:5px;top:20%;left:48%;animation-delay:-18s;animation-duration:23s}.p20{width:2px;height:2px;top:52%;left:72%;animation-delay:-19s;animation-duration:41s}.p21{width:3px;height:3px;top:18%;left:38%;animation-delay:-20s;animation-duration:27s}.p22{width:4px;height:4px;top:68%;left:78%;animation-delay:-21s;animation-duration:33s}.p23{width:2px;height:2px;top:38%;left:12%;animation-delay:-22s;animation-duration:39s}.p24{width:5px;height:5px;top:82%;left:52%;animation-delay:-23s;animation-duration:25s}.p25{width:3px;height:3px;top:58%;left:88%;animation-delay:-24s;animation-duration:31s}.p26{width:4px;height:4px;top:8%;left:28%;animation-delay:-25s;animation-duration:35s}.p27{width:2px;height:2px;top:48%;left:68%;animation-delay:-26s;animation-duration:23s}.p28{width:5px;height:5px;top:72%;left:18%;animation-delay:-27s;animation-duration:37s}.p29{width:3px;height:3px;top:33%;left:58%;animation-delay:-28s;animation-duration:29s}.p30{width:4px;height:4px;top:93%;left:42%;animation-delay:-29s;animation-duration:21s}@media(max-width:768px){.particle-bg{display:none}}.profile-hero{display:flex;align-items:center;gap:2rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.profile-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.1);border:3px solid var(--border-color)}.profile-intro h1{font-size:1.75rem;margin-bottom:.25rem}.profile-role{color:var(--secondary-text);font-size:1.05rem;font-weight:500;margin-bottom:.75rem}.profile-bio{color:var(--text-color);font-size:.95rem;line-height:1.6;max-width:540px}.home-links{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.home-link-card{display:block;padding:1.25rem 1.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;transition:all .2s ease}.home-link-card:hover{border-color:var(--accent-color);box-shadow:0 2px 12px rgba(0,0,0,8%);transform:translateY(-2px);opacity:1;text-shadow:none}.home-link-card h2{font-size:1.15rem;margin-bottom:.35rem;color:var(--text-color)}.home-link-card p{font-size:.9rem;color:var(--secondary-text);margin:0;line-height:1.5}@media(max-width:600px){.profile-hero{flex-direction:column;text-align:center}.profile-photo{width:100px;height:100px}.home-links{grid-template-columns:1fr}}.black-hole-overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.black-hole{position:absolute;top:50%;left:50%;width:60px;height:60px;margin:-30px 0 0 -30px;background:radial-gradient(circle at 35% 35%,#1a202c 0%,#1a202c 45%,#1a202c 100%);border-radius:50%;box-shadow:0 0 0 2px rgba(88,166,255,.35),0 0 20px 5px rgba(0,0,0,.9),0 0 50px 15px rgba(43,108,176,.3),0 0 80px 25px rgba(88,166,255,.15)}.photon-ring{position:absolute;top:50%;left:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;border:1.5px solid rgba(88,166,255,.5);box-shadow:0 0 10px 3px rgba(88,166,255,.25)}.accretion-disk{position:absolute;top:50%;left:50%;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:conic-gradient( from 0,transparent 0,rgba(88,166,255,8%) 40deg,rgba(88,166,255,.25) 80deg,rgba(43,108,176,.15) 120deg,transparent 160deg,transparent 360deg );animation:spin 12s linear infinite;filter:blur(6px)}.lensing-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(88,166,255,8%);transform:translate(-50%,-50%);animation:pulse-ring 6s ease-in-out infinite}.lensing-ring:nth-child(3){width:240px;height:240px}.lensing-ring:nth-child(4){width:320px;height:320px}.lensing-ring:nth-child(5){width:420px;height:420px}.bh-particle{position:absolute;top:50%;left:50%;width:2px;height:2px;margin:-1px 0 0 -1px;background:var(--particle-color,#58a6ff);border-radius:50%;opacity:.6}.bh-particle:nth-child(6){animation:orbit 8s linear infinite}.bh-particle:nth-child(7){animation:orbit 11s linear infinite;animation-delay:-3s}.bh-particle:nth-child(8){animation:orbit 14s linear infinite;animation-delay:-7s}.bh-particle:nth-child(9){animation:orbit 9s linear infinite;animation-delay:-5s}.bh-particle:nth-child(10){animation:orbit 12s linear infinite;animation-delay:-2s}.bh-particle:nth-child(11){animation:orbit 16s linear infinite;animation-delay:-9s}.bh-particle:nth-child(12){animation:orbit 10s linear infinite;animation-delay:-4s}.bh-particle:nth-child(13){animation:orbit 13s linear infinite;animation-delay:-6s}.bh-particle:nth-child(14){animation:orbit 7s linear infinite;animation-delay:-1s}.bh-particle:nth-child(15){animation:orbit 15s linear infinite;animation-delay:-8s}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ring{0%,100%{transform:translate(-50%,-50%)scale(1);opacity:.4}50%{transform:translate(-50%,-50%)scale(1.08);opacity:.15}}@keyframes orbit{from{transform:rotate(0)translateX(180px)rotate(0)}to{transform:rotate(360deg)translateX(180px)rotate(-360deg)}}@media(max-width:768px){.black-hole-overlay{display:none}}@media(max-width:768px){.main-nav{flex-wrap:wrap;gap:.5rem}.article-title{font-size:1.5rem}.site-wrapper{padding:0 1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.about-content h2{margin-top:2.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.about-content h3{margin-top:1.5rem;margin-bottom:.5rem}.about-content ul,.about-content ol{margin-bottom:1rem;padding-left:1.5rem}.about-content li{margin-bottom:.4rem}.about-content table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.95rem}.about-content table th,.about-content table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border-color);vertical-align:top}.about-content table th{font-weight:600;color:var(--text-color);background:var(--code-bg)}.about-content table td{color:var(--text-color)}.about-content table tr:hover{background:var(--code-bg)}.students-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1.5rem;list-style:none;padding:0;margin:0}.students-list li{color:var(--text-color);padding-left:1em;position:relative;line-height:1.6}.students-list li::before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--accent-color);opacity:.6}@media(max-width:600px){.students-list{grid-template-columns:1fr;gap:.4rem}}.contact-links{list-style:none;padding:0;margin-top:.5rem}.contact-links li{margin-bottom:.3rem}.timeline{position:relative;margin:2rem 0;padding:0;list-style:none}.timeline::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--border-color);transform:translateX(-1px)}.timeline-item{position:relative;margin-bottom:2rem;width:50%}.timeline-item::before{content:'';position:absolute;top:0;right:52%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--accent-color);border:2px solid var(--bg-color);box-shadow:0 0 0 2px var(--accent-color);z-index:1}.timeline-card{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;width:calc(100% - 8px);transition:border-color .2s ease,box-shadow .2s ease}.timeline-card:hover{border-color:var(--accent-color);box-shadow:0 2px 8px rgba(0,0,0,6%)}.timeline-item:nth-child(odd){margin-right:50%;padding-right:30px}.timeline-item:nth-child(odd) .timeline-card{margin-left:auto;text-align:right}.timeline-item:nth-child(odd) .timeline-tag{float:right}.timeline-item:nth-child(odd) .timeline-role,.timeline-item:nth-child(odd) .timeline-institution{clear:right}.timeline-item:nth-child(even){margin-left:51%;padding-right:30px}.timeline-item:nth-child(even) .timeline-card{margin-right:auto;text-align:left}.timeline-item:nth-child(even) .timeline-tag{float:none}.timeline-period{font-size:.8rem;font-weight:600;color:var(--accent-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.timeline-role{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:.15rem}.timeline-institution{font-size:.9rem;color:var(--secondary-text);margin:0}.timeline-tag{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:4px;margin-bottom:.5rem}.tag-appointment{background:rgba(3,102,214,.1);color:var(--accent-color)}.tag-fellowship{background:rgba(63,185,80,.1);color:#3fb950}.tag-award{background:rgba(210,153,34,.1);color:#d29922}.tag-consulting{background:rgba(186,135,208,.1);color:#ba86c0}.tag-talk{background:rgba(218,54,51,.1);color:#da3631}[data-theme=dark] .tag-fellowship{background:rgba(63,185,80,.15)}[data-theme=dark] .tag-award{background:rgba(210,153,34,.15)}[data-theme=dark] .tag-consulting{background:rgba(186,135,208,.15)}[data-theme=dark] .tag-talk{background:rgba(218,54,51,.15)}.tag-education{background:rgba(99,179,237,.1);color:#3182ce}@media(max-width:768px){.timeline::before{left:20px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(even){width:100%;margin-left:0;padding-right:0;padding-left:52px}.timeline-item::before{left:14px;margin-left:0;top:6px;width:12px;height:12px}.timeline-card{width:100%;margin-left:0;margin-right:0;text-align:left;padding:.75rem 1rem}.timeline-item:nth-child(odd) .timeline-tag{float:none}}