/*! source-sha256:f04ecaf742678103c57b5a4edb8cd21071c3f984122fa1c91cef946d8a2dbfac */:root{--base-font-family:"KaTeX_Main","寒蝉锦书宋 Medium","STZhongsong","Songti SC","SimSun",serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--base-font-size:17px;--content-max-width:70em;--emoji-size:calc(var(--base-line-height) * 0.7em);--theme-color:#242321;--theme-color-dark:#1b1a18;--theme-color-light:#67635d;--theme-color-gradient:linear-gradient(135deg, #242321 0%, #67635d 100%);--theme-color-gradient-hover:linear-gradient(135deg, #67635d 0%, #242321 100%);--accent-red:#a33a31;--accent-red-rgb:163,58,49;--link-color:var(--theme-color);--link-color--hover:var(--theme-color-light);--link-text-decoration:none;--navbar-root-color--hover:var(--theme-color);--navbar-root-transition:all var(--duration-medium);--navbar-menu-link-color--hover:var(--theme-color);--navbar-menu-link-color--active:var(--theme-color);--navbar-menu-link-border-radius:var(--radius-md);--bg-color:#fafaf7;--secondary-bg:#f4f5f2;--hover-bg:#eef0ec;--white-color:#ffffff;--shadow-color:rgba(35, 42, 48, 0.065);--card-bg:#fffefb;--text-color:#242321;--text-muted:#716e68;--border-color:#e2e3de;--light-border:#ddd;--medium-border:#ccc;--dark-border:#999;--code-bg:#f5f5f5;--code-text:#1a1a1a;--blockquote-bg:#f5f5f5;--table-header-bg:#f5f5f5;--notice-background:#f8f9fa;--notice-border:#e1e5e9;--notice-text:var(--text-color);--notice-tip-background:#f8f8f8;--notice-tip-border-color:var(--theme-color);--notice-tip-icon-background:var(--theme-color);--notice-tip-icon-color:var(--bg-color);--notice-warning-background:rgba(var(--accent-red-rgb), 0.045);--notice-warning-border:rgba(var(--accent-red-rgb), 0.22);--notice-warning-icon-background:var(--accent-red);--notice-warning-icon-color:#ffffff;--notice-warning-text:var(--text-color);--gradient-blue-start:#007ccf;--gradient-blue-end:#006ab1;--gradient-red-start:#b50101;--gradient-red-end:#900101;--gradient-green-start:#4caf50;--gradient-green-end:#45a049;--gradient-orange-start:#ff9800;--gradient-orange-end:#f57c00;--gradient-red-accent-start:#ff6b6b;--gradient-red-accent-end:#ee5a24;--sidebar-toggle-offset-top:0;--glass-bg:rgba(250, 250, 247, 0.94);--glass-border:rgba(43, 51, 57, 0.08);--glass-shadow:0 4px 18px rgba(35, 42, 48, 0.04);--glass-blur:8px;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:0.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:12px;--radius-full:999px;--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.04);--shadow-md:0 2px 8px rgba(42, 36, 28, 0.045);--shadow-lg:0 4px 16px rgba(42, 36, 28, 0.06);--shadow-xl:0 8px 28px rgba(42, 36, 28, 0.09);--surface-bg:#fffefb;--surface-bg-hover:#f5f6f3;--surface-border:rgba(43, 51, 57, 0.105);--surface-shadow:0 1px 2px rgba(35, 42, 48, 0.025);--surface-shadow-hover:0 6px 18px rgba(35, 42, 48, 0.05);--surface-transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease;--surface-accent-transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,border-left-color var(--duration-normal) ease,box-shadow var(--duration-fast) ease;--focus-ring:rgba(163, 58, 49, 0.2);--duration-fast:0.15s;--duration-normal:0.25s;--duration-slow:0.4s;--ease-default:cubic-bezier(0.4, 0, 0.2, 1)}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark]{--bg-color:#0d1117;--secondary-bg:#121820;--hover-bg:#1b242e;--white-color:#0d1117;--shadow-color:rgba(0, 0, 0, 0.42);--card-bg:#151c24;--text-color:#f3f1eb;--text-muted:#bbc1c9;--border-color:#293440;--light-border:#3b4856;--medium-border:#4a5968;--dark-border:#607080;--code-bg:#111822;--code-text:#ffffff;--blockquote-bg:#151c24;--table-header-bg:#151c24;--notice-background:#151c24;--notice-border:#293440;--notice-text:var(--text-color);--notice-tip-background:#151c24;--notice-tip-border-color:#e6edf3;--notice-tip-icon-background:#e6edf3;--notice-tip-icon-color:#0d1117;--notice-warning-background:rgba(var(--accent-red-rgb), 0.1);--notice-warning-border:rgba(var(--accent-red-rgb), 0.34);--notice-warning-icon-background:var(--accent-red);--notice-warning-icon-color:#0d1117;--notice-warning-text:#ffd8d4;--gradient-blue-start:#58a6ff;--gradient-blue-end:#1f6feb;--gradient-red-start:#ff7b72;--gradient-red-end:#df6a60;--gradient-green-start:#3fb950;--gradient-green-end:#2ea043;--gradient-orange-start:#d29922;--gradient-orange-end:#bb8009;--gradient-red-accent-start:#ff7f7f;--gradient-red-accent-end:#ff5252;--theme-color:#f4f4f2;--theme-color-dark:#ffffff;--theme-color-light:#b8b8b2;--theme-color-gradient:linear-gradient(135deg, #e6edf3 0%, #8b949e 100%);--theme-color-gradient-hover:linear-gradient(135deg, #8b949e 0%, #e6edf3 100%);--accent-red:#df6a60;--accent-red-rgb:223,106,96;--glass-bg:rgba(18, 24, 32, 0.9);--glass-border:rgba(205, 220, 235, 0.075);--glass-shadow:0 8px 28px 0 rgba(0, 0, 0, 0.38);--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.26);--shadow-md:0 2px 8px rgba(0, 0, 0, 0.32);--shadow-lg:0 4px 16px rgba(0, 0, 0, 0.38);--shadow-xl:0 8px 32px rgba(0, 0, 0, 0.46);--surface-bg:#151c24;--surface-bg-hover:#1b242e;--surface-border:rgba(205, 220, 235, 0.1);--surface-shadow:0 1px 2px rgba(0, 0, 0, 0.24);--surface-shadow-hover:0 8px 20px rgba(0, 0, 0, 0.32);--focus-ring:rgba(var(--accent-red-rgb), 0.22)}body{background-color:var(--bg-color);color:var(--text-color);transition:background-color var(--duration-normal) ease,color var(--duration-normal) ease;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background-color:var(--bg-color)!important}[data-theme=dark] body,body[data-theme=dark],html[data-theme=dark]{color-scheme:dark;background-color:var(--bg-color)!important}@media (max-width:480px){.markdown-section{padding:2rem 15px}:root{--base-font-size:16px}}[data-page*=cv] .sidebar,[data-page*=cv] .sidebar-toggle,[data-page*=publications] .sidebar,[data-page*=publications] .sidebar-toggle{display:none}[data-page*=cv] .content,[data-page*=publications] .content{margin-left:0}@media (max-width:480px){[data-page*=cv] .sidebar,[data-page*=cv] .sidebar-toggle{display:none}[data-page*=cv] .content{margin-left:0}[data-page*=publications] .sidebar,[data-page*=publications] .sidebar-toggle{display:flex}}.markdown-section{animation:fadeIn .6s ease-out}.sidebar{background:var(--glass-bg)!important;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow)}.progress-bar{height:2px!important;background:var(--accent-red)!important;opacity:.5}[data-theme=dark] .progress-bar{background:var(--accent-red)!important;opacity:.4}.scroll-to-top{width:44px!important;height:44px!important;line-height:40px!important;font-size:16px!important;border-radius:50%!important;background-color:var(--bg-color)!important;border:1px solid var(--border-color)!important;color:var(--text-muted)!important;box-shadow:var(--shadow-md)!important;transition:all var(--duration-normal) ease!important}.scroll-to-top:hover{transform:translateY(-3px) scale(1.05)!important;color:var(--theme-color)!important;border-color:var(--accent-red)!important;background-color:var(--hover-bg)!important;box-shadow:var(--shadow-lg)!important}.markdown-section a.anchor:hover{text-decoration:none;text-decoration-color:var(--theme-color);text-underline-offset:10px;text-decoration-thickness:3px;transition:none}.markdown-section a:not(.anchor):not(.btn){color:var(--text-color);text-decoration:none;border-bottom:1px solid var(--border-color);padding-bottom:2px;transition:border-color var(--duration-normal) ease}.markdown-section a:not(.anchor):not(.btn):hover{border-bottom-color:var(--accent-red)}.markdown-section h2{position:relative;margin-bottom:1rem;border-bottom:none;letter-spacing:.02em}.markdown-section h2::after{content:'';position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:var(--border-color);transition:width var(--duration-normal) ease,background-color var(--duration-normal) ease;pointer-events:none}.markdown-section h2:hover::after{width:60px;background:var(--accent-red)}.markdown-section li,.markdown-section p{margin:.6em 0}.markdown-section ul{margin:.8em 0}.markdown-section blockquote{border:1px solid var(--surface-border);border-left:3px solid var(--accent-red);background:var(--surface-bg);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin:1.5em 0;box-shadow:var(--surface-shadow)}.markdown-section blockquote p{margin:.35em 0}.markdown-section blockquote p:first-child{margin-top:0}.markdown-section blockquote p:last-child{margin-bottom:0}.markdown-section p.notice,.markdown-section p.notice-tip,.markdown-section p.notice-warning,.markdown-section p.tip,.markdown-section p.warn,.markdown-section p.warning{position:relative;margin:1.5em 0;padding:.9rem 1.1rem .9rem 2rem;border-radius:0 var(--radius-md) var(--radius-md) 0;line-height:1.65}.markdown-section p.notice,.markdown-section p.notice-tip,.markdown-section p.tip{color:var(--notice-text);background:var(--notice-tip-background);border-left:4px solid var(--notice-tip-border-color)}.markdown-section p.notice-warning,.markdown-section p.warn,.markdown-section p.warning{color:var(--notice-warning-text);background:var(--notice-warning-background);border-left:4px solid var(--accent-red)}.markdown-section p.notice-tip::before,.markdown-section p.notice-warning::before,.markdown-section p.notice::before,.markdown-section p.tip::before,.markdown-section p.warn::before,.markdown-section p.warning::before{content:'!';position:absolute;top:.95rem;left:-.72rem;width:1.15rem;height:1.15rem;border-radius:50%;font-size:.78rem;font-weight:700;line-height:1.15rem;text-align:center;box-shadow:0 0 0 2px var(--bg-color)}.markdown-section p.notice-tip::before,.markdown-section p.notice::before,.markdown-section p.tip::before{color:var(--notice-tip-icon-color);background:var(--notice-tip-icon-background)}.markdown-section p.notice-warning::before,.markdown-section p.warn::before,.markdown-section p.warning::before{color:var(--notice-warning-icon-color);background:var(--notice-warning-icon-background)}.markdown-section table{display:table;width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin:1.5em 0}.markdown-section table th{background:var(--secondary-bg);color:var(--theme-color);font-weight:600;padding:12px 15px;border-bottom:2px solid var(--border-color)}.markdown-section table td{padding:12px 15px;border-bottom:1px solid var(--border-color)}.markdown-section table tr:last-child td{border-bottom:none}.markdown-section table tr:hover td{background:var(--hover-bg)}.markdown-section li img,.markdown-section>p img{display:block;max-width:100%;height:auto;margin:1.4rem auto;border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--bg-color);box-shadow:var(--surface-shadow)}.markdown-section li img:hover,.markdown-section>p img:hover{border-color:var(--border-color);box-shadow:var(--surface-shadow-hover)}.markdown-section a.content-icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-bottom:none;border-radius:var(--radius-lg);opacity:.6;vertical-align:middle;transition:opacity var(--duration-normal) ease,background-color var(--duration-normal) ease,transform var(--duration-normal) ease}.markdown-section a.content-icon-link:hover{opacity:1;background:var(--surface-bg-hover);border-bottom:none;transform:translateY(-2px)}.markdown-section img.content-icon{display:block;width:26px;height:26px;max-width:26px;margin:0;border:0;border-radius:0;background:0 0;box-shadow:none;pointer-events:none;transition:filter var(--duration-normal) ease,opacity var(--duration-normal) ease,transform var(--duration-normal) ease}[data-theme=dark] .markdown-section img.content-icon{filter:invert(1);opacity:.8}[data-theme=dark] .markdown-section a.content-icon-link:hover img.content-icon{opacity:1}body[data-page$="teaching/README.md"] .markdown-section>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0 2rem;padding:0}body[data-page$="teaching/README.md"] .markdown-section>ul>li{list-style:none;margin:0;padding:.85rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-bg);box-shadow:var(--surface-shadow);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}body[data-page$="teaching/README.md"] .markdown-section>ul>li:hover{background:var(--surface-bg-hover);border-color:var(--border-color);box-shadow:var(--surface-shadow-hover)}body[data-page$="teaching/README.md"] .markdown-section>ul>li>ul{margin:.45rem 0 0;padding-left:1rem;color:var(--text-muted);font-size:.94rem}body[data-page$="teaching/README.md"] .markdown-section>ul>li>ul li{margin:.25rem 0 0}body[data-page$="for-students/README.md"] .markdown-section,body[data-page$="miscellaneous/README.md"] .markdown-section,body[data-page$="research/README.md"] .markdown-section,body[data-page$="teaching/README.md"] .markdown-section{line-height:1.75}body[data-page$="research/README.md"] .markdown-section>ol{padding-left:0}body[data-page$="research/README.md"] .markdown-section>ol>li{position:relative;list-style:none;margin:.8rem 0 1rem;padding:1rem 1.2rem 1rem 1.35rem;border:1px solid var(--surface-border);border-left:3px solid transparent;border-radius:var(--radius-lg);background:var(--surface-bg);box-shadow:var(--surface-shadow);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,border-left-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}body[data-page$="research/README.md"] .markdown-section>ol>li:hover{background:var(--surface-bg-hover);border-color:var(--border-color);border-left-color:var(--accent-red);box-shadow:var(--surface-shadow-hover)}body[data-page$="research/README.md"] .markdown-section>ol>li>p:first-child,body[data-page$="research/README.md"] .markdown-section>ol>li>p:first-child strong{font-size:1.05rem;line-height:1.5}body[data-page$="miscellaneous/README.md"] .markdown-section>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0 2rem;padding:0}body[data-page$="miscellaneous/README.md"] .markdown-section>ul>li{list-style:none;margin:0;padding:.85rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-bg);box-shadow:var(--surface-shadow);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}body[data-page$="miscellaneous/README.md"] .markdown-section>ul>li:hover{background:var(--surface-bg-hover);border-color:var(--border-color);box-shadow:var(--surface-shadow-hover)}body[data-page$="for-students/README.md"] .markdown-section>ul li::marker{color:var(--accent-red)}body[data-page$="for-students/README.md"] .markdown-section>ol>li{padding-left:.2rem}@media (max-width:640px){body[data-page$="teaching/README.md"] .markdown-section>ul{grid-template-columns:1fr}body[data-page$="miscellaneous/README.md"] .markdown-section>ul{grid-template-columns:1fr}}a.btn{display:inline-block;padding:.55rem 1.1rem;font-size:.9rem;text-align:center;vertical-align:baseline;user-select:none;border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:500;color:var(--text-color);background:0 0;box-shadow:var(--surface-shadow);transition:color var(--duration-fast) ease-in-out,border-color var(--duration-fast) ease-in-out,background var(--duration-fast) ease-in-out}a.btn:hover{color:var(--bg-color);border-color:var(--theme-color);background:var(--theme-color);box-shadow:var(--shadow-md)}a.btn:active{opacity:.8}.student-card{margin:2rem 0 2.5rem;background:var(--card-bg);border:none;border-radius:var(--radius-lg);padding:1.5rem 1.75rem 1.5rem 1.5rem;border-left:3px solid var(--accent-red);transition:background-color var(--duration-fast) ease}.student-card:hover{background:var(--surface-bg-hover)}.student-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;color:var(--text-color);font-weight:600;font-size:1.05rem}.student-card-header .student-icon{width:20px;height:20px;stroke:var(--accent-red);stroke-width:2}.student-card-body p{margin:0 0 .75rem;line-height:1.7;color:var(--text-color)}.student-card-body p:last-child{margin-bottom:0}.student-card-body strong{color:var(--theme-color);font-weight:600}.student-card-body a{color:var(--accent-red);text-decoration:none;transition:opacity var(--duration-normal) ease}.student-card-body a:hover{opacity:.8}@media (max-width:480px){.student-card{margin:1.5rem 0 2rem;padding:1.25rem 1.25rem 1.25rem 1rem;border-left-width:3px;border-left-color:var(--accent-red)}.student-card-header{font-size:1rem;margin-bottom:.875rem}.student-card-header .student-icon{width:18px;height:18px}.student-card-body p{font-size:.95rem;line-height:1.65;margin-bottom:.625rem}}body[data-page$="docs/cv.md"] .last,body[data-page$="docs/cv.md"] h2{font-variant:small-caps}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul){list-style:none}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul) li{position:relative;padding-left:.8em;line-height:1.6}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul) li::before{content:'';position:absolute;left:-12px;top:.65em;width:8px;height:2px;background:var(--text-muted);transform:translateY(-50%);transition:all var(--duration-normal) ease}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul) li:hover::before{width:2px;height:8px;background:var(--text-color)}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul) ul li::before{width:8px;height:8px;border:1px solid var(--text-muted);border-radius:0;transform:rotate(45deg) translateY(-50%)}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul) ul li:hover::before{width:6px;height:6px;border-color:var(--text-color);background:var(--text-color)}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul) ul ul li::before{width:8px;height:8px;border:1px solid var(--text-muted);transform:rotate(0) translateY(-50%)}body[data-page$="docs/cv.md"] .markdown-section ul:not(.publist ul) ul ul li:hover::before{width:8px;height:.1px}body[data-page$="docs/cv.md"] .markdown-section h2{margin:3rem 0 1.2rem;padding:0}body[data-page$="docs/cv.md"] .cv-timeline{--cv-timeline-pad-top:0.85rem;--cv-timeline-dot-offset:0.55em;--cv-timeline-dot-y:calc(var(--cv-timeline-pad-top) + var(--cv-timeline-dot-offset));--cv-timeline-line-x:0.7rem;display:grid;gap:1.4rem;margin-top:.5rem;position:relative}body[data-page$="docs/cv.md"] .cv-timeline::before{content:'';position:absolute;left:var(--cv-timeline-line-x);top:0;bottom:0;width:1px;background:var(--border-color)}body[data-page$="docs/cv.md"] .cv-timeline-item{display:grid;grid-template-columns:1.4rem 1fr;column-gap:1rem;align-items:start}body[data-page$="docs/cv.md"] .cv-timeline-marker{position:relative;min-height:100%;font-size:1rem}body[data-page$="docs/cv.md"] .cv-timeline-marker::after{content:'';position:absolute;left:50%;top:var(--cv-timeline-dot-y);width:.55rem;height:.55rem;border-radius:var(--radius-full);transform:translate(-50%,-50%) scale(1);background:var(--bg-color);border:1.5px solid var(--theme-color);transition:transform var(--duration-normal) ease,background-color var(--duration-normal) ease,border-color var(--duration-normal) ease}body[data-page$="docs/cv.md"] .cv-timeline-content{padding:var(--cv-timeline-pad-top) 1.2rem;border:none;border-radius:var(--radius-lg);background:var(--card-bg);transition:background-color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-timeline-item:hover .cv-timeline-content{background:var(--surface-bg-hover)}body[data-page$="docs/cv.md"] .cv-timeline-item:hover .cv-timeline-marker::after{transform:translate(-50%,-50%) scale(1.15);background:var(--bg-color);border-color:var(--accent-red)}body[data-page$="docs/cv.md"] .cv-timeline-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}body[data-page$="docs/cv.md"] .cv-timeline-title{font-weight:700}body[data-page$="docs/cv.md"] .cv-timeline-date{color:var(--text-muted);font-variant:small-caps;letter-spacing:.02em}body[data-page$="docs/cv.md"] .cv-timeline-meta{margin-top:.35rem;color:var(--text-muted)}body[data-page$="docs/cv.md"] .markdown-section .cv-timeline-list{list-style:disc;margin:.5rem 0 0;padding-left:1.1rem}body[data-page$="docs/cv.md"] .markdown-section .cv-timeline-list li{padding-left:0;line-height:1.6}body[data-page$="docs/cv.md"] .markdown-section .cv-timeline-list li::before{content:none}body[data-page$="docs/cv.md"] .cv-projects{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;margin-top:.5rem}body[data-page$="docs/cv.md"] .cv-project-card{position:relative;width:100%;min-width:0;box-sizing:border-box;padding:1rem 1.25rem;border:none;border-radius:var(--radius-lg);background:var(--card-bg);transition:background-color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-project-card:hover{background:var(--surface-bg-hover)}body[data-page$="docs/cv.md"] .cv-project-card::before{content:'';position:absolute;left:.85rem;top:.95rem;width:2px;height:1.2rem;background:var(--border-color);transition:background var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-project-card:hover::before{background:var(--accent-red)}body[data-page$="docs/cv.md"] .cv-project-header{display:flex;align-items:baseline;justify-content:flex-start;min-width:0;gap:.75rem;flex-wrap:wrap;padding-left:.6rem;padding-right:3.8rem}body[data-page$="docs/cv.md"] .cv-project-title{font-weight:700;overflow-wrap:anywhere}body[data-page$="docs/cv.md"] .cv-lang{transition:opacity var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-location-card.cv-lang-fading .cv-lang,body[data-page$="docs/cv.md"] .cv-project-card.cv-lang-fading .cv-lang{opacity:0}body[data-page$="docs/cv.md"] .cv-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;min-width:0;gap:.75rem;margin-top:.35rem;padding-left:.6rem}body[data-page$="docs/cv.md"] .cv-project-date{color:var(--text-muted);font-variant:small-caps;letter-spacing:.02em;justify-self:end;text-align:right;white-space:nowrap}body[data-page$="docs/cv.md"] .cv-project-meta{color:var(--text-muted)}body[data-page$="docs/cv.md"] .cv-project-support-row{display:flex;gap:.75rem;align-items:baseline;min-width:0;margin-top:.35rem;padding-left:.6rem}body[data-page$="docs/cv.md"] .cv-project-support-row .cv-lang{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}body[data-page$="docs/cv.md"] .cv-project-badge{position:static;display:inline-block;margin-left:auto;white-space:nowrap;padding:.15rem .55rem;border:.75px solid var(--border-color);border-radius:var(--radius-full);font-size:.8rem;line-height:1.2;color:var(--text-muted);background:0 0;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-project-card:hover .cv-project-badge{border-color:var(--theme-color-light);color:var(--theme-color-light)}body[data-page$="docs/cv.md"] .cv-teaching-section{margin-top:.6rem}body[data-page$="docs/cv.md"] .cv-teaching-heading{font-weight:700;margin:.8rem 0 .6rem}body[data-page$="docs/cv.md"] .cv-teaching-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}body[data-page$="docs/cv.md"] .cv-teaching-card{position:relative;padding:.85rem 1.1rem;border:none;border-radius:var(--radius-lg);background:var(--card-bg);transition:background-color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-teaching-card:hover{background:var(--surface-bg-hover)}body[data-page$="docs/cv.md"] .cv-teaching-course{font-weight:600}body[data-page$="docs/cv.md"] .cv-teaching-term{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--radius-full);background:0 0;border:1px solid var(--border-color);color:var(--text-muted);font-size:.82rem;line-height:1.2;letter-spacing:.01em;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-teaching-term:hover{border-color:var(--text-color);color:var(--text-color)}body[data-page$="docs/cv.md"] .cv-teaching-term-link,body[data-page$="docs/cv.md"] .markdown-section .cv-teaching-term-link{border-bottom:0;padding-bottom:0;text-decoration:none}body[data-page$="docs/cv.md"] .cv-teaching-term-link:hover .cv-teaching-term{border-color:var(--accent-red);color:var(--accent-red)}body[data-page$="docs/cv.md"] .cv-teaching-terms{display:flex;flex-wrap:wrap;gap:.35rem .45rem;margin-top:.35rem}@media (max-width:980px){body[data-page$="docs/cv.md"] .cv-teaching-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}body[data-page$="docs/cv.md"] .cv-student-heading{font-weight:700;margin:.8rem 0 .6rem}body[data-page$="docs/cv.md"] .cv-student-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}body[data-page$="docs/cv.md"] .cv-student-card{display:flex;align-items:baseline;gap:.5rem;padding:.6rem .9rem;border:none;border-radius:var(--radius-lg);background:var(--card-bg);transition:background-color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-student-card:hover{background:var(--surface-bg-hover)}body[data-page$="docs/cv.md"] .cv-student-name{font-weight:600;color:var(--text-color)}body[data-page$="docs/cv.md"] .cv-student-meta{color:var(--text-muted);font-size:.88rem}body[data-page$="docs/cv.md"] .cv-student-current .cv-student-name::after{content:'';display:inline-block;width:5px;height:5px;background:var(--gradient-green-start);border-radius:50%;margin-left:5px;vertical-align:middle;animation:student-breathe 2s ease-in-out infinite}@keyframes student-breathe{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(76,175,80,.4)}50%{opacity:.5;box-shadow:0 0 4px 2px rgba(76,175,80,.2)}}@media (max-width:480px){body[data-page$="docs/cv.md"] .cv-student-cards{grid-template-columns:1fr}}body[data-page$="docs/cv.md"] .cv-activities{display:grid;gap:1.2rem;margin-top:.5rem}body[data-page$="docs/cv.md"] .cv-activity-group{border:none;border-radius:var(--radius-lg);padding:.9rem 1.1rem;background:var(--card-bg);transition:background-color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-activity-group:hover{background:var(--surface-bg-hover)}body[data-page$="docs/cv.md"] .cv-activity-heading{font-weight:700;margin-bottom:.6rem}body[data-page$="docs/cv.md"] .cv-activity-list{list-style:disc;margin:0;padding-left:1.1rem}body[data-page$="docs/cv.md"] .cv-activity-list li{line-height:1.65;color:var(--text-color)}body[data-page$="docs/cv.md"] .cv-activity-list li+li{margin-top:.3rem}body[data-page$="docs/cv.md"] .cv-activity-tags{display:flex;flex-wrap:wrap;gap:.4rem .5rem}body[data-page$="docs/cv.md"] .cv-activity-tag{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:var(--radius-full);background:var(--secondary-bg);color:var(--text-muted);font-size:.82rem;line-height:1.2;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background-color var(--duration-fast) ease;border:.75px solid transparent}body[data-page$="docs/cv.md"] .cv-activity-tag:hover{border-color:var(--theme-color-light);color:var(--theme-color-light);background:0 0}body[data-page$="docs/cv.md"] .cv-location-lang-toggle,body[data-page$="docs/cv.md"] .cv-project-lang-toggle{position:absolute;top:.75rem;right:.9rem;width:3.6rem;height:1.5rem;padding:.1rem;border:.75px solid var(--border-color);border-radius:var(--radius-sm);background:0 0;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;transition:border-color var(--duration-fast) ease}body[data-page$="docs/cv.md"] .cv-location-lang-toggle::before,body[data-page$="docs/cv.md"] .cv-project-lang-toggle::before{content:'';position:absolute;inset:-10px}body[data-page$="docs/cv.md"] .cv-location-lang-toggle:hover,body[data-page$="docs/cv.md"] .cv-project-lang-toggle:hover{border-color:var(--theme-color-light)}body[data-page$="docs/cv.md"] .cv-location-lang-toggle:focus-visible,body[data-page$="docs/cv.md"] .cv-project-lang-toggle:focus-visible{outline:2px solid var(--theme-color-light);outline-offset:2px}body[data-page$="docs/cv.md"] .cv-location-lang-toggle .cv-toggle-thumb,body[data-page$="docs/cv.md"] .cv-project-lang-toggle .cv-toggle-thumb{width:1.7rem;height:1.2rem;border-radius:var(--radius-sm);background:var(--border-color);color:var(--text-color);font-size:.65rem;font-weight:600;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) ease,background-color var(--duration-fast) ease,color var(--duration-fast) ease;transform:translateX(0)}body[data-page$="docs/cv.md"] .cv-location-lang-toggle[data-lang-state=zh] .cv-toggle-thumb,body[data-page$="docs/cv.md"] .cv-project-lang-toggle[data-lang-state=zh] .cv-toggle-thumb{transform:translateX(1.7rem);background:var(--text-color);color:var(--bg-color)}@media (max-width:480px){body[data-page$="docs/cv.md"] .cv-timeline{--cv-timeline-pad-top:0.8rem;--cv-timeline-dot-offset:0.55em;--cv-timeline-line-x:0.55rem;gap:.9rem}body[data-page$="docs/cv.md"] .cv-timeline-item{grid-template-columns:1.1rem 1fr;column-gap:.75rem}body[data-page$="docs/cv.md"] .cv-timeline-content{padding:var(--cv-timeline-pad-top) 1rem}body[data-page$="docs/cv.md"] .cv-timeline-header{flex-direction:column;align-items:flex-start}body[data-page$="docs/cv.md"] .cv-timeline-date{font-size:.95em}body[data-page$="docs/cv.md"] .cv-project-card{padding:.8rem 1rem}body[data-page$="docs/cv.md"] .cv-project-card::before{left:.75rem}body[data-page$="docs/cv.md"] .cv-project-header{flex-direction:column;align-items:flex-start}body[data-page$="docs/cv.md"] .cv-project-date{font-size:.95em}body[data-page$="docs/cv.md"] .cv-project-support-row{flex-wrap:wrap}body[data-page$="docs/cv.md"] .cv-project-support-row .cv-lang{white-space:normal;overflow:visible;text-overflow:clip}body[data-page$="docs/cv.md"] .cv-project-badge{margin-left:0}body[data-page$="docs/cv.md"] .cv-teaching-card{padding:.7rem .9rem}body[data-page$="docs/cv.md"] .cv-teaching-cards{grid-template-columns:1fr}body[data-page$="docs/cv.md"] .cv-activity-group{padding:.8rem .9rem}}.hero-section{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 4rem);min-height:calc(100dvh - 4rem);width:100%;padding:2rem;box-sizing:border-box;background-color:var(--bg-color);transition:background-color var(--duration-normal) ease;isolation:isolate}.hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,42rem)}.hero-profile{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-image{width:280px;height:280px;padding:0;margin-bottom:1rem;margin-top:-120px;border-radius:50%;overflow:hidden;border:1px solid var(--surface-border);box-shadow:0 14px 44px rgba(26,26,26,.13);transition:border-color var(--duration-normal) ease;cursor:default}.hero-image[role=button]{cursor:pointer}[data-theme=dark] .hero-image{border-color:rgba(255,255,255,.105);box-shadow:0 12px 32px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.025)}.hero-image #avatar{--avatar-body-x:0px;--avatar-body-y:0px;--avatar-body-rotate:0deg;--bunny-eye-blink-scale:1;--bunny-eye-x:0px;--bunny-eye-y:0px;--bunny-face-x:0px;--bunny-face-y:0px;--bunny-mouth-x:0px;--bunny-mouth-y:0px;--bunny-blush-color:#db809f;--bunny-eye-color:#15191a;--bunny-mouth-color:#15191a;--bunny-eye-width:2.68%;--bunny-eye-height:2.55%;--bunny-eye-radius:50%;--bunny-eye-left-left:55.12%;--bunny-eye-left-top:46.36%;--bunny-eye-right-left:67.7%;--bunny-eye-right-top:46.48%;--bunny-blush-width:4.42%;--bunny-blush-height:2.45%;--bunny-blush-left-left:49.27%;--bunny-blush-left-top:51.28%;--bunny-blush-right-left:72.54%;--bunny-blush-right-top:51.28%;--bunny-mouth-width:3.55%;--bunny-mouth-height:2%;--bunny-mouth-left:61.48%;--bunny-mouth-top:52.03%;--bunny-mouth-stroke-width:1.65;--bunny-mouth-expression-opacity:0;--bunny-mouth-neutral-opacity:1;position:relative;width:100%;height:100%;border-radius:50%;clip-path:circle(50% at 50% 50%);cursor:pointer;isolation:isolate;overflow:hidden}[data-theme=dark] .hero-image #avatar{--bunny-blush-color:#c95a79}.avatar-ripple-portal{position:fixed;z-index:20;border-radius:50%;clip-path:circle(50% at 50% 50%);contain:layout paint style;overflow:hidden;pointer-events:none}.avatar-ripple-portal .ripple{position:absolute;border-radius:50%;background-color:rgba(255,255,255,.7);transform:scale(0);animation:ripple-animation .6s linear;pointer-events:none;will-change:transform,opacity}[data-theme=dark] .avatar-ripple-portal .ripple{background-color:rgba(200,200,200,.4)}@keyframes ripple-animation{to{transform:scale(2.5);opacity:0}}.hero-image #avatar.avatar-follow.is-expression:not(.is-photo),.hero-image.is-avatar-expression #avatar.avatar-follow:not(.is-photo),.hero-image[data-avatar-hover=true] #avatar.avatar-follow:not(.is-photo){--bunny-eye-color:#343236;--bunny-eye-width:5.05%;--bunny-eye-height:1.55%;--bunny-eye-radius:999px;--bunny-eye-left-top:46.82%;--bunny-eye-right-top:46.82%;--bunny-blush-width:4.58%;--bunny-blush-height:2.42%;--bunny-mouth-width:6.15%;--bunny-mouth-height:3.1%;--bunny-mouth-top:51.75%;--bunny-mouth-stroke-width:1.55;--bunny-mouth-expression-opacity:1;--bunny-mouth-neutral-opacity:0}.hero-image .avatar-follow.is-photo{--avatar-body-x:0px!important;--avatar-body-y:0px!important;--avatar-body-rotate:0deg!important;--bunny-eye-x:0px!important;--bunny-eye-y:0px!important;--bunny-eye-blink-scale:1!important;--bunny-face-x:0px!important;--bunny-face-y:0px!important;--bunny-mouth-x:0px!important;--bunny-mouth-y:0px!important}.hero-image .avatar-face-layer{position:absolute;inset:0;border-radius:50%;overflow:hidden;transform:translate3d(var(--avatar-body-x),var(--avatar-body-y),0) rotate(var(--avatar-body-rotate)) scale(1.012);transform-origin:61% 56%;transition:transform 110ms cubic-bezier(.22, 1, .36, 1);will-change:transform}.hero-image .avatar-static-sky-layer{position:absolute;inset:0;z-index:1;pointer-events:none;clip-path:inset(20% 64% 56% 4%);transform:none;transition:opacity 220ms var(--ease-default)}[data-theme=dark] .hero-image .avatar-static-sky-layer{clip-path:none}.hero-image .avatar-star-layer{position:absolute;inset:0;z-index:1;pointer-events:none;transform:none;transition:opacity 220ms var(--ease-default)}.hero-image .avatar-star{position:absolute;left:var(--star-x);top:var(--star-y);width:var(--star-size);height:var(--star-size);min-width:1px;min-height:1px;border-radius:1px;background:rgba(249,252,255,.82);box-shadow:0 0 0 .25px rgba(144,176,232,.35),0 0 3px rgba(210,226,255,.28);opacity:var(--star-dim-opacity, .26);transform:translate3d(-50%,-50%,0) rotate(45deg) scale(.64);transform-origin:center;animation:avatarStarTwinkle var(--star-duration,5.4s) ease-in-out infinite;animation-delay:var(--star-delay, 0s);will-change:transform,opacity}.hero-image .avatar-star:nth-child(3n){box-shadow:0 0 0 .22px rgba(144,176,232,.3),0 0 2px rgba(210,226,255,.24)}.hero-image .avatar-star:nth-child(5n){background:rgba(255,251,231,.8)}.hero-image .avatar-star-layer::before{content:'';position:absolute;left:43%;top:3%;width:16%;height:1px;border-radius:var(--radius-full);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(246,251,255,.68));box-shadow:0 0 5px rgba(215,230,255,.38);opacity:0;transform:rotate(24deg) scaleX(.65);transform-origin:right center;animation:avatarMeteor 13.5s ease-in-out infinite;animation-delay:4.2s;will-change:left,top,opacity,transform}@keyframes avatarStarTwinkle{0%,100%{opacity:var(--star-dim-opacity, .26);transform:translate3d(-50%,-50%,0) rotate(45deg) scale(.64)}46%{opacity:var(--star-opacity, .56);transform:translate3d(-50%,-50%,0) rotate(45deg) scale(.92)}68%{opacity:.38;transform:translate3d(-50%,-50%,0) rotate(45deg) scale(.76)}}@keyframes avatarMeteor{0%,100%,72%{left:43%;top:3%;opacity:0;transform:rotate(24deg) scaleX(.55)}75%{left:51%;top:7%;opacity:.12;transform:rotate(24deg) scaleX(.72)}79%{left:64%;top:13%;opacity:.52;transform:rotate(24deg) scaleX(1)}83%{left:75%;top:20%;opacity:0;transform:rotate(24deg) scaleX(.82)}}.hero-image .avatar-follow.is-photo .avatar-face-layer{transform:none}.hero-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.hero-image .bunny-blush,.hero-image .bunny-eye,.hero-image .bunny-mouth{position:absolute;z-index:2;opacity:1;pointer-events:none;transition:transform 120ms cubic-bezier(.22, 1, .36, 1),opacity 220ms var(--ease-default),left 220ms var(--ease-default),top 220ms var(--ease-default),width 220ms var(--ease-default),height 220ms var(--ease-default),border-radius 220ms var(--ease-default),background-color 220ms var(--ease-default);will-change:transform}.hero-image .bunny-eye{width:var(--bunny-eye-width);height:var(--bunny-eye-height);border-radius:var(--bunny-eye-radius);background:var(--bunny-eye-color);box-shadow:0 0 0 .5px rgba(0,0,0,.12);transform:translate3d(calc(-50% + var(--bunny-eye-x)),calc(-50% + var(--bunny-eye-y)),0) scaleY(var(--bunny-eye-blink-scale));transform-origin:center}.hero-image #avatar.avatar-follow.is-blinking:not(.is-photo){--bunny-eye-blink-scale:0.12}.hero-image .bunny-eye-left{left:var(--bunny-eye-left-left);top:var(--bunny-eye-left-top)}.hero-image .bunny-eye-right{left:var(--bunny-eye-right-left);top:var(--bunny-eye-right-top)}.hero-image .bunny-blush{width:var(--bunny-blush-width);height:var(--bunny-blush-height);border-radius:50%;background:var(--bunny-blush-color);transform:translate3d(calc(-50% + var(--bunny-face-x)),calc(-50% + var(--bunny-face-y)),0)}.hero-image .bunny-blush-left{left:var(--bunny-blush-left-left);top:var(--bunny-blush-left-top)}.hero-image .bunny-blush-right{left:var(--bunny-blush-right-left);top:var(--bunny-blush-right-top)}.hero-image .bunny-mouth{left:var(--bunny-mouth-left);top:var(--bunny-mouth-top);width:var(--bunny-mouth-width);height:var(--bunny-mouth-height);color:var(--bunny-mouth-color);transform:translate3d(calc(-50% + var(--bunny-mouth-x)),calc(-50% + var(--bunny-mouth-y)),0)}.hero-image .bunny-mouth::after,.hero-image .bunny-mouth::before{content:'';position:absolute;top:42%;width:58%;height:18%;min-height:1px;max-height:2px;border-radius:var(--radius-full);background:currentColor;opacity:var(--bunny-mouth-neutral-opacity);transition:opacity 220ms var(--ease-default)}.hero-image .bunny-mouth::before{right:50%;transform:rotate(42deg);transform-origin:right center}.hero-image .bunny-mouth::after{left:50%;transform:rotate(-42deg);transform-origin:left center}.hero-image .bunny-mouth svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:var(--bunny-mouth-expression-opacity);transition:opacity 220ms var(--ease-default)}.hero-image .bunny-mouth-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--bunny-mouth-stroke-width);vector-effect:non-scaling-stroke;transition:stroke-width 220ms var(--ease-default)}.hero-image .avatar-follow.is-photo .avatar-star-layer,.hero-image .avatar-follow.is-photo .avatar-static-sky-layer,.hero-image .avatar-follow.is-photo .bunny-blush,.hero-image .avatar-follow.is-photo .bunny-eye,.hero-image .avatar-follow.is-photo .bunny-mouth{opacity:0}@media (max-width:480px),(hover:none),(pointer:coarse){.hero-image #avatar{--bunny-eye-x:0px!important;--bunny-eye-y:0px!important;--bunny-face-x:0px!important;--bunny-face-y:0px!important;--bunny-mouth-x:0px!important;--bunny-mouth-y:0px!important}}.hero-info{display:flex;flex-direction:column;align-items:center;padding:0}.hero-name{position:relative;display:inline-grid;grid-template:1fr/1fr;font-size:2.65rem;font-weight:400;line-height:1.2;margin-bottom:.7rem;color:var(--text-color);letter-spacing:0;min-width:7rem;cursor:default}.hero-name-layer{grid-area:1/1;display:inline-block;white-space:nowrap;transition:opacity var(--duration-normal) ease,transform var(--duration-normal) var(--ease-default),filter var(--duration-normal) ease}.hero-name-cn{opacity:0;transform:translateY(.18em);filter:blur(2px)}.hero-name.is-cn .hero-name-en,.hero-name:hover .hero-name-en{opacity:0;transform:translateY(-.18em);filter:blur(2px)}.hero-name.is-cn .hero-name-cn,.hero-name:hover .hero-name-cn{opacity:1;transform:translateY(0);filter:blur(0)}.hero-affiliation{margin-top:-.25rem;margin-bottom:.8rem;color:var(--text-muted);font-size:.95rem;line-height:1.5;letter-spacing:.01em}.hero-affiliation span{display:inline-block}.hero-affiliation-separator{margin:0 .5rem;color:var(--border-color)}.hero-socials{display:flex;justify-content:center;margin-bottom:.5rem}.hero-socials>div{display:flex;gap:.8rem}.markdown-section .hero-section .hero-socials a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-lg);opacity:.82;cursor:pointer;text-decoration:none;border:1px solid transparent;border-bottom:1px solid transparent;transition:color var(--duration-normal) ease,opacity var(--duration-normal) ease,background-color var(--duration-normal) ease,border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease,transform var(--duration-normal) ease}.markdown-section .hero-section .hero-socials a:hover{opacity:1;background:var(--surface-bg-hover);border-color:var(--surface-border);box-shadow:var(--surface-shadow);transform:translateY(-1px);text-decoration:none;border-bottom-color:var(--surface-border)}.hero-socials img{width:26px;height:26px;pointer-events:none;transition:all var(--duration-normal) ease}[data-theme=dark] .hero-socials img{filter:invert(1);opacity:.9}[data-theme=dark] .hero-socials a:hover img{opacity:1}.hero-contact{margin-bottom:.75rem}.hero-contact .email{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;font-size:.82rem;color:var(--text-muted);letter-spacing:.15px;line-height:1.65;overflow-wrap:anywhere}.hero-cv{font-size:.92rem;margin-top:1rem}.hero-cv a{color:var(--text-color);text-decoration:none;border-bottom:1px solid var(--border-color);padding-bottom:2px;cursor:pointer;transition:border-color var(--duration-normal) ease}.hero-cv a:hover{border-bottom-color:var(--accent-red)}.hero-cv .divider{color:var(--text-muted);margin:0 .5rem}.hero-cv .divider-tight{color:var(--text-muted);margin:0 .25rem}.hero-cv .divider-wide{color:var(--text-muted);margin:0 1rem}.hero-cv .recruit-link{color:var(--text-color);text-decoration:none;border-bottom:1px solid var(--border-color);padding-bottom:2px;cursor:pointer;transition:border-color var(--duration-normal) ease;position:relative}.hero-cv .recruit-link:hover{border-bottom-color:var(--accent-red)}.hero-cv .recruit-dot{display:inline-block;width:6px;height:6px;background:var(--accent-red);border-radius:50%;margin-left:4px;vertical-align:super;animation:dot-pulse 1.5s ease-in-out infinite}@keyframes dot-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.25)}}.scroll-down-btn{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:0 0;border:none;color:var(--text-muted);cursor:pointer;transition:all var(--duration-normal) ease;animation:bounce-gentle 2s ease-in-out infinite}.scroll-down-btn:hover{color:var(--theme-color);transform:translateX(-50%) translateY(-3px)}.scroll-down-btn svg{width:32px;height:32px}@keyframes bounce-gentle{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-4px)}}@media (max-width:480px){.hero-section{min-height:calc(100svh - 3rem);padding:3.65rem 1.1rem 2.75rem}.hero-name{font-size:2rem;margin-bottom:.42rem}.hero-affiliation{max-width:17rem;margin-bottom:.58rem;font-size:.84rem;line-height:1.35}.hero-affiliation span{display:block}.hero-affiliation .hero-affiliation-separator{display:none}.hero-cv{margin-top:.55rem;font-size:.86rem;line-height:1.55}.hero-cv .divider-tight{margin:0 .2rem}.hero-cv .divider-wide{margin:0 .55rem}.hero-cv .recruit-dot{width:4px;height:4px}.hero-socials>div{gap:.6rem}.markdown-section .hero-section .hero-socials a{width:34px;height:34px}.hero-socials img{width:20px;height:20px}.hero-contact{margin-bottom:.5rem}.hero-contact .email{font-size:.74rem;line-height:1.5}.scroll-down-btn{width:44px;height:44px;bottom:80px}.hero-image{width:190px;height:190px;margin-top:-58px;box-shadow:0 8px 30px rgba(0,0,0,.15)}.scroll-down-btn svg{width:20px;height:20px}}.publist ul{padding-left:0;margin:0}.publist ul li{list-style:none;margin:.6rem 0;margin-left:0;padding:.75rem 1rem;border-radius:var(--radius-lg);background:var(--card-bg);transition:var(--surface-transition)}.publist ul li:hover{background:var(--surface-bg-hover)}.publist .pubtag{opacity:.58;transition:opacity var(--duration-normal) ease}.publist ul li:hover .pubtag,.publist:hover .pubtag{opacity:1}.markdown-section .pubtag a.emoji{display:inline-flex;align-items:center;justify-content:center;margin-left:.2rem;padding-bottom:0;border-bottom:0!important;color:var(--text-muted)!important;line-height:1;opacity:.7;vertical-align:text-bottom;transition:color var(--duration-fast) ease,opacity var(--duration-fast) ease}.markdown-section .pubtag a.emoji:hover{color:var(--accent-red)!important;opacity:1}@media (max-width:480px){.publist .pubtag{opacity:1}.publist ul li{padding:.65rem .85rem}}body[data-page$="docs/cv.md"] .markdown-section h2{display:flex;justify-content:space-between;align-items:baseline}.section-more{font-family:var(--base-font-family);font-size:.95rem;font-weight:500;color:var(--text-color);text-decoration:none;opacity:.55;transition-property:opacity,color!important;transition-duration:.3s!important;transition-timing-function:ease!important}.pub-section .section-more{transition:opacity .3s ease,color .3s ease!important}.pub-section:hover .section-more{opacity:1}.section-more:hover{color:var(--accent-red)}[data-theme=dark] .section-more{opacity:.76}@media (max-width:768px){.section-more{opacity:.75}}body[data-page$="docs/cv.md"] .cv-location-card{position:relative;margin-bottom:20px;padding:.9rem 1.2rem;padding-right:4.2rem;border:none;border-radius:var(--radius-lg);background:var(--card-bg);transition:background-color var(--duration-fast) ease,height .3s ease}body[data-page$="docs/cv.md"] .cv-location-card:hover{background:var(--surface-bg-hover)}body[data-page$="docs/cv.md"] .cv-location-body{padding-left:.6rem}body[data-page$="docs/cv.md"] .cv-location-room{display:block;margin-bottom:.35rem;font-size:1.1em;font-weight:600}body[data-page$="docs/cv.md"] .cv-location-address{line-height:1.7}.pdf-embed-wrapper{margin:1.5rem 0 2rem}#zkp-pdf-frame{display:block;width:100%;height:80vh;min-height:600px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--secondary-bg);box-shadow:var(--shadow-sm)}.pdf-mobile-fallback{display:none}.pdf-mobile-fallback a.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.1rem;color:var(--theme-color);border:1px solid var(--border-color);border-radius:var(--radius-md);background:0 0;font-size:.95rem;font-weight:500;box-shadow:var(--surface-shadow)}.pdf-mobile-fallback a.btn:hover{color:var(--bg-color);border-color:var(--theme-color);background:var(--theme-color);box-shadow:var(--shadow-md)}@media (max-width:768px){.pdf-embed-wrapper{display:none}.pdf-mobile-fallback{display:flex;justify-content:center;padding:1rem 0 1.5rem}}#map-container{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-color)}#amap-container{height:450px}[data-theme=dark] #amap-container{filter:brightness(.85) contrast(1.1)}.map-button,.markdown-section .map-button{display:block;width:100%;padding:.2rem 1.5rem;background:var(--theme-color);color:var(--bg-color)!important;text-align:center;font-size:1rem;border-radius:0 0 var(--radius-lg) var(--radius-lg);transition:all var(--duration-normal) ease}.map-button:hover,.markdown-section .map-button:hover{background:var(--theme-color-light);color:var(--bg-color)!important}.map-button:active{transform:translateY(1px)}@media (max-width:480px){.address-container .room-info{font-size:1rem}[data-lang=cn]::after,[data-lang=en]::after{color:var(--medium-gray)}#amap-container{height:250px}}body[data-page*=publications] .markdown-section{max-width:78em;line-height:1.7}body[data-page*=publications] .markdown-section>ol{padding-left:0}body[data-page*=publications] .markdown-section h1{position:relative!important;max-width:fit-content;margin:0 auto 3rem auto!important;padding:2rem 0 1.5rem 0!important;text-align:center!important;font-size:2.1rem!important;font-weight:800!important;color:var(--theme-color)!important;letter-spacing:.03em}body[data-page*=publications] .markdown-section h1::after{content:'';position:absolute;bottom:0;left:50%;width:200px;height:3px;transform:translateX(-50%);border-radius:var(--radius-sm);background:linear-gradient(90deg,transparent,var(--theme-color),transparent)}.year-divider{position:relative;margin:3.5rem 0 2.5rem 0;text-align:center;font-size:1.25rem;font-weight:700;color:var(--text-muted);letter-spacing:.05em}.year-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;z-index:-1;background:linear-gradient(90deg,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent)}.year-divider span{position:relative;padding:0 2rem;background:var(--bg-color);font-variant-numeric:tabular-nums}body[data-page*=publications] .markdown-section ol>li,body[data-page*=publications] .markdown-section ul>li{position:relative;overflow:visible;white-space:normal;list-style:none;margin:.8rem 0;padding:1.1rem 1.25rem 1.1rem 1.5rem;border:none;border-radius:var(--radius-lg);background:var(--card-bg);transition:var(--surface-transition)}body[data-page*=publications] .markdown-section ol>li:hover,body[data-page*=publications] .markdown-section ul>li:hover{background:var(--surface-bg-hover)}body[data-page*=publications] .markdown-section li u{font-size:1.05rem;font-weight:700;text-decoration:none;color:var(--text-color)}body[data-page*=publications] .markdown-section li strong{font-size:1.15rem;line-height:1.5}body[data-page*=cv] .markdown-section .pubtag a::after,body[data-page*=publications] .markdown-section .pubtag a::after{display:none!important}.pubtag-link{display:inline-flex;align-items:center;justify-content:center;padding:.25em .75rem;margin:0 3px;font-size:.75rem;font-weight:500;line-height:1.2;text-align:center;text-decoration:none!important;vertical-align:middle;user-select:none;color:var(--theme-color)!important;background:0 0!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-md);box-shadow:none;transition:color var(--duration-fast) ease-in-out,background-color var(--duration-fast) ease-in-out,border-color var(--duration-fast) ease-in-out,box-shadow var(--duration-fast) ease-in-out}.publist ul li:hover .pubtag-link,body[data-page*=publications] .markdown-section ol>li:hover .pubtag-link,body[data-page*=publications] .markdown-section ul>li:hover .pubtag-link{color:var(--theme-color)!important;background-color:var(--bg-color)!important;background-image:none!important;border-top-color:var(--theme-color-light)!important;border-right-color:var(--theme-color-light)!important;border-bottom-color:var(--theme-color-light)!important;border-left-color:var(--theme-color-light)!important;box-shadow:var(--shadow-sm)}.pubtag-link:hover{color:var(--bg-color)!important;background-color:var(--theme-color)!important;background-image:none!important;border-top-color:var(--theme-color)!important;border-right-color:var(--theme-color)!important;border-bottom-color:var(--theme-color)!important;border-left-color:var(--theme-color)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.pubtag-link:active{transform:translateY(1px);box-shadow:none}.stats-bar{display:flex;justify-content:center;gap:4rem;max-width:960px;margin:1.5rem auto 1.75rem;padding:1.2rem 1.5rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.stats-bar:hover{background:var(--card-bg);border-color:var(--theme-color-light);box-shadow:var(--shadow-md)}.stat-item{text-align:center}.stat-number{display:block;font-size:3.6rem;font-weight:700;color:var(--text-color);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:0}.stat-label{display:block;margin-top:.25rem;font-size:.95rem;color:var(--text-muted);text-transform:lowercase;letter-spacing:.06em}.search-container{margin:1.25rem auto .85rem;text-align:center;position:relative;max-width:620px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none;transition:color var(--duration-normal) ease}.search-input{box-sizing:border-box;width:100%;padding:.85rem 1.25rem .85rem 2.75rem;font-size:.95rem;color:var(--text-color);background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-full);outline:0;box-shadow:var(--shadow-sm);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.search-input:focus{background:var(--bg-color);border-color:var(--theme-color-light);box-shadow:var(--shadow-md)}.search-input::placeholder{color:var(--text-muted)}.search-container:focus-within .search-icon{color:var(--theme-color)}.filter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:0;max-width:620px;margin:.85rem auto 2.25rem;border-bottom:1px solid var(--border-color);padding-bottom:0}.filter-btn{flex:1 1 0;min-width:0;padding:.55rem 1rem;font-size:.9rem;font-weight:500;text-align:center;user-select:none;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid transparent;border-radius:0;cursor:pointer;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease;margin-bottom:-1px}.filter-btn:hover{color:var(--text-color)}.filter-btn:focus-visible{outline:2px solid var(--theme-color-light);outline-offset:2px}.filter-btn.active{color:var(--theme-color);border-bottom-color:var(--accent-red);font-weight:600}body[data-page*=publications] .markdown-section li em,body[data-page*=publications] .markdown-section li i{color:var(--text-muted);font-style:normal}body[data-page*=publications] .markdown-section li strong em,body[data-page*=publications] .markdown-section li strong i{color:var(--text-color);font-style:italic;font-weight:700}@media (max-width:480px){body[data-page*=publications] .markdown-section ol>li{padding:.9rem 1rem;background:0 0!important;border:1px solid var(--border-color)}body[data-page*=publications] .markdown-section ol>li:hover{background:0 0!important}body[data-page*=publications] .markdown-section ol{padding:0}body[data-page*=publications] .markdown-section ol>li::before{display:none}body[data-page*=publications] .markdown-section>h1{font-size:1.8rem}body[data-page*=publications] .markdown-section li strong{font-size:1.05rem}body[data-page*=publications] h1{font-size:1.8rem}body[data-page*=publications] h2{font-size:1.4rem}body[data-page$="docs/cv.md"] .markdown-section h2{font-size:1.3rem}.stats-bar{gap:1.5rem;margin:1.25rem 0 1.5rem;padding:1.15rem 1rem}.stat-number{font-size:2rem}.stat-label{font-size:.84rem;letter-spacing:.05em}.search-container{margin:1rem 0 .75rem}.filter-buttons{max-width:none;margin:.75rem 0 2rem}.filter-btn{flex:1 1 auto;padding:.45rem .55rem;font-size:.85rem}}html:not([data-theme-toggle-enabled=true]) #toggle-track,html:not([data-theme-toggle-enabled=true]) .app-nav .theme-toggle-top,html:not([data-theme-toggle-enabled=true]) .mobile-theme-toggle,html:not([data-theme-toggle-enabled=true]) .sidebar .theme-toggle-top,html:not([data-theme-toggle-enabled=true]) .theme-toggle,html:not([data-theme-toggle-enabled=true]) .theme-toggle-top{display:none!important}.mobile-theme-toggle{display:none;position:absolute;top:15px;right:15px;width:40px;height:40px;z-index:1001;font-size:1.1rem;color:var(--text-color);border:1px solid var(--border-color);border-radius:50%;background:var(--surface-bg);cursor:pointer;align-items:center;justify-content:center;transition:all var(--duration-normal) ease;box-shadow:0 1px 4px rgba(0,0,0,.1);backdrop-filter:blur(8px)}.mobile-theme-toggle:hover{transform:scale(1.05);background:var(--surface-bg-hover);border-color:var(--theme-color-light);box-shadow:var(--shadow-md)}.mobile-theme-toggle:active{transform:scale(.95)}@media (max-width:480px){body[data-page*=cv] .content{position:relative}body[data-page*=cv] .mobile-theme-toggle{display:flex}}.markdown-section b,.markdown-section strong{color:var(--text-color);font-weight:700}.markdown-section .notice,.markdown-section .notice-tip,.markdown-section .tip{background-color:var(--notice-tip-background);border-color:var(--notice-border);border-left-color:var(--notice-tip-border-color);color:var(--notice-text)}.markdown-section .notice-warning,.markdown-section .warn,.markdown-section .warning{background-color:var(--notice-warning-background);border-color:var(--notice-warning-border);border-left-color:var(--accent-red);color:var(--notice-warning-text)}.impact-badge{display:inline-block;padding:.18rem .58rem;margin:0 .2rem;font-size:.76rem;font-weight:700;line-height:1.2;color:#fff;background:#1a1a1a;border:1px solid #1a1a1a;border-radius:var(--radius-full);vertical-align:middle;letter-spacing:.02em;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.impact-badge:hover{color:#fff;background:#333;border-color:#333;box-shadow:var(--surface-shadow)}.pub-type{display:inline-block;padding:.16rem .48rem;margin:0 .2rem;font-size:.62rem;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);color:var(--text-muted);background:0 0;border:1px solid var(--border-color);transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background-color var(--duration-fast) ease;vertical-align:middle}.pub-type:hover{color:var(--text-color);border-color:var(--theme-color-light)}.pub-type.conference{color:var(--text-color);border-color:var(--theme-color-light);background:var(--surface-bg)}.pub-type.journal{color:var(--text-color);background:var(--surface-bg);border:1px solid var(--theme-color-light)}.pub-type.manuscript{color:var(--text-muted);background:0 0;border:1px solid var(--border-color)}.sidebar .theme-toggle-top{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 15px;margin:0 -15px;box-sizing:border-box;line-height:1;font-size:.9rem;background:var(--secondary-bg);border:1px solid var(--border-color);border-left:none;border-right:none;transition:background-color var(--duration-normal) ease,border-color var(--duration-normal) ease}.sidebar .theme-toggle-top:hover{background:var(--surface-bg-hover);border-color:var(--theme-color-light)}.icon-toggle{display:inline-block;vertical-align:middle;height:22px;margin:0;padding:0}.mobile-theme-toggle .theme-icon-svg{width:20px;height:20px;stroke-width:1.5;stroke:currentColor!important;fill:none!important;transition:all var(--duration-normal) ease}.app-nav .theme-toggle-top .toggle-track,.sidebar .theme-toggle-top .toggle-track,.toggle-track{position:relative;display:flex;align-items:center;width:46px;height:24px;margin:0;padding:0 2px;background-color:var(--surface-bg);border:1px solid rgba(26,26,26,.16);border-radius:var(--radius-full);box-sizing:border-box;cursor:pointer;user-select:none;box-shadow:var(--surface-shadow),inset 0 0 0 1px rgba(255,255,255,.45);transition:background-color var(--duration-normal) ease,border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease,transform var(--duration-normal) ease}.app-nav .theme-toggle-top:hover .toggle-track,.sidebar .theme-toggle-top:hover .toggle-track,.toggle-track:hover{background-color:var(--surface-bg-hover);border-color:var(--theme-color-light);box-shadow:var(--surface-shadow-hover),0 0 0 3px var(--focus-ring);transform:translateY(-1px)}.toggle-track:active{transform:translateY(0)}.toggle-thumb{position:absolute;left:2px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:12px;background-color:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(26,26,26,.22);pointer-events:none;transition:left var(--duration-normal) ease,background-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.toggle-icon{position:absolute;font-size:10px;line-height:1}.dark-icon,.light-icon{display:flex;align-items:center;justify-content:center;width:10px;height:10px}.dark-icon svg,.light-icon svg{width:10px;height:10px;stroke:currentColor;fill:none}.light-icon{color:#f39c12;opacity:1}.dark-icon{color:#34495e;opacity:0}.toggle-track.dark-mode{background-color:var(--theme-color);border-color:var(--theme-color);box-shadow:var(--surface-shadow),0 0 0 1px rgba(26,26,26,.08)}.app-nav .theme-toggle-top:hover .toggle-track.dark-mode,.sidebar .theme-toggle-top:hover .toggle-track.dark-mode,.toggle-track.dark-mode:hover{background-color:var(--theme-color-light);border-color:var(--theme-color-light);box-shadow:var(--surface-shadow-hover),0 0 0 3px var(--focus-ring)}.toggle-track.dark-mode .toggle-thumb{left:24px}.toggle-track.dark-mode .light-icon{opacity:0}.toggle-track.dark-mode .dark-icon{opacity:1}[data-theme=dark] .scroll-to-top{background-color:var(--secondary-bg)!important;border-color:var(--border-color)!important;color:var(--text-color)!important}[data-theme=dark] .scroll-to-top:hover{background-color:var(--hover-bg)!important;border-color:var(--theme-color)!important;color:var(--theme-color)!important}[data-theme=dark] .sidebar-toggle{border-color:var(--border-color)!important;color:var(--text-color)!important}[data-theme=dark] .sidebar-toggle:hover{color:var(--theme-color)!important}[data-theme=dark] .sidebar-toggle .sidebar-toggle-button{background-color:var(--medium-gray)!important}[data-theme=dark] .sidebar-toggle .sidebar-toggle-button span{background-color:#ccc!important}[data-theme=dark] .sidebar-toggle:hover .sidebar-toggle-button{background-color:var(--theme-color)!important}[data-theme=dark] .profile .image img{filter:brightness(.8)}[data-theme=dark] .socials img{filter:invert(1) brightness(1.2) contrast(1.1);opacity:.8}[data-theme=dark] .socials a:hover img{filter:invert(1) brightness(1.5) contrast(1.2);opacity:1}[data-theme=dark] .map-button,[data-theme=dark] .markdown-section .map-button{background:var(--theme-color);color:var(--bg-color)!important}[data-theme=dark] .map-button:hover,[data-theme=dark] .markdown-section .map-button:hover{background:var(--theme-color-light)}[data-theme=dark] .mobile-theme-toggle{color:var(--text-color);border-color:var(--surface-border);background:var(--surface-bg)}[data-theme=dark] .mobile-theme-toggle:hover{background:var(--surface-bg-hover);border-color:var(--theme-color-light)}[data-theme=dark] .markdown-section strong{color:var(--text-color);font-weight:700}[data-theme=dark] .markdown-section b{color:var(--text-color);font-weight:700}[data-theme=dark] .markdown-section em,[data-theme=dark] .markdown-section i{color:var(--theme-color-light);font-style:italic}[data-theme=dark] .sidebar{background-color:var(--secondary-bg);border-right:1px solid var(--border-color)}[data-theme=dark] .sidebar-nav li.active>a{color:var(--theme-color)!important}[data-theme=dark] .markdown-section code{background:var(--code-bg);color:var(--code-text)}[data-theme=dark] .markdown-section pre{background-color:var(--secondary-bg);border:1px solid var(--border-color)}[data-theme=dark] .markdown-section blockquote{color:var(--text-color);background:var(--surface-bg);border-color:var(--surface-border);border-left-color:var(--accent-red);box-shadow:var(--surface-shadow)}[data-theme=dark] .markdown-section table{border-color:var(--border-color)}[data-theme=dark] .markdown-section table th{background:var(--surface-bg);color:var(--theme-color-light);border-bottom:1px solid var(--border-color)}[data-theme=dark] .markdown-section table td{border-color:var(--border-color)}[data-theme=dark] .markdown-section table tr:hover td{background:var(--surface-bg-hover)}[data-theme=dark] .markdown-section h1,[data-theme=dark] .markdown-section h2,[data-theme=dark] .markdown-section h3,[data-theme=dark] .markdown-section h4,[data-theme=dark] .markdown-section h5,[data-theme=dark] .markdown-section h6{color:var(--text-color)}[data-theme=dark] body[data-page*=publications] .markdown-section ol>li,[data-theme=dark] body[data-page*=publications] .markdown-section ul>li{background:var(--surface-bg)}[data-theme=dark] body[data-page*=publications] .markdown-section ol>li:hover,[data-theme=dark] body[data-page*=publications] .markdown-section ul>li:hover{background:var(--surface-bg-hover)}[data-theme=dark] .publist ul li{background:var(--surface-bg);border-color:var(--surface-border);box-shadow:var(--surface-shadow)}[data-theme=dark] .publist ul li:hover{background:var(--surface-bg-hover);border-color:var(--border-color);box-shadow:var(--surface-shadow-hover)}[data-theme=dark] .pub-type.manuscript{color:var(--text-muted);background:0 0;border-color:var(--border-color)}[data-theme=dark] .pub-type.conference{color:var(--text-color);background:var(--surface-bg);border-color:var(--theme-color-light)}[data-theme=dark] .pub-type.journal{color:var(--text-color);background:var(--surface-bg);border-color:var(--theme-color-light)}[data-theme=dark] .impact-badge{color:#0d1117;background:#fff;border-color:#fff}[data-theme=dark] .impact-badge:hover{color:#0d1117;background:#e6edf3;border-color:#e6edf3}[data-theme=dark] .stats-bar{background:var(--surface-bg);border-color:var(--surface-border)}[data-theme=dark] .stats-bar:hover{background:var(--surface-bg-hover)}[data-theme=dark] .year-divider span{background:var(--bg-color)}[data-theme=dark] .sidebar .theme-toggle-top{background:var(--secondary-bg);border-color:var(--surface-border)}[data-theme=dark] .sidebar .theme-toggle-top:hover{background:var(--surface-bg-hover);border-color:rgba(255,255,255,.24)}[data-theme=dark] .app-nav .theme-toggle-top .toggle-track,[data-theme=dark] .sidebar .theme-toggle-top .toggle-track,[data-theme=dark] .toggle-track{background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);box-shadow:var(--surface-shadow),inset 0 0 0 1px rgba(255,255,255,.04)}[data-theme=dark] .app-nav .theme-toggle-top:hover .toggle-track,[data-theme=dark] .sidebar .theme-toggle-top:hover .toggle-track,[data-theme=dark] .toggle-track:hover{background-color:rgba(255,255,255,.14);border-color:rgba(255,255,255,.42);box-shadow:var(--surface-shadow-hover),0 0 0 3px rgba(var(--accent-red-rgb),.18)}[data-theme=dark] .toggle-track.dark-mode{background-color:rgba(255,255,255,.16);border-color:rgba(255,255,255,.36);box-shadow:var(--surface-shadow),inset 0 0 0 1px rgba(255,255,255,.06)}[data-theme=dark] .app-nav .theme-toggle-top .toggle-track.dark-mode,[data-theme=dark] .sidebar .theme-toggle-top .toggle-track.dark-mode{background-color:rgba(255,255,255,.16);border-color:rgba(255,255,255,.36);box-shadow:var(--surface-shadow),inset 0 0 0 1px rgba(255,255,255,.06)}[data-theme=dark] .app-nav .theme-toggle-top:hover .toggle-track.dark-mode,[data-theme=dark] .sidebar .theme-toggle-top:hover .toggle-track.dark-mode,[data-theme=dark] .toggle-track.dark-mode:hover{background-color:rgba(255,255,255,.22);border-color:rgba(255,255,255,.58);box-shadow:var(--surface-shadow-hover),0 0 0 3px rgba(var(--accent-red-rgb),.18)}[data-theme=dark] .toggle-track.dark-mode .toggle-thumb{background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.45)}[data-theme=dark] .toggle-track.dark-mode .dark-icon{color:#151515}[data-theme=dark] .app-nav,[data-theme=dark] .content,[data-theme=dark] .markdown-section{color:var(--text-color)}[data-theme=dark] #map-container,[data-theme=dark] #zkp-pdf-frame,[data-theme=dark] .pdf-mobile-fallback a.btn,[data-theme=dark] .search-input,[data-theme=dark] .stats-bar{background:var(--surface-bg);border-color:var(--surface-border);color:var(--text-color)}[data-theme=dark] .pdf-mobile-fallback a.btn:hover,[data-theme=dark] .search-input:focus{border-color:var(--theme-color-light);box-shadow:var(--surface-shadow-hover)}[data-theme=dark] .search-input::placeholder{color:var(--text-muted)}[data-theme=dark] .student-card,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-activity-group,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-location-card,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-project-card,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-student-card,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-teaching-card,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-timeline-content{background:var(--surface-bg)}[data-theme=dark] .student-card:hover,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-activity-group:hover,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-location-card:hover,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-project-card:hover,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-student-card:hover,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-teaching-card:hover,[data-theme=dark] body[data-page$="docs/cv.md"] .cv-timeline-item:hover .cv-timeline-content{background:var(--surface-bg-hover)}[data-theme=dark] .sidebar a,[data-theme=dark] .sidebar-nav a,[data-theme=dark] .sidebar-nav li,[data-theme=dark] .sidebar-nav li>a{color:var(--text-muted)!important}[data-theme=dark] .sidebar-nav a:hover,[data-theme=dark] .sidebar-nav li:hover,[data-theme=dark] .sidebar-nav li:hover>a{color:var(--text-color)!important}.markdown-section li a:not(.btn):not(.emoji),.markdown-section p a:not(.btn):not(.emoji){color:var(--text-color);text-decoration:none;border-bottom:1px solid var(--border-color);padding-bottom:2px;transition:border-color var(--duration-normal) ease}.markdown-section li a:not(.btn):not(.emoji):hover,.markdown-section p a:not(.btn):not(.emoji):hover{border-bottom-color:var(--accent-red)}.markdown-section li a.pubtag-link,.markdown-section p a.pubtag-link,.publist a.pubtag-link{display:inline-flex;align-items:center;justify-content:center;padding:.25em .75rem;color:var(--theme-color)!important;background-color:transparent!important;background-image:none!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-md);line-height:1.2;text-decoration:none!important;transition:color var(--duration-fast) ease-in-out,background-color var(--duration-fast) ease-in-out,border-color var(--duration-fast) ease-in-out,box-shadow var(--duration-fast) ease-in-out,transform var(--duration-fast) ease-in-out}.markdown-section li a.pubtag-link:hover,.markdown-section p a.pubtag-link:hover,.publist a.pubtag-link:hover,.publist ul li:hover a.pubtag-link:hover,body[data-page*=publications] .markdown-section ol>li:hover a.pubtag-link:hover,body[data-page*=publications] .markdown-section ul>li:hover a.pubtag-link:hover{color:var(--bg-color)!important;background-color:var(--theme-color)!important;background-image:none!important;border-top-color:var(--theme-color)!important;border-right-color:var(--theme-color)!important;border-bottom-color:var(--theme-color)!important;border-left-color:var(--theme-color)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.app-nav a{transition:color var(--duration-normal) ease,opacity var(--duration-normal) ease}.app-nav a.active,.app-nav li.active a{position:relative}.app-nav a.active::after,.app-nav li.active a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--accent-red);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:no-preference){.hero-section{animation:heroFadeIn .5s ease-out both}.hero-affiliation,.hero-contact,.hero-cv,.hero-image,.hero-name,.hero-socials{animation:heroItemIn .56s var(--ease-default) both}.hero-image{animation-delay:60ms}.hero-name{animation-delay:.12s}.hero-affiliation{animation-delay:.18s}.hero-contact{animation-delay:.24s}.hero-socials{animation-delay:.3s}.hero-cv{animation-delay:.36s}.scroll-down-btn{animation:heroFadeIn .45s ease-out .52s both,bounce-gentle 2s ease-in-out 1.05s infinite}}@keyframes heroFadeIn{from{opacity:0}to{opacity:1}}@keyframes heroItemIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}a:focus-visible,button:focus-visible{outline:2px solid var(--theme-color);outline-offset:2px;border-radius:2px;box-shadow:0 0 0 4px var(--focus-ring)}.student-card,body[data-page$="docs/cv.md"] .cv-activity-group,body[data-page$="docs/cv.md"] .cv-location-card,body[data-page$="docs/cv.md"] .cv-project-card,body[data-page$="docs/cv.md"] .cv-student-card,body[data-page$="docs/cv.md"] .cv-teaching-card,body[data-page$="docs/cv.md"] .cv-timeline-content{background:var(--surface-bg);border:1px solid var(--surface-border);box-shadow:var(--surface-shadow);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.student-card:hover,body[data-page$="docs/cv.md"] .cv-activity-group:hover,body[data-page$="docs/cv.md"] .cv-location-card:hover,body[data-page$="docs/cv.md"] .cv-project-card:hover,body[data-page$="docs/cv.md"] .cv-student-card:hover,body[data-page$="docs/cv.md"] .cv-teaching-card:hover,body[data-page$="docs/cv.md"] .cv-timeline-item:hover .cv-timeline-content{background:var(--surface-bg-hover);border-color:var(--border-color);box-shadow:var(--surface-shadow-hover)}.publist ul li,body[data-page*=publications] .markdown-section ol>li,body[data-page*=publications] .markdown-section ul>li{background:var(--surface-bg);border:1px solid var(--surface-border);box-shadow:var(--surface-shadow);transition:var(--surface-transition)}.publist ul li:hover,body[data-page*=publications] .markdown-section ol>li:hover,body[data-page*=publications] .markdown-section ul>li:hover{background:var(--surface-bg-hover);border-color:var(--border-color);box-shadow:var(--surface-shadow-hover)}body[data-page$="docs/cv.md"] .cv-activity-group,body[data-page$="docs/cv.md"] .cv-student-card,body[data-page$="docs/cv.md"] .cv-teaching-card{min-height:0}.hero-socials a:hover img{animation:none;transform:scale(1.04)}@media (max-width:480px){.publist ul li,.student-card,body[data-page$="docs/cv.md"] .cv-activity-group,body[data-page$="docs/cv.md"] .cv-location-card,body[data-page$="docs/cv.md"] .cv-project-card,body[data-page$="docs/cv.md"] .cv-student-card,body[data-page$="docs/cv.md"] .cv-teaching-card,body[data-page$="docs/cv.md"] .cv-timeline-content,body[data-page*=publications] .markdown-section ol>li,body[data-page*=publications] .markdown-section ul>li{background:var(--surface-bg)!important;border-color:var(--surface-border);box-shadow:none}.app-nav{justify-content:center;gap:1.1rem;left:0;right:0;width:auto}}.markdown-section blockquote{border:1px solid var(--surface-border)!important;border-left:3px solid var(--accent-red)!important;border-radius:var(--radius-lg)!important;background:var(--surface-bg)!important;box-shadow:var(--surface-shadow)!important}body[data-page*="for-students/README"] .markdown-section blockquote{border-left:1px solid var(--surface-border)!important}.markdown-section blockquote p{margin:.35em 0}.markdown-section p.notice,.markdown-section p.notice-tip,.markdown-section p.tip{color:var(--notice-text)!important;background:var(--notice-tip-background)!important;border:0!important;border-left:4px solid var(--notice-tip-border-color)!important;border-radius:0 var(--radius-md) var(--radius-md) 0!important;box-shadow:none!important}.markdown-section p.notice-warning,.markdown-section p.warn,.markdown-section p.warning{color:var(--notice-warning-text)!important;background:var(--notice-warning-background)!important;border:0!important;border-left:4px solid var(--accent-red)!important;border-radius:0 var(--radius-md) var(--radius-md) 0!important;box-shadow:none!important}.markdown-section p.notice-tip::before,.markdown-section p.notice::before,.markdown-section p.tip::before{color:var(--notice-tip-icon-color)!important;background:var(--notice-tip-icon-background)!important;box-shadow:0 0 0 2px var(--bg-color)!important}.markdown-section p.notice-warning::before,.markdown-section p.warn::before,.markdown-section p.warning::before{color:var(--notice-warning-icon-color)!important;background:var(--notice-warning-icon-background)!important;box-shadow:0 0 0 2px var(--bg-color)!important}.markdown-section li>img:not(.emoji):not(.content-icon),.markdown-section p>a>img:not(.emoji):not(.content-icon),.markdown-section p>img:not(.emoji):not(.content-icon){display:block!important;max-width:100%!important;height:auto!important;margin:1.4rem auto!important;border:1px solid var(--surface-border)!important;border-radius:var(--radius-lg)!important;background:var(--bg-color)!important;box-shadow:var(--surface-shadow)!important}body[data-page*="teaching/README"] .markdown-section>ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0 2rem;padding:0}body[data-page*="teaching/README"] .markdown-section>ul>li{display:block!important;list-style:none!important;margin:0!important;padding:.85rem 1rem!important;border:1px solid var(--surface-border)!important;border-radius:var(--radius-lg)!important;background:var(--surface-bg)!important;box-shadow:var(--surface-shadow)!important;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}body[data-page*="teaching/README"] .markdown-section>ul>li:hover{background:var(--surface-bg-hover)!important;border-color:var(--border-color)!important;box-shadow:var(--surface-shadow-hover)!important}body[data-page*="teaching/README"] .markdown-section>ul>li>ul{margin:.45rem 0 0;padding-left:1rem;color:var(--text-muted);font-size:.94rem}.search-input,.stats-bar{background:var(--surface-bg)!important;border-color:var(--surface-border)!important}.stats-bar{box-shadow:var(--surface-shadow)!important}.stats-bar:hover{background:var(--surface-bg-hover)!important;border-color:var(--border-color)!important;box-shadow:var(--surface-shadow-hover)!important}body[data-page*=publications] .search-input{border-color:var(--surface-border)!important;box-shadow:var(--surface-shadow)!important;animation:none}body[data-page*=publications] .search-input:focus{border-color:var(--accent-red)!important;box-shadow:0 0 0 3px var(--focus-ring),0 0 16px rgba(var(--accent-red-rgb),.12),var(--surface-shadow-hover)!important}[data-theme=dark] body[data-page*=publications] .search-input{border-color:var(--surface-border)!important;box-shadow:var(--surface-shadow)!important}[data-theme=dark] body[data-page*=publications] .search-input:focus{border-color:var(--accent-red)!important;box-shadow:0 0 0 3px var(--focus-ring),0 0 18px rgba(var(--accent-red-rgb),.14),var(--surface-shadow-hover)!important}.publist ul li>p,body[data-page*=publications] .markdown-section ol>li>p,body[data-page*=publications] .markdown-section ul>li>p{margin:.38rem 0}.publist ul li>p:first-child,body[data-page*=publications] .markdown-section ol>li>p:first-child,body[data-page*=publications] .markdown-section ul>li>p:first-child{margin-top:0;margin-bottom:.55rem}.publist ul li>p:first-child strong,body[data-page*=publications] .markdown-section ol>li>p:first-child strong,body[data-page*=publications] .markdown-section ul>li>p:first-child strong{display:inline;font-size:1.06rem;line-height:1.45;letter-spacing:0}.publist ul li>p:not(:first-child) strong,body[data-page*=publications] .markdown-section ol>li>p:not(:first-child) strong,body[data-page*=publications] .markdown-section ul>li>p:not(:first-child) strong{font-size:inherit;line-height:inherit}.publist ul li>p:nth-of-type(2),body[data-page*=publications] .markdown-section ol>li>p:nth-of-type(2),body[data-page*=publications] .markdown-section ul>li>p:nth-of-type(2){color:var(--text-muted);font-size:.94rem}.publist ul li>p:nth-of-type(2) u,body[data-page*=publications] .markdown-section ol>li>p:nth-of-type(2) u,body[data-page*=publications] .markdown-section ul>li>p:nth-of-type(2) u{color:var(--text-color)}.publist ul li>p:nth-of-type(3),body[data-page*=publications] .markdown-section ol>li>p:nth-of-type(3),body[data-page*=publications] .markdown-section ul>li>p:nth-of-type(3){line-height:1.65}.publist ul li>p:nth-of-type(n+4),body[data-page*=publications] .markdown-section ol>li>p:nth-of-type(n+4),body[data-page*=publications] .markdown-section ul>li>p:nth-of-type(n+4){color:var(--text-muted);font-size:.9rem}.pubtag{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:center;vertical-align:baseline}.pubtag-link{margin:0}.impact-badge,.pub-type{margin:0}body[data-page*=publications] .markdown-section li u{font-size:inherit}.publications-container{padding-top:.2rem}.stats-bar{max-width:760px!important;gap:3.2rem!important;margin-top:.25rem!important;margin-bottom:1.35rem!important}.stat-number{font-size:3.15rem}.filter-buttons{margin-bottom:2.6rem}.year-divider{margin-top:3rem;margin-bottom:1.75rem}@media (max-width:640px){.pubtag{gap:.22rem}.pubtag-link{padding:.22em .62rem;font-size:.72rem}.stats-bar{gap:1.25rem!important;max-width:none!important}.stat-number{font-size:2rem}.year-divider{margin:2.5rem 0 1.5rem}body[data-page*="teaching/README"] .markdown-section>ul{grid-template-columns:1fr}}.markdown-section h3{position:relative;margin-top:2rem;margin-bottom:.85rem;padding-left:.78rem;border-left:3px solid var(--border-color);color:var(--text-color);letter-spacing:0}.markdown-section h3:hover{border-left-color:var(--accent-red)}.markdown-section h4{margin-top:1.4rem;margin-bottom:.55rem;color:var(--text-color);font-size:1rem;letter-spacing:0}.markdown-section hr{height:1px;margin:2rem 0;border:0;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.markdown-section code{padding:.12rem .34rem;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-text);font-size:.88em}.markdown-section pre{overflow:auto;padding:1rem 1.1rem;border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--code-bg);box-shadow:var(--surface-shadow)}.markdown-section pre code{padding:0;border:0;background:0 0;font-size:.9rem}.markdown-section input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:.95rem;height:.95rem;margin:0 .45rem 0 0;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface-bg);vertical-align:-.12em}.markdown-section input[type=checkbox]::before{content:'';width:.5rem;height:.5rem;transform:scale(0);border-radius:2px;background:var(--accent-red);transition:transform var(--duration-fast) ease}.markdown-section input[type=checkbox]:checked::before{transform:scale(1)}body[data-page*="miscellaneous/todo"] .markdown-section li:has(input[type=checkbox]:checked){color:var(--text-muted)}body[data-page*="for-students/todo"] .markdown-section>ul,body[data-page*="miscellaneous/todo"] .markdown-section>ul{display:grid;grid-template-columns:1fr;gap:.65rem;margin:1rem 0 1.6rem;padding-left:0}body[data-page*="for-students/todo"] .markdown-section>ul>li,body[data-page*="miscellaneous/todo"] .markdown-section>ul>li{list-style:none;margin:0;padding:.85rem 1rem;border:1px solid var(--surface-border);border-left:3px solid transparent;border-radius:var(--radius-lg);background:var(--surface-bg);box-shadow:var(--surface-shadow);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,border-left-color var(--duration-normal) ease,box-shadow var(--duration-fast) ease}body[data-page*="for-students/todo"] .markdown-section>ul>li:hover,body[data-page*="miscellaneous/todo"] .markdown-section>ul>li:hover{background:var(--surface-bg-hover);border-color:var(--border-color);border-left-color:var(--accent-red);box-shadow:var(--surface-shadow-hover)}body[data-page*="for-students/todo"] .markdown-section>ul>li p,body[data-page*="miscellaneous/todo"] .markdown-section>ul>li p{margin:.45rem 0 0;color:var(--text-muted);font-size:.95rem}body[data-page*="for-students/README"] .markdown-section>p,body[data-page*="research/README"] .markdown-section>p,body[data-page*="teaching/"] .markdown-section>p{line-height:1.78}body[data-page*="for-students/README"] .markdown-section>ol>li,body[data-page*="teaching/"] .markdown-section>ol>li{margin:.55rem 0;padding-left:.2rem}body[data-page*="for-students/README"] .markdown-section>blockquote,body[data-page*="research/README"] .markdown-section>blockquote{margin-top:1.2rem}.publications-empty-state{max-width:620px;margin:1.25rem auto 2.25rem;padding:1rem 1.2rem;border:1px dashed var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-bg);color:var(--text-muted);text-align:center;box-shadow:var(--surface-shadow)}.publications-empty-state[hidden]{display:none!important}.filter-btn[aria-pressed=true]{color:var(--theme-color);border-bottom-color:var(--accent-red);font-weight:600}body[data-page*=publications] .markdown-section ol>li[style*="display: none"],body[data-page*=publications] .markdown-section ul>li[style*="display: none"]{margin:0;padding:0}[data-theme=dark] .markdown-section code{border-color:var(--surface-border)}[data-theme=dark] .publications-empty-state{border-color:var(--surface-border);background:var(--surface-bg)}@media (max-width:640px){.markdown-section h3{margin-top:1.65rem;padding-left:.65rem}body[data-page*="for-students/todo"] .markdown-section>ul>li,body[data-page*="miscellaneous/todo"] .markdown-section>ul>li{padding:.78rem .88rem;box-shadow:none}.publications-empty-state{margin:1rem 0 1.8rem}}body[data-page$="docs/cv.md"] #cv-page>h2{margin:3.4rem 0 1rem}body[data-page$="docs/cv.md"] #cv-page>h2:first-of-type{margin-top:2.6rem}body[data-page$="docs/cv.md"] .cv-projects,body[data-page$="docs/cv.md"] .cv-timeline{gap:1rem;margin-top:0}body[data-page$="docs/cv.md"] .cv-student-cards,body[data-page$="docs/cv.md"] .cv-teaching-cards{gap:1rem}body[data-page$="docs/cv.md"] .cv-location-card{margin-bottom:1rem}.publist ul li{margin-block:0.75rem}body[data-page*=publications] .stats-bar{margin:.5rem auto 1.25rem!important}body[data-page*=publications] .search-container{margin:1.25rem auto .75rem}body[data-page*=publications] .filter-buttons{margin:.75rem auto 1.5rem}body[data-page*=publications] .year-divider{margin:2.75rem 0 1.25rem}body[data-page*=publications] .markdown-section ol>li,body[data-page*=publications] .markdown-section ul>li{margin-block:0.75rem}body[data-page*=publications] .impact-badge,body[data-page*=publications] .pub-type{display:inline-flex;align-items:center;justify-content:center;min-height:1.35rem;box-sizing:border-box;margin:0;padding:.18rem .55rem;border-radius:var(--radius-full);line-height:1;vertical-align:middle}body[data-page*=publications] .pub-type,body[data-page*=publications] .pub-type.conference,body[data-page*=publications] .pub-type.journal,body[data-page*=publications] .pub-type.manuscript{color:var(--text-muted);background:0 0;border:1px solid var(--surface-border);font-size:.64rem;font-weight:600;letter-spacing:.045em}body[data-page*=publications] .pub-type.manuscript{border-style:dashed}[data-theme=dark] body[data-page*=publications] .impact-badge,body[data-page*=publications] .impact-badge{color:var(--accent-red);background:rgba(var(--accent-red-rgb),.075);border:1px solid rgba(var(--accent-red-rgb),.2);font-size:.69rem;font-weight:700;letter-spacing:.025em}[data-theme=dark] body[data-page*=publications] .impact-badge:hover,body[data-page*=publications] .impact-badge:hover{color:var(--accent-red);background:rgba(var(--accent-red-rgb),.11);border-color:rgba(var(--accent-red-rgb),.32);box-shadow:none}.markdown-section .pubtag a.pubtag-link,.publist .pubtag a.pubtag-link,.publist ul li:hover .pubtag-link,body[data-page*=publications] .markdown-section ol>li:hover .pubtag-link,body[data-page*=publications] .markdown-section ul>li:hover .pubtag-link{min-height:1.35rem;box-sizing:border-box;padding:.18rem .55rem;color:var(--text-muted)!important;background:0 0!important;border:1px solid var(--surface-border)!important;border-radius:var(--radius-full);box-shadow:none;font-size:.7rem;font-weight:500;line-height:1}.markdown-section .pubtag a.pubtag-link:hover,.publist .pubtag a.pubtag-link:hover,.publist ul li:hover .pubtag a.pubtag-link:hover,body[data-page*=publications] .markdown-section ol>li:hover .pubtag a.pubtag-link:hover,body[data-page*=publications] .markdown-section ul>li:hover .pubtag a.pubtag-link:hover{color:var(--accent-red)!important;background:rgba(var(--accent-red-rgb),.06)!important;border-color:rgba(var(--accent-red-rgb),.32)!important;box-shadow:none;transform:none}@media (max-width:640px){body[data-page$="docs/cv.md"] #cv-page>h2{margin:2.75rem 0 .9rem}body[data-page$="docs/cv.md"] #cv-page>h2:first-of-type{margin-top:2rem}body[data-page*=publications] .year-divider{margin:2.25rem 0 1rem}}.hero-affiliation,.markdown-section h1,.markdown-section h2{text-wrap:balance}.app-nav>ul>li{vertical-align:middle}.app-nav>ul>li>a{display:inline-flex;align-items:center;min-height:38px;box-sizing:border-box;padding:0 .78rem;border-radius:var(--radius-md);font-size:.88rem;font-weight:600;letter-spacing:.015em;vertical-align:middle}.app-nav>ul>li>a:hover{background:var(--surface-bg-hover)}.app-nav a.active::after,.app-nav li.active a::after{right:.78rem;bottom:3px;left:.78rem}.app-nav .theme-toggle-top{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;padding:0 .4rem;line-height:1;vertical-align:middle}.app-nav .theme-toggle-top .icon-toggle{display:flex;align-items:center;justify-content:center;height:24px}.stats-bar,.student-card,body[data-page$="docs/cv.md"] .cv-activity-group,body[data-page$="docs/cv.md"] .cv-location-card,body[data-page$="docs/cv.md"] .cv-project-card,body[data-page$="docs/cv.md"] .cv-student-card,body[data-page$="docs/cv.md"] .cv-teaching-card,body[data-page$="docs/cv.md"] .cv-timeline-content,body[data-page$="miscellaneous/README.md"] .markdown-section>ul>li,body[data-page*="teaching/README"] .markdown-section>ul>li{transition:var(--surface-transition)}.publist ul li,body[data-page*=publications] .markdown-section ol>li,body[data-page*=publications] .markdown-section ul>li{transition:var(--surface-transition)}body[data-page$="research/README.md"] .markdown-section>ol>li,body[data-page*="for-students/todo"] .markdown-section>ul>li,body[data-page*="miscellaneous/todo"] .markdown-section>ul>li{transition:var(--surface-accent-transition)}body[data-page$="docs/cv.md"] .cv-location-card,body[data-page$="docs/cv.md"] .cv-project-card{transition:var(--surface-transition),height .3s ease}.hero-image[role=button]:focus-visible,.toggle-track:focus-visible{outline:2px solid var(--accent-red);outline-offset:3px;box-shadow:0 0 0 5px var(--focus-ring)}.toggle-track::after{content:'';position:absolute;inset:-10px 0}@media (max-width:480px),(pointer:coarse){.mobile-theme-toggle{width:44px;height:44px}.markdown-section .hero-section .hero-socials a{width:44px;height:44px}.app-nav>ul>li>a{min-height:44px;padding-inline:0.65rem}}@media print{.mobile-theme-toggle,.progress-bar,.scroll-to-top,.sidebar,.sidebar-toggle{display:none!important}.content{margin-left:0!important}.markdown-section{max-width:100%}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.hero-image,.hero-section,.markdown-section,.scroll-down-btn{animation:none}.hero-image #avatar{--avatar-body-x:0px!important;--avatar-body-y:0px!important;--avatar-body-rotate:0deg!important;--bunny-eye-x:0px!important;--bunny-eye-y:0px!important;--bunny-eye-blink-scale:1!important;--bunny-face-x:0px!important;--bunny-face-y:0px!important;--bunny-mouth-x:0px!important;--bunny-mouth-y:0px!important}.hero-image .avatar-face-layer{transform:none!important}.hero-cv .recruit-dot{animation:none;opacity:1}.hero-socials a:hover img{animation:none}.hero-image:hover,.hero-socials a:hover{transform:none}}