/* Visual refinement layer for the expressive design. */
:root{--violet:#c9b8ff;--glass:linear-gradient(145deg,#ffffff0d,#ffffff04);--edge:#ffffff1c}

/* Navigation */
.site-nav a:not(.classic-link){position:relative;padding:8px 0}
.site-nav a:not(.classic-link):after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.site-nav a:not(.classic-link):hover:after{transform:scaleX(1)}
.site-nav a[aria-current=page]{box-shadow:none}.site-nav a[aria-current=page]:after{transform:scaleX(1)}
.brand-mark{text-shadow:0 0 22px #d9f99d55}

/* Hero */
.name-last{width:max-content;background:linear-gradient(100deg,#b3c4ff 10%,var(--violet) 48%,#d9f99d 92%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:name-flow 12s ease-in-out infinite alternate}
.name-last .name-cn{-webkit-text-fill-color:#c9d1e6;color:#c9d1e6}
@keyframes name-flow{to{background-position:100% 0}}
.hero-badge{display:inline-flex;align-items:center;gap:11px;margin-top:24px;padding:8px 15px 8px 13px;border:1px solid #d9f99d3d;border-radius:99px;background:linear-gradient(100deg,#d9f99d14,#b3c4ff0d);font-size:11px;color:#b9c6dc;transition:transform .25s,border-color .25s,background .25s}
.hero-badge strong{color:#eaf9cb;font-weight:600;letter-spacing:.3px}
.hero-badge .arrow{color:var(--accent);transition:transform .25s}
.hero-badge:hover{transform:translateY(-2px);border-color:#d9f99d88;background:linear-gradient(100deg,#d9f99d22,#b3c4ff14);color:#d8e2f5}
.hero-badge:hover .arrow{transform:translateX(4px)}
.pulse{position:relative;width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.pulse:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--accent);opacity:0;animation:pulse-ring 2.4s ease-out infinite}
@keyframes pulse-ring{0%{transform:scale(.4);opacity:.75}100%{transform:scale(1.5);opacity:0}}
.hero-actions{margin-top:26px}
.primary-link{box-shadow:0 8px 30px #d9f99d22;border-radius:8px}
.primary-link:hover{box-shadow:0 12px 38px #d9f99d3a}
.secondary-link{position:relative}.secondary-link:after{content:'';position:absolute;left:0;right:14px;bottom:-4px;height:1px;background:#d0d8e866;transition:background .2s}.secondary-link:hover:after{background:var(--accent)}
.clawd-console{border-radius:18px;border-color:#b9c9ff55;box-shadow:0 26px 80px #02061180,0 0 0 1px #0000,inset 0 1px #ffffff12,0 0 60px #6f86ff14}
.portrait-note{border-radius:14px;background:#182136cc}
.hero-bottom a:hover{color:var(--accent)}

/* Stats and venues */
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:-18px 0 26px;border:1px solid var(--edge);border-radius:18px;background:var(--glass);backdrop-filter:blur(16px);overflow:hidden}
.stat{padding:30px 34px 28px;position:relative}.stat+.stat{border-left:1px solid var(--edge)}
.stat-num{display:block;font:600 58px/1 var(--serif);letter-spacing:-2px;background:linear-gradient(120deg,#eef2ff,#b3c4ff 60%,#d9f99d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums}
.stat-label{display:block;margin-top:12px;font-size:12px;line-height:1.6;color:#9eadc6;max-width:230px}
.venue-marquee{display:flex;align-items:center;gap:26px;margin-bottom:10px;padding:2px 0}
.marquee-label{flex:none;font-size:9px;letter-spacing:2.2px;color:#8194b6}
.marquee-window{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.marquee-track{display:flex;gap:11px;width:max-content;margin:0;padding:4px 0;list-style:none;animation:marquee 58s linear infinite}
.marquee-track li{flex:none;padding:7px 15px;border:1px solid var(--edge);border-radius:99px;font-size:11px;color:#b6c3dc;background:#ffffff06;white-space:nowrap}
.marquee-track li:first-child,.marquee-track li:nth-child(10){color:#eaf9cb;border-color:#d9f99d44;background:#d9f99d10}
@keyframes marquee{to{transform:translateX(calc(-50% - 5.5px))}}
.marquee-window:hover .marquee-track,.motion-paused .marquee-track{animation-play-state:paused}

/* About */
.about-strip{padding-top:78px}
.about-strip h2{font-size:46px;letter-spacing:-1.4px}
.about-strip h2 em{background:linear-gradient(100deg,#b3c4ff,var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.socials a{padding:7px 14px;border:1px solid var(--edge);border-radius:99px;background:#ffffff05;color:#c6d1e6;transition:border-color .2s,background .2s,color .2s,transform .2s}
.socials a:hover{border-color:#d9f99d77;background:#d9f99d10;transform:translateY(-2px)}
.socials{gap:10px;margin-top:24px}

/* Section headings */
.section-heading{border-bottom:0;position:relative;padding-bottom:20px}
.section-heading:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#b3c4ff66,#ffffff14 40%,transparent)}
.section-heading h2{background:linear-gradient(100deg,#fff,#c3cffa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.section-heading h2 .heading-aside{-webkit-text-fill-color:#8e9db6}
.section-heading>a{padding:6px 14px;border:1px solid #d9f99d33;border-radius:99px;transition:background .2s,transform .2s}
.section-heading>a:hover{background:#d9f99d14;transform:translateX(3px)}

/* Spotlight cards */
.research-item,.publication,.stat,.news-list li.is-featured{--mx:50%;--my:0%}
.research-item:before,.publication:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx) var(--my),#b9c9ff24,transparent 46%);opacity:0;transition:opacity .35s;pointer-events:none}
.research-item:hover:before,.publication:hover:before{opacity:1}
.research-item>*,.publication>*{position:relative}
.research-item{box-shadow:inset 0 1px #ffffff10}
.research-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:26px;border:1px solid #ffffff24;border-radius:13px;background:#ffffff0b;transition:transform .35s,border-color .35s,background .35s}
.research-icon svg{width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.research-item:hover .research-icon{transform:rotate(-6deg) scale(1.08);border-color:#d9f99d66;background:#d9f99d12}
.research-index{position:absolute!important;top:27px;right:70px;margin:0!important;color:#5d6e8d;letter-spacing:1.5px}
.research-item h3{font-size:21px;margin-bottom:12px}
.research-item p{font-size:13px}

/* News timeline */
.news-list{position:relative;padding-left:0}
.news-list:before{content:'';position:absolute;left:5px;top:22px;bottom:22px;width:1px;background:linear-gradient(#d9f99d66,#ffffff1c 35%,#ffffff12)}
.news-list li{position:relative;padding:17px 0 17px 38px;border-bottom:0;grid-template-columns:105px 1fr}
.news-list li:before{content:'';position:absolute;left:0;top:23px;width:11px;height:11px;border-radius:50%;background:#0b101b;border:2px solid #6e82aa}
.news-list li.is-featured{margin:0 0 6px;padding:20px 24px 20px 38px;border:1px solid #d9f99d33;border-radius:14px;background:linear-gradient(110deg,#d9f99d12,#b3c4ff0b 60%,transparent)}
.news-list li.is-featured:before{left:10px;top:27px;border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px #d9f99d1c,0 0 18px #d9f99d77}
.news-list li.is-featured time{color:var(--accent)}
.news-list li.is-featured p{font-size:15px;line-height:1.7;color:#eaf0fb;padding-right:118px}
.news-list li.is-featured:after{content:'NEURIPS 2026';position:absolute;right:20px;top:18px;font-size:9px;letter-spacing:1.8px;color:#172018;background:var(--accent);padding:4px 9px;border-radius:99px;font-weight:700}
.news-list a{padding:2px 9px;border:1px solid #d9f99d33;border-radius:99px}.news-list a:hover{background:#d9f99d12}

/* Publications */
.pub-list{display:grid;gap:14px}
.publication{position:relative;padding:26px 28px;border:1px solid var(--edge);border-radius:16px;background:var(--glass);overflow:hidden;transition:border-color .3s,transform .3s}
.publication:hover{background:var(--glass);border-color:#b9c9ff55;transform:translateY(-3px)}
.publication:first-child,.publication:last-child{padding:26px 28px;border-bottom:1px solid var(--edge)}
.pub-year{font:600 22px/1.2 var(--serif);color:#c6d2f5}.pub-year small{color:#7f91b3;letter-spacing:1px;text-transform:uppercase}
.pub-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px!important}
.pub-tags span{padding:3px 10px;border:1px solid #b3c4ff33;border-radius:99px;font-size:10px;letter-spacing:.6px;color:#aebde0;background:#b3c4ff0d}
.pub-tags span+span:before{content:none}
.pub-tags .tag-conf{border-color:#d9f99d66;color:#172018;background:#d9f99d;font-weight:700}
.pub-tags .tag-survey{border-color:#d9f99d44;color:#d9f99d;background:#d9f99d0d}
.pub-title{font-size:17px}
.pub-links a,.pub-links summary{padding:4px 12px;border:1px solid #becfff30;border-radius:99px;transition:background .2s,border-color .2s}
.pub-links a:hover,.pub-links summary:hover{background:#becfff14;border-color:#becfff66}
.pub-links{gap:9px;margin-top:14px}
.filter-field input,.filter-field select{border-radius:12px;height:46px}
.filter-field input:focus,.filter-field select:focus{outline:0;border-color:#d9f99d88;box-shadow:0 0 0 3px #d9f99d1a}
.filters{border-radius:0}
.page-intro h1{background:linear-gradient(100deg,#fff,#b3c4ff 70%,var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.small-button{border-radius:99px}

/* Join banner and contact */
.join-banner{border-radius:22px;padding:50px 52px;background:radial-gradient(ellipse at 90% 0%,#d9f99d1c,transparent 55%),radial-gradient(ellipse at 10% 120%,#7b6dff2e,transparent 55%),#141c2e}
.join-banner>a{box-shadow:0 10px 34px #d9f99d26;transition:transform .25s,box-shadow .25s}.join-banner>a:hover{transform:translateY(-3px);box-shadow:0 14px 42px #d9f99d44;color:#172018}
.contact-block{border-radius:0 16px 16px 0}
.timeline li{padding:4px 0}
.timeline h3{font-size:16px}
.footer{border-top:1px solid var(--edge)}

/* Responsive */
@media(max-width:1000px){.stat{padding:24px 22px}.stat-num{font-size:46px}.about-strip h2{font-size:38px}.join-banner{padding:38px 34px}}
@media(max-width:700px){
  .hero-badge{margin-top:20px;font-size:10px;gap:8px;padding:7px 12px}
  .hero-badge span:not(.pulse):not(.arrow){display:none}
  .stats-strip{grid-template-columns:1fr;margin:-30px 0 22px}
  .stat{padding:20px 24px;display:flex;align-items:center;gap:20px}.stat+.stat{border-left:0;border-top:1px solid var(--edge)}
  .stat-num{font-size:40px;min-width:88px}.stat-label{margin:0;max-width:none}
  .venue-marquee{flex-direction:column;align-items:flex-start;gap:8px}.marquee-window{width:100%}
  .marquee-track li{padding:5px 11px;font-size:10px}.marquee-track{gap:7px}
  .about-strip h2{font-size:32px}
  .research-index{right:66px}
  .news-list li{grid-template-columns:1fr;gap:3px;padding:15px 0 15px 32px}
  .news-list li.is-featured{padding:17px 18px 17px 38px}
  .news-list li.is-featured p{padding-right:0}
  .news-list li.is-featured:after{position:static;display:inline-block;margin-top:10px;justify-self:start}
  .news-list li.is-featured:before{left:11px}
  .publication,.publication:first-child,.publication:last-child{padding:20px 18px;grid-template-columns:1fr;gap:6px}
  .pub-year{font-size:17px}
  .join-banner{padding:30px 24px;border-radius:18px}
}
/* All decorative motion follows the shared, persistent site toggle. */
@media print{.stats-strip,.venue-marquee,.hero-badge{display:none}.name-last,.section-heading h2,.page-intro h1{-webkit-text-fill-color:black;background:none}.publication{border:0;border-bottom:1px solid #ddd;background:none;border-radius:0;padding:12px 0}.pub-tags{display:none}}

/* Starfield backdrop */
.global-orbit{background:radial-gradient(ellipse 120% 80% at 50% 115%,#121b38 0%,#0b101b 62%)}
.global-orbit #star-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.global-orbit #orbital-canvas{opacity:.7}
@media print{#star-canvas{display:none}}

/* Large screens: scale the whole layout in proportion (factor set by the inline script in <head>). */
html{scroll-padding-top:calc(145px * var(--page-zoom,1))}
body.expressive>.site-header,body.expressive>main,body.expressive>div.wrap{zoom:var(--page-zoom,1)}
body.expressive .wrap{max-width:var(--wrap-max,1296px)}
.is-scaled .art-hero{min-height:640px;padding-bottom:70px}
.is-scaled .art-hero h1{font-size:118px}
.is-scaled .visual-space{height:520px}
@media print{body.expressive>.site-header,body.expressive>main,body.expressive>div.wrap{zoom:1}body.expressive .wrap{max-width:1296px}}

/* A full-viewport galaxy, with the reading column kept dark. */
.global-orbit{background:#060a17}
.global-orbit #orbital-canvas{opacity:.1}
.orbit-veil{background:linear-gradient(90deg,#060a17b8 0%,#060a1770 36%,#060a1710 72%),linear-gradient(0deg,#060a1740,transparent 35%,transparent 85%,#060a1730)}
.motion-toggle{padding:7px 13px!important;border:1px solid #b3c4ff4d;border-radius:99px;color:#dbe6ff;background:#b3c4ff0b;white-space:nowrap}
.motion-toggle:before{content:'Ⅱ';margin-right:7px;color:var(--accent)}
.motion-paused .motion-toggle:before{content:'▶'}
.motion-toggle:hover{background:#b3c4ff20;border-color:#b3c4ff99}
@media(max-width:700px){.global-orbit #orbital-canvas{opacity:.07}.orbit-veil{background:#060a1766}}
