/* Static styles for the English and Chinese homepages. No runtime CSS framework required. */
*,*::before,*::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px;color-scheme:light}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.65;isolation:isolate}
h1,h2,h3,h4,h5,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}strong,b{font-weight:700}button,input{font:inherit;color:inherit}button{cursor:pointer;background:transparent;padding:0;text-align:inherit}img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1em}sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline;top:-.5em}::selection{background:#bfdbfe;color:#111827}section{scroll-margin-top:110px}section>*:last-child{margin-bottom:0}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #2563eb;outline-offset:4px;border-radius:4px}
.-translate-x-1\/2{translate:-50% 0}
.absolute{position:absolute}
.aspect-square{aspect-ratio:1/1}
.bg-accent{background-color:#2563eb}
.bg-accent\/10{background-color:rgba(37,99,235,.1)}
.bg-bg{background-color:#f9fafb}
.bg-black\/5{background-color:rgba(0,0,0,.05)}
.bg-black\/80{background-color:rgba(0,0,0,.8)}
.bg-gray-50{background-color:#f9fafb}
.bg-white{background-color:#fff}
.block{display:block}
.border{border-width:1px}
.border-black\/10{border-color:rgba(0,0,0,.1)}
.border-black\/5{border-color:rgba(0,0,0,.05)}
.bottom-full{bottom:100%}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-semibold{font-weight:600}
.gap-10{gap:2.5rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1.0rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2.0rem}
.gap-x-2{column-gap:0.5rem}
.gap-y-1{row-gap:0.25rem}
.grid{display:grid}
.group:focus-visible .group-focus-visible\:opacity-100{opacity:1}
.group:focus-visible .group-focus-visible\:scale-100{scale:1}
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:scale-100{scale:1}
.h-1{height:0.25rem}
.h-1\.5{height:0.375rem}
.h-2{height:0.5rem}
.h-4{height:1.0rem}
.h-8{height:2.0rem}
.hover\:text-accent:hover{color:#2563eb}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.leading-4{line-height:1rem}
.leading-tight{line-height:1.25}
.left-1\/2{left:50%}
.list-decimal{list-style-type:decimal}
.marker\:text-gray-400::marker{color:#9ca3af}
.max-w-6xl{max-width:72rem}
.max-w-full{max-width:100%}
.max-w-xs{max-width:20rem}
.mb-2{margin-bottom:0.5rem}
.min-h-\[70vh\]{min-height:70vh}
.min-h-\[8rem\]{min-height:8rem}
.ml-0{margin-left:0.0rem}
.ml-3{margin-left:0.75rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-10{margin-top:2.5rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1.0rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-7{margin-top:1.75rem}
.mt-8{margin-top:2.0rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-8{margin-top:2.0rem;margin-bottom:2.0rem}
.no-underline{text-decoration:none}
.normal-case{text-transform:none}
.object-cover{object-fit:cover}
.opacity-0{opacity:0}
.opacity-90{opacity:.9}
.order-1{order:1}
.order-2{order:2}
.overflow-x-auto{overflow-x:auto}
.p-1\.5{padding:0.375rem}
.p-4{padding:1.0rem}
.p-6{padding:1.5rem}
.p-8{padding:2.0rem}
.pb-12{padding-bottom:3.0rem}
.pl-6{padding-left:1.5rem}
.pointer-events-none{pointer-events:none}
.pt-10{padding-top:2.5rem}
.px-1\.5{padding-left:0.375rem;padding-right:0.375rem}
.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1.0rem;padding-right:1.0rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-20{padding-top:5.0rem;padding-bottom:5.0rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-\[1px\]{padding-top:1px;padding-bottom:1px}
.relative{position:relative}
.rotate-45{rotate:45deg}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.scale-95{scale:.95}
.shadow-card{box-shadow:0 4px 20px rgba(0,0,0,.07)}
.shadow-glow{box-shadow:0 0 20px rgba(37,99,235,.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}
.space-y-1>*+*{margin-top:0.25rem}
.space-y-2>*+*{margin-top:0.5rem}
.space-y-4>*+*{margin-top:1.0rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sticky{position:sticky}
.text-2xl{font-size:1.5rem;line-height:1.33}
.text-3xl{font-size:1.875rem;line-height:1.25}
.text-\[10px\]{font-size:10px;line-height:1.45}
.text-\[11px\]{font-size:11px;line-height:1.45}
.text-\[9px\]{font-size:9px;line-height:1.45}
.text-accent{color:#2563eb}
.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-gray-700{color:#374151}
.text-gray-800{color:#1f2937}
.text-gray-900{color:#111827}
.text-indigo-600{color:#4f46e5}
.text-lg{font-size:1.125rem;line-height:1.5}
.text-sky-700{color:#0369a1}
.text-sm{font-size:.875rem;line-height:1.6}
.text-white{color:#fff}
.text-xs{font-size:.75rem;line-height:1.45}
.top-0{top:0}
.top-full{top:100%}
.tracking-tight{letter-spacing:-.025em}
.tracking-wide{letter-spacing:.025em}
.transition{transition:opacity .18s ease,scale .18s ease,transform .18s ease}
.uppercase{text-transform:uppercase}
.w-1\.5{width:0.375rem}
.w-2{width:0.5rem}
.w-4{width:1.0rem}
.w-8{width:2.0rem}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-20{z-index:20}
.z-40{z-index:40}
@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:hidden{display:none}.sm\:px-3{padding-left:0.75rem;padding-right:0.75rem}.sm\:py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.sm\:text-sm{font-size:.875rem;line-height:1.6}.sm\:w-80{width:20.0rem}}
@media(min-width:768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:order-1{order:1}.md\:order-2{order:2}.md\:pb-0{padding-bottom:0.0rem}.md\:text-5xl{font-size:3rem;line-height:1.1}.md\:text-base{font-size:1rem;line-height:1.5}.md\:w-96{width:24.0rem}}
@media(min-width:1024px){.lg\:w-\[28rem\]{width:28rem}}
.hover\:underline:hover{text-decoration:underline;text-underline-offset:3px}
.hover\:border-accent\/40:hover{border-color:rgba(37,99,235,.4)}
.hover\:bg-accent\/20:hover{background-color:rgba(37,99,235,.2)}
/* Shared visual language and responsive layout. */
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.grid-bg::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(transparent 98%,rgba(0,0,0,.025)),linear-gradient(90deg,transparent 98%,rgba(0,0,0,.025));background-size:24px 24px;z-index:-1}
.glass{background:rgba(255,255,255,.9)}
.card{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.card:hover{box-shadow:0 0 0 1px rgba(37,99,235,.12),0 8px 24px rgba(0,0,0,.09);transform:translateY(-2px)}
.ux-underline{background:linear-gradient(to right,rgba(37,99,235,0),rgba(37,99,235,.4),rgba(147,51,234,.4),rgba(37,99,235,0));height:2px}
.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}
.anchor-offset{scroll-margin-top:110px}.subtle-divider{height:1px;background:linear-gradient(to right,transparent,rgba(0,0,0,.08),transparent)}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:10px 18px;background:#fff;color:#1e40af;border:2px solid #2563eb;border-radius:8px}.skip-link:focus{transform:translateY(0)}
.nav-bar{gap:1.5rem}.section-nav{align-items:center}.section-nav a{padding:4px 0;white-space:nowrap}.site-nav{background:#ffffffed}
#theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px}
#theme-toggle .icon{position:absolute;width:1rem;height:1rem;opacity:0;transition:opacity .15s ease}
#theme-toggle .icon--active{opacity:1}#theme-toggle .icon--inactive{opacity:0}
#top>div{width:100%;padding-bottom:3rem;padding-top:3rem}#top img{width:320px;height:320px;object-fit:cover}#top h1{letter-spacing:-.045em}#top p{max-width:36rem;line-height:1.8}
#about p{line-height:1.9}#about li{padding-bottom:.6rem}#about li:last-child{padding-bottom:0}
.research-highlight{text-align:left;display:flex;flex-direction:column;align-items:stretch}.research-highlight h3{margin-top:8px}.highlight-topline{font-size:10px;font-weight:700;letter-spacing:.12em;color:#2563eb}.highlight-action{float:right;color:#2563eb;font-family:inherit}.research-highlight>div:last-child{margin-top:auto;padding-top:18px}
#pubs ol>li{padding-bottom:1.1rem;border-bottom:1px solid #e5e7eb;line-height:1.8}#pubs ol>li:last-child{border-bottom:0;padding-bottom:0}#pubs ol>li>.font-semibold{font-size:15px;color:#111827}#pubs ol>li>div.text-gray-700{margin-top:4px}#pubs ol>li>div.mt-1{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px}#pubs ol>li>div.mt-1 a{margin-left:0;padding:3px 0}.abstract-link{padding:3px 0}.publication-venue{color:#4b5563}.new-publication::marker{color:#2563eb;font-weight:700}
#contrib .mt-8.grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}#contrib .sm\:grid-cols-3{gap:12px}#contrib .min-h-\[8rem\]{min-height:140px}#contrib .text-\[10px\]{flex-wrap:wrap;gap:4px}#contrib .clamp-2{display:block;overflow:visible;-webkit-line-clamp:unset}#contrib .h-1\.5{flex-shrink:0;margin-top:.65rem}
#contact a[href^="mailto:"]{overflow-wrap:anywhere}
/* Native modal provides focus containment and Escape support. */
.paper-dialog{border:1px solid #dce3ef;border-radius:24px;padding:28px 32px;max-width:760px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);overflow:auto;background:#fff;color:#1f2937;box-shadow:0 24px 100px rgba(4,12,30,.28)}
.paper-dialog::backdrop{background:rgba(9,18,35,.58)}
.dialog-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;color:#2563eb;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.dialog-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:1px solid #dce3ef;border-radius:50%;font-size:27px;font-weight:400;line-height:1;background:#f8fafc;color:#334155}
.paper-dialog h2{font-size:25px;line-height:1.35;letter-spacing:-.02em;font-weight:700}.dialog-venue{margin-top:14px;font-size:13px;color:#2563eb;font-weight:600}.dialog-authors{margin-top:14px;font-size:13px;line-height:1.8;color:#475569}.equal-note{margin-top:4px;font-size:12px;color:#64748b}.dialog-abstract{margin-top:22px;padding-top:22px;border-top:1px solid #e2e8f0;font-size:15px;line-height:1.9}
html.dialog-open{overflow:hidden}
/* A quiet static background replaces the continuously animated canvas. */
html.dark{color-scheme:dark}.dark body,.dark .bg-bg{background-color:#0b1020;color:#e2e8f0}.dark ::selection{background:rgba(34,211,238,.3);color:#fff}.dark .grid-bg::before{background:radial-gradient(circle at 20% 20%,rgba(124,58,237,.13),transparent 35%),radial-gradient(circle at 80% 10%,rgba(34,211,238,.1),transparent 40%),linear-gradient(transparent 98%,rgba(255,255,255,.025)),linear-gradient(90deg,transparent 98%,rgba(255,255,255,.025));background-size:100% 100%,100% 100%,24px 24px,24px 24px}.dark .glass{background:rgba(17,24,39,.86)}.dark .site-nav{background:#101828f5}.dark .card:hover{box-shadow:0 0 0 1px rgba(34,211,238,.25),0 10px 30px rgba(0,0,0,.3)}.dark .ux-underline{background:linear-gradient(to right,transparent,rgba(34,211,238,.5),rgba(124,58,237,.5),transparent)}
.dark .text-gray-900{color:#f1f5f9}.dark .text-gray-800{color:#e2e8f0}.dark .text-gray-700,.dark .text-gray-600{color:#cbd5e1}.dark .text-gray-500,.dark .text-gray-400{color:#94a3b8}.dark .text-accent,.dark .hover\:text-accent:hover,.dark .highlight-topline,.dark .highlight-action,.dark .dialog-venue{color:#8bb7ff}.dark .text-indigo-600{color:#b6b2ff}.dark .text-sky-700{color:#7dd3fc}.dark .bg-white,.dark .bg-gray-50{background-color:transparent}.dark .border-black\/5{border-color:rgba(255,255,255,.1)}.dark .border-black\/10{border-color:rgba(255,255,255,.16)}.dark .bg-black\/5{background-color:rgba(255,255,255,.06)}.dark .subtle-divider{background:linear-gradient(to right,transparent,rgba(255,255,255,.12),transparent)}.dark #pubs ol>li{border-color:#263246}.dark #pubs ol>li>.font-semibold{color:#f1f5f9}.dark .publication-venue{color:#b5c3d9}.dark .new-publication::marker{color:#8bb7ff}.dark .paper-dialog{background:#111b2e;color:#e2e8f0;border-color:#334155}.dark .dialog-authors{color:#b5c3d9}.dark .equal-note{color:#94a3b8}.dark .dialog-topline{color:#8bb7ff}.dark .dialog-close{color:#cbd5e1;border-color:#334155;background:#17243c}.dark .dialog-abstract{border-color:#334155}
@media(max-width:1023px){.nav-bar{flex-wrap:wrap;gap:4px 1rem}.section-nav{order:3;width:100%;justify-content:space-between;gap:12px;border-top:1px solid #e5e7eb;padding-top:6px;margin-top:3px}.dark .section-nav{border-color:#263246}html{scroll-padding-top:136px}section,.anchor-offset{scroll-margin-top:136px}#top img{width:270px;height:270px}#contrib .mt-8.grid{grid-template-columns:minmax(0,1fr)}#contrib .min-h-\[8rem\]{min-height:128px}}
@media(max-width:767px){.py-20{padding-top:3.5rem;padding-bottom:3.5rem}#top{min-height:auto}#top>div{padding-top:2.5rem;padding-bottom:3rem}#top .gap-10{gap:1.75rem}#top img{width:200px;height:200px}#top h1{font-size:2.5rem}#top .order-2{max-width:600px}#top .mt-4.flex.gap-4{flex-wrap:wrap;gap:8px 20px}#about p{line-height:1.8}.paper-dialog h2{font-size:22px}}
@media(max-width:599px){.section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;text-align:center}.section-nav a{padding:5px 3px;font-size:13px}.nav-bar{padding:10px 14px}.site-nav{margin-top:10px}header>.px-4{padding-left:10px;padding-right:10px}html{scroll-padding-top:158px}section,.anchor-offset{scroll-margin-top:158px}.paper-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px 20px;border-radius:18px}.paper-dialog h2{font-size:20px}.dialog-abstract{font-size:14px;line-height:1.85}.dialog-authors{font-size:12px}.dialog-topline{margin-bottom:8px}.p-8{padding:1.5rem}.highlight-action{float:none;display:block;margin-top:6px}#pubs ol>li>.font-semibold{font-size:14px}#contrib .sm\:grid-cols-3{grid-template-columns:1fr}.min-h-\[8rem\]{min-height:0}#contrib .min-h-\[8rem\]{min-height:104px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.card:hover{transform:none}}

.abstract-language-note{font-size:.8rem!important;font-weight:600;color:#475569}.abstract-original{margin-top:1.2rem;padding-top:1rem;border-top:1px solid #cbd5e1}.abstract-original summary{cursor:pointer;font-size:.85rem;font-weight:600;color:#2563eb}.abstract-original p{margin-top:.8rem}.dark .abstract-language-note{color:#cbd5e1}.dark .abstract-original{border-color:#334155}.dark .abstract-original summary{color:#93c5fd}
