*,:before,:after{box-sizing:border-box}:root{--bg:#f6f7fb;--surface:#fff;--surface-soft:#f0f4ff;--text:#151924;--text-muted:#525252;--text-soft:#151924e0;--primary:#2563eb;--primary-soft:#dbeafe;--border:#e5e7eb;--primary-alpha-4:var(--primary-alpha-4);--primary-alpha-8:var(--primary-alpha-8);--primary-alpha-10:var(--primary-alpha-10);--primary-alpha-12:var(--primary-alpha-12);--primary-alpha-16:var(--primary-alpha-16);--primary-alpha-18:var(--primary-alpha-18);--primary-alpha-20:var(--primary-alpha-20);--primary-alpha-24:var(--primary-alpha-24);--primary-alpha-25:var(--primary-alpha-25);--primary-alpha-30:var(--primary-alpha-30);--primary-alpha-40:var(--primary-alpha-40);--transition-fast:.2s ease;--transition-std:.3s ease;--shadow:0 18px 40px #0f172a14;--header-bg:#f6f7fbe6;--chip-bg:#fffc;--chip-border:var(--primary-alpha-12);--chip-text:var(--text-muted);--btn-bg:#fff;--btn-border:transparent;--btn-text:var(--text);--btn-shadow:0 12px 24px var(--primary-alpha-12);--btn-outline-bg:var(--primary-alpha-8);--btn-outline-border:var(--primary-alpha-18);--footer-bg:#0f172a;--footer-text:#e2e8f0;--footer-link:#bfdbfe;--toggle-bg:var(--primary-alpha-10);--toggle-border:var(--primary-alpha-25);--toggle-text:var(--text);--radius-lg:24px;--radius-md:18px;--radius-sm:12px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-size-min:.75rem;--font-size-xs:.8125rem;--font-size-sm:.875rem;--space-xs:clamp(.25rem, .5vw, .5rem);--space-sm:clamp(.5rem, 1vw, .75rem);--space-md:clamp(.75rem, 2vw, 1.5rem);--space-lg:clamp(1rem, 3vw, 2rem);--space-xl:clamp(1.5rem, 4vw, 3rem);--space-2xl:clamp(2rem, 5vw, 4rem);--profile-size:clamp(11.25rem, 25vw, 17.5rem);--thumbnail-width:clamp(8.75rem, 16vw, 12.5rem)}:root[data-theme=dark]{--bg:#050505;--surface:#0d0d0d;--surface-soft:#161616;--text:#f5f5f5;--text-muted:#a1a1aa;--text-soft:#f5f5f5c7;--primary:#60a5fa;--primary-soft:#60a5fa33;--border:#f4f4f51f;--shadow:0 18px 40px #000000a6;--header-bg:#050505d9;--chip-bg:#ffffff14;--chip-border:#ffffff29;--chip-text:var(--text);--btn-bg:#ffffff0f;--btn-border:#ffffff24;--btn-text:var(--text);--btn-shadow:0 12px 24px #000000a6;--btn-outline-bg:#60a5fa38;--btn-outline-border:#60a5fa66;--footer-bg:#000;--footer-text:#e4e4e7;--footer-link:#fafafa;--toggle-bg:#ffffff14;--toggle-border:#ffffff2e;--toggle-text:var(--text)}html{scroll-behavior:smooth;background:var(--bg)}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.68;transition:background-color .3s,color .3s;overflow-x:hidden}body.no-scroll{overflow:hidden}body[data-page-transition] main{will-change:opacity, transform;animation:.34s cubic-bezier(.22,1,.36,1) both page-enter}body[data-page-transition].page-is-leaving main{opacity:0;transition:opacity .18s,transform .18s;transform:translateY(.55rem)}@keyframes page-enter{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:translateY(0)}}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover,a:focus{color:#1d4ed8;text-decoration:underline}.skip-link{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;top:auto;left:-999px;overflow:hidden}.skip-link:focus{background:var(--primary);color:#fff;border-radius:var(--radius-sm);z-index:999;width:auto;height:auto;padding:.5rem 1rem;position:fixed;top:16px;left:16px}.container{width:min(1100px,100% - 3rem);margin:0 auto}.site-header{z-index:50;backdrop-filter:blur(16px);background:var(--header-bg);border-bottom:1px solid var(--border);transition:background .3s,border-color .3s;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0;display:flex}.site-nav{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.branding{flex-direction:column;gap:.2rem;display:flex}.brand-name{letter-spacing:-.01em;font-weight:600}.native-name{color:var(--text-muted);margin-left:.4rem;font-size:.68em;font-weight:500;display:inline-block;transform:translateY(-.1em)}.brand-role{color:var(--text-muted);font-size:.9rem}.brand-link{color:inherit;flex-direction:column;gap:.2rem;text-decoration:none;display:flex}.brand-link:hover,.brand-link:focus{color:inherit;text-decoration:none}.site-nav ul{align-items:center;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--text);padding:.25rem 0;font-weight:500;text-decoration:none;position:relative}.site-nav a:after{content:"";background:var(--primary);width:0;height:2px;transition:width .2s;position:absolute;bottom:-6px;left:0}.site-nav a:hover:after,.site-nav a:focus-visible:after,.site-nav a.active:after{width:100%}.site-nav a.active{color:var(--primary)}.nav-actions{align-items:center;gap:.5rem;display:inline-flex}.theme-toggle{background:var(--toggle-bg);border:1px solid var(--toggle-border);color:var(--toggle-text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .85rem;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.qr-toggle{background:var(--toggle-bg);border:1px solid var(--toggle-border);width:2.35rem;height:2.35rem;color:var(--toggle-text);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.theme-toggle:hover,.theme-toggle:focus-visible,.qr-toggle:hover,.qr-toggle:focus-visible{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.theme-toggle i,.qr-toggle i{font-size:.85rem}.theme-toggle .toggle-label{font-size:.85rem;font-weight:600}.qr-dialog{--qr-cyan:#0891b2;--qr-mint:#10b981;--qr-gold:#f59e0b;--qr-ink:#0f172aeb;width:min(22rem,100% - 2rem);color:var(--text);background:0 0;border:0;border-radius:20px;padding:0}.qr-dialog::backdrop{backdrop-filter:blur(10px)saturate(1.08);background:radial-gradient(circle at 50% 42%,#0ea5e93d,#0000 32rem),#0f172a6b}.qr-dialog__panel{isolation:isolate;background:linear-gradient(150deg, #fffffff0, #f0f9ffdb 44%, var(--surface) 100%);border:1px solid #0ea5e933;border-radius:20px;padding:1.05rem;position:relative;overflow:hidden;box-shadow:0 28px 68px #0f172a3d,inset 0 0 0 1px #ffffffb3}.qr-dialog[open] .qr-dialog__panel{animation:.34s cubic-bezier(.22,1,.36,1) both qr-panel-enter}.qr-dialog__scene{z-index:0;pointer-events:none;position:absolute;inset:0}.qr-dialog__scene:before{content:"";filter:blur(18px);opacity:.76;background:conic-gradient(#0891b205,#10b98142,#f59e0b2e,#0891b24d,#0891b205);animation:15s linear infinite qr-field-spin;position:absolute;inset:-42%}.qr-dialog__scene:after{content:"";opacity:.68;background:radial-gradient(circle at 50% 36%,#fffc,#0000 9rem),radial-gradient(circle at 54% 66%,#10b98133,#0000 8rem);border-radius:18px;position:absolute;inset:7%}.qr-dialog__grid{opacity:.48;background-image:linear-gradient(#0891b224 1px,#0000 1px),linear-gradient(90deg,#0891b224 1px,#0000 1px);background-size:1.35rem 1.35rem;animation:9s linear infinite qr-grid-drift;position:absolute;inset:-2rem;transform:rotate(-8deg);mask-image:radial-gradient(circle at 50% 48%,#000 0 42%,#0000 72%)}.qr-dialog__ring{border:1px solid #0891b247;border-radius:28%;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)rotate(0);box-shadow:inset 0 0 0 1px #ffffff61,0 0 26px #0891b224}.qr-dialog__ring--outer{width:19rem;height:19rem;animation:18s linear infinite qr-ring-spin}.qr-dialog__ring--inner{border-color:#10b9814d;width:13.75rem;height:13.75rem;animation:13s linear infinite reverse qr-ring-spin}.qr-dialog__trace{opacity:.7;background:linear-gradient(90deg,#0000,#0891b2cc,#0000);border-radius:999px;position:absolute;box-shadow:0 0 18px #0891b247}.qr-dialog__trace--one{width:9rem;height:1px;animation:5.4s ease-in-out infinite qr-trace-horizontal;top:26%;left:-20%}.qr-dialog__trace--two{background:linear-gradient(#0000,#10b981bf,#0000);width:1px;height:8.5rem;animation:6.2s ease-in-out infinite qr-trace-vertical;top:-16%;right:9%}.qr-dialog__trace--three{background:linear-gradient(90deg,#0000,#f59e0bc7,#0000);width:8rem;height:1px;animation:6.8s ease-in-out infinite reverse qr-trace-horizontal;bottom:17%;right:-22%}.qr-dialog__pulse{background:var(--qr-cyan);opacity:0;border-radius:2px;width:.42rem;height:.42rem;animation:4.8s ease-in-out infinite qr-pixel-float;position:absolute;box-shadow:0 0 18px #0891b280}.qr-dialog__pulse--one{bottom:21%;left:16%}.qr-dialog__pulse--two{background:var(--qr-mint);animation-delay:1.2s;top:18%;right:21%}.qr-dialog__pulse--three{background:var(--qr-gold);animation-delay:2.3s;bottom:30%;right:14%}.qr-dialog__close{z-index:3;border:1px solid var(--toggle-border);width:2rem;height:2rem;color:var(--toggle-text);cursor:pointer;background:#ffffffc7;border-radius:999px;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex;position:absolute;top:.75rem;right:.75rem}.qr-dialog__close:hover,.qr-dialog__close:focus-visible{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.qr-dialog__body{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:.6rem .25rem .25rem;display:flex;position:relative}.qr-dialog__eyebrow{color:var(--text-muted);margin:0;font-size:.78rem;font-weight:700}.qr-dialog__body h2{color:var(--text);margin:0;font-size:1.25rem;line-height:1.2}.qr-dialog__code{background:#fff;border:1px solid #0891b238;border-radius:16px;width:min(100%,16.5rem);padding:.82rem;position:relative;overflow:hidden;box-shadow:0 18px 34px #0891b229,inset 0 0 0 1px #ffffffe6}.qr-dialog__code:before,.qr-dialog__code:after{content:"";pointer-events:none;position:absolute}.qr-dialog__code:before{z-index:2;background:linear-gradient(var(--qr-cyan), var(--qr-cyan)) top left / 2.2rem 2px no-repeat, linear-gradient(var(--qr-cyan), var(--qr-cyan)) top left / 2px 2.2rem no-repeat, linear-gradient(var(--qr-mint), var(--qr-mint)) top right / 2.2rem 2px no-repeat, linear-gradient(var(--qr-mint), var(--qr-mint)) top right / 2px 2.2rem no-repeat, linear-gradient(var(--qr-gold), var(--qr-gold)) bottom left / 2.2rem 2px no-repeat, linear-gradient(var(--qr-gold), var(--qr-gold)) bottom left / 2px 2.2rem no-repeat, linear-gradient(var(--qr-cyan), var(--qr-cyan)) bottom right / 2.2rem 2px no-repeat, linear-gradient(var(--qr-cyan), var(--qr-cyan)) bottom right / 2px 2.2rem no-repeat;opacity:.64;border-radius:12px;inset:.42rem}.qr-dialog__code:after{z-index:3;mix-blend-mode:multiply;background:linear-gradient(#0000,#0891b252,#10b98133,#0000);border-radius:999px;height:32%;animation:3.5s ease-in-out infinite qr-code-sweep;top:-28%;left:.65rem;right:.65rem}.qr-dialog__code img{z-index:1;width:100%;height:auto;display:block;position:relative}.qr-dialog__url{max-width:100%;color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.85rem;font-weight:600}html[data-theme=dark] .qr-dialog{--qr-ink:#ffffffe6}html[data-theme=dark] .qr-dialog::backdrop{background:radial-gradient(circle at 50% 42%,#14b8a638,#0000 32rem),#000000a3}html[data-theme=dark] .qr-dialog__panel{background:linear-gradient(150deg, #0c121ef5, #030712eb 52%, var(--surface) 100%);border-color:#60a5fa47;box-shadow:0 28px 72px #000000b8,inset 0 0 0 1px #ffffff14}html[data-theme=dark] .qr-dialog__scene:after{background:radial-gradient(circle at 50% 36%,#60a5fa26,#0000 9rem),radial-gradient(circle at 54% 66%,#10b98126,#0000 8rem)}html[data-theme=dark] .qr-dialog__close{background:#0f172acc}@keyframes qr-panel-enter{0%{opacity:0;transform:translateY(.85rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes qr-field-spin{to{transform:rotate(1turn)}}@keyframes qr-grid-drift{to{background-position:1.35rem 1.35rem}}@keyframes qr-ring-spin{to{transform:translate(-50%,-50%)rotate(1turn)}}@keyframes qr-trace-horizontal{0%,to{opacity:0;transform:translate(0)}45%,62%{opacity:.72}to{transform:translate(24rem)}}@keyframes qr-trace-vertical{0%,to{opacity:0;transform:translateY(0)}45%,62%{opacity:.68}to{transform:translateY(25rem)}}@keyframes qr-pixel-float{0%,to{opacity:0;transform:translateY(0)scale(.72)rotate(0)}24%,70%{opacity:.78}to{transform:translateY(-2.4rem)scale(1)rotate(45deg)}}@keyframes qr-code-sweep{0%,12%{opacity:0;transform:translateY(0)}24%,66%{opacity:.8}to{opacity:0;transform:translateY(26rem)}}.mobile-menu-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.25rem;transition:color .2s;display:none}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{color:var(--primary)}.masthead{background:linear-gradient(140deg, var(--surface-soft), var(--bg));padding:clamp(4.5rem,8vw,7rem) 0 clamp(3.5rem,6vw,5rem)}.masthead-grid{gap:var(--space-xl);grid-template-columns:1fr;align-items:start;display:grid}.masthead-copy{flex-direction:column;gap:1.25rem;min-width:0;max-width:72ch;display:flex}.about-text{flex-direction:column;gap:.85rem;display:flex}.masthead-copy p{max-width:72ch;color:var(--text-soft);margin:0;font-size:1.02rem;line-height:1.78}.masthead-copy strong{color:var(--text);font-weight:700}.masthead-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.masthead-header h1{min-width:0;line-height:1.08}.profile-visual--mobile{flex-shrink:0;display:block!important}.profile-visual--mobile img{object-fit:cover!important;border-radius:50%!important;width:clamp(78px,22vw,118px)!important;height:clamp(78px,22vw,118px)!important;max-height:none!important;box-shadow:0 8px 20px #00000026!important}.masthead-aside{display:none!important}@media (width>=56rem){.masthead-grid{grid-template-columns:minmax(0,44rem) minmax(13rem,17.5rem);justify-content:space-between;gap:clamp(2rem,6vw,4rem)}.profile-visual--mobile{display:none!important}.masthead-aside{justify-content:center;align-items:flex-start;padding-top:clamp(6.5rem,9vw,8rem);display:flex!important}}@media (width>=64rem){.masthead-grid{grid-template-columns:minmax(0,44rem) minmax(13rem,17.5rem)}}h1,h2,h3,h4{letter-spacing:-.015em;margin:0;font-weight:600}h1{font-size:clamp(2.4rem,5vw,3.2rem)}h2{font-size:clamp(1.8rem,3.6vw,2.2rem)}.chip-list{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.chip-list li{background:var(--chip-bg);color:var(--chip-text);border:1px solid var(--chip-border);border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.85rem;display:inline-flex}.chip-list.vertical{flex-direction:column;align-items:flex-start}.action-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.action-buttons,.social-buttons{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=48rem){.action-row{flex-direction:column;align-items:flex-start}.social-buttons{width:100%;margin-top:.25rem}}.btn{border:1px solid var(--btn-border);cursor:pointer;background:var(--btn-bg);color:var(--btn-text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .85rem;font-size:.88rem;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.btn:hover,.btn:focus-visible{box-shadow:var(--btn-shadow);transform:translateY(-1px)}.btn.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.btn-primary:hover,.btn.btn-primary:focus-visible{background:#1d4ed8}.btn.btn-outline{background:var(--btn-outline-bg);color:var(--primary);border-color:var(--btn-outline-border)}.btn.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.btn-secondary:hover,.btn.btn-secondary:focus-visible{background:var(--surface-soft);border-color:var(--primary);color:var(--primary)}.profile-visual{justify-content:center;align-items:center;display:flex}.profile-visual img{width:var(--profile-size);border-radius:var(--radius-lg);object-fit:contain;height:auto;max-height:clamp(220px,40vw,350px);box-shadow:0 12px 24px #0000002e}.social-row{gap:.75rem;display:flex}.social-row a{background:var(--primary-soft);width:48px;min-width:44px;height:48px;min-height:44px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:inline-flex}.social-row a:hover,.social-row a:focus-visible{box-shadow:0 10px 20px var(--primary-alpha-20);transform:translateY(-2px)}.section{padding:5rem 0}.section:nth-of-type(odd){background:var(--surface)}.page-section{min-height:calc(100vh - 200px);padding:5rem 0}.page-title{margin-bottom:1rem;font-size:clamp(2rem,4vw,2.5rem)}.page-description{color:var(--text-muted);font-size:1.1rem}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem;display:flex}.section-heading.publications-heading{align-items:center;gap:1.5rem}.publication-toolbar{background:var(--surface-soft);border:1px solid var(--primary-alpha-12);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem;display:inline-flex}.view-toggle-btn{min-width:6rem;color:var(--text-muted);letter-spacing:.01em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative}.view-toggle-btn:hover,.view-toggle-btn:focus-visible{color:var(--text);border-color:var(--primary-alpha-24);background:var(--primary-alpha-8);box-shadow:0 0 0 1px var(--primary-alpha-8) inset}.view-toggle-btn:focus-visible{outline:3px solid var(--primary-alpha-25);outline-offset:2px}.view-toggle-btn.is-active{background:var(--primary-alpha-16);border-color:var(--primary-alpha-40);color:var(--primary);box-shadow:0 0 0 1px var(--primary-alpha-18) inset}.view-toggle-btn.is-active:hover,.view-toggle-btn.is-active:focus-visible{background:var(--primary-alpha-20)}.view-toggle-label{justify-content:center;align-items:center;line-height:1.1;display:inline-flex}.section-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:3rem;display:grid}.publication-year-group{margin-bottom:2.5rem}.publication-year-group:last-child{margin-bottom:0}.publication-year-header{color:var(--text);border-bottom:2px solid var(--primary-alpha-20);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.5rem;font-weight:700;display:flex}.publication-year-header:before{content:"";background:var(--primary);border-radius:2px;width:4px;height:1.25rem}.card-stack{gap:1.25rem;display:grid}.card-stack[data-animating=true] [data-view-card]{transition-delay:calc(var(--card-index,0) * 40ms)}.card-stack.view-transition [data-view-card],.card-stack.view-transition .publication-abstract,.card-stack.view-transition .chip-list{transition-property:transform,opacity,box-shadow,max-height,padding,margin;transition-duration:.45s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.card-stack[data-view=mini]{gap:.75rem}.card-stack[data-view=mini] [data-view-card]{grid-template-columns:var(--thumbnail-width) 1fr;align-items:stretch;gap:1rem;padding:1rem 1.25rem}.card-stack[data-view=mini] .publication-thumbnail-wrapper{width:var(--thumbnail-width);aspect-ratio:16/9;border-radius:.5rem;flex-shrink:0}.card-stack[data-view=mini] .publication-thumbnail--fallback{font-size:1.75rem}.card-stack[data-view=mini] .publication-thumbnail__venue-logo{width:60%;max-width:none;height:auto}.card-stack[data-view=mini] .publication-content{gap:.5rem}.card-stack[data-view=mini] .publication-header{display:block}.card-stack[data-view=mini] .publication-heading{align-content:start;gap:.25rem;min-width:0;display:grid}.card-stack[data-view=mini] .publication-venue-row{gap:.4rem .6rem;margin-top:.35rem}.card-stack[data-view=mini] .publication-badges{gap:.28rem}.card-stack[data-view=mini] .publication-heading h3{font-size:.95rem;font-weight:600;line-height:1.35}.card-stack[data-view=mini] .publication-authors{font-size:.82rem;line-height:1.35;display:block}.card-stack[data-view=mini] .publication-heading h3+.publication-authors{margin-top:0}.publication-authors .author-chip{display:inline}.publication-authors .author-separator{color:currentColor}.publication-authors .author-self{color:var(--primary);font-weight:700}.card-stack[data-view=mini] .badge-soft{padding:.25rem .6rem;font-size:.68rem}.card{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);gap:1rem;padding:1.75rem;display:grid;box-shadow:0 10px 30px #0f172a0f}.card h3{margin:0;font-size:1.1rem}.muted{color:var(--text-muted)}.badge-soft{background:var(--primary-alpha-12);color:var(--primary);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;padding:.32rem .8rem;font-size:.75rem;font-weight:600;display:inline-flex}.publication-card,.project-card{gap:1.25rem}.publication-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-md);grid-template-columns:1fr;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;display:grid;position:relative;overflow:hidden}.publication-thumbnail-wrapper{order:1}.publication-content{order:2}.publication-card:hover,.publication-card:focus-within{border-color:var(--primary-alpha-30);transform:translateY(-3px);box-shadow:0 16px 40px #0f172a1f}.publication-card.spotlight-card:hover,.publication-card.spotlight-card:focus-within,.publication-card.oral-card:hover,.publication-card.oral-card:focus-within{border-color:#d977066b;box-shadow:0 18px 44px #0f172a1c,0 0 0 3px #f59e0b1c}.publication-card>*{z-index:1;position:relative}.publication-thumbnail-wrapper{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--border);width:100%;position:relative;overflow:hidden}.publication-thumbnail{object-fit:contain;object-position:center;background:0 0;border:none;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.publication-thumbnail--mini{display:block}.publication-thumbnail--full,.card-stack[data-view=full] .publication-thumbnail--mini{display:none}.card-stack[data-view=full] .publication-thumbnail--full{display:block}.thumbnail-zoom-btn{cursor:zoom-in;z-index:1;background:0 0;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.thumbnail-zoom-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.thumbnail-zoom-icon{color:#fff;opacity:0;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;transition:opacity .2s;display:flex;position:absolute;bottom:.5rem;left:.5rem}.thumbnail-zoom-btn:hover .thumbnail-zoom-icon,.thumbnail-zoom-btn:focus-visible .thumbnail-zoom-icon{opacity:1}.image-modal{z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.image-modal[hidden]{display:none}.image-modal__backdrop{cursor:pointer;background:#000000e6;position:absolute;inset:0}.image-modal__content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.image-modal__close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;transition:background .2s;display:flex;position:absolute;top:-2.5rem;right:0}.image-modal__close:hover{background:#fff3}.image-modal__img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:85vh;box-shadow:0 20px 60px #00000080}.image-modal__title{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:1rem;font-size:.9rem;overflow:hidden}.publication-thumbnail--fallback{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:2.5rem;display:flex;position:absolute;inset:0}.publication-thumbnail__venue-logo{object-fit:contain;opacity:.85;width:80%;max-width:100px;height:auto}.publication-content{flex-direction:column;gap:1rem;min-width:0;display:flex}.publication-header{display:block}.publication-heading{gap:.5rem;min-width:0;display:grid}.publication-heading h3{color:var(--text);word-break:break-word;overflow-wrap:anywhere;font-size:1.1rem;font-weight:600;line-height:1.4}.publication-title-link{color:inherit;text-decoration:none;transition:color .2s,text-decoration-color .2s}.publication-title-link:hover,.publication-title-link:focus-visible{color:var(--primary);text-underline-offset:.18em;text-decoration:underline .08em}.publication-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.5rem;display:flex}.publication-venue-row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.5rem;display:flex}.publication-badges{flex-wrap:wrap;align-items:center;gap:.35rem;max-width:100%;display:inline-flex}.publication-venue{font-family:var(--font-mono);color:var(--primary);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;font-size:.88rem;font-weight:600;display:inline-flex}.publication-venue__logo{object-fit:contain;filter:drop-shadow(0 1px 2px #0f172a2e);flex-shrink:0;width:32px;height:32px}.publication-venue__suffix{color:var(--text-muted);margin-left:.2rem;font-weight:500}.publication-authors{color:var(--text-muted);word-break:break-word;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.5}.publication-abstract{color:var(--text-soft);background:var(--surface-soft);border-radius:var(--radius-sm);border-left:3px solid var(--primary-alpha-20);max-height:320px;margin:0;padding:1rem;font-size:.92rem;line-height:1.7;transition:opacity .28s,transform .32s,max-height .38s,margin .34s;overflow:hidden}.publication-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.spotlight-label,.oral-label{color:#7c4a03;letter-spacing:.06em;text-transform:uppercase;background:#f59e0b14;border:1px solid #d977063d;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .62rem;font-size:.66rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff8c}.spotlight-label:before,.oral-label:before{content:"";opacity:.72;background:currentColor;flex:none;width:.38rem;height:.38rem}.spotlight-label:before{border-radius:2px;transform:rotate(45deg)}.oral-label:before{border-radius:999px}.publication-actions{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.publication-card .chip-list{max-height:200px;transition:opacity .28s,transform .32s,max-height .38s,margin .34s;overflow:hidden}.card-stack[data-view=mini] .publication-abstract,.card-stack[data-view=mini] .publication-card .chip-list{display:none}.card-stack[data-view=mini] .publication-footer{border-top:none;padding-top:.5rem}.card-stack[data-view=mini] .publication-actions{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:flex-start;gap:.4rem;width:100%;overflow-x:auto}.card-stack[data-view=mini] .publication-actions::-webkit-scrollbar{display:none}.card-stack[data-view=mini] .action-chip{padding:.35rem .7rem;font-size:.78rem}.card-stack[data-view=mini] .spotlight-label,.card-stack[data-view=mini] .oral-label{letter-spacing:.08em;padding:.25rem .56rem;font-size:.62rem}.card-stack[data-view=mini] .spotlight-label:before,.card-stack[data-view=mini] .oral-label:before{width:.34rem;height:.34rem}.card-stack[data-view=mini] .publication-venue__logo{width:24px;height:24px}.card-stack[data-view=mini] .publication-card{border-color:var(--border)}.card-stack[data-view=mini] .publication-card:hover{border-color:var(--primary-alpha-25)}.card-stack[data-view=mini] .publication-actions a,.card-stack[data-view=mini] .publication-actions .cite-button{flex:none}.card-stack[data-view=mini] .publication-heading .publication-venue{letter-spacing:.04em;align-items:center;gap:.2rem;font-size:.82rem;display:inline-flex}.action-chip,.copy-button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.45rem 1rem;font-size:.9rem;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.action-chip{border-color:var(--primary-alpha-20);color:var(--primary);background:#ffffffa6;text-decoration:none}.action-chip:hover,.action-chip:focus-visible{background:var(--primary);color:#fff;border-color:#0000;transform:translateY(-1px)}.cite-button{cursor:pointer}.copy-button{background:var(--primary-alpha-12);color:var(--primary);cursor:pointer}.copy-button:hover,.copy-button:focus-visible{background:var(--primary);color:#fff;border-color:#0000;transform:translateY(-1px)}.citation-modal[hidden]{display:none}.citation-modal{z-index:1100;opacity:0;pointer-events:none;background:#0009;place-items:center;padding:1.5rem;transition:opacity .2s;display:grid;position:fixed;inset:0}.citation-modal.is-visible{opacity:1;pointer-events:auto}.citation-modal__content{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);gap:1rem;width:min(560px,100%);padding:2rem;display:grid;position:relative;box-shadow:0 24px 60px #00000073}.citation-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1;transition:color .2s,transform .2s;position:absolute;top:.7rem;right:.9rem}.citation-modal__close:hover,.citation-modal__close:focus-visible{color:var(--text);transform:scale(1.05)}.citation-modal__hint{margin:0;font-size:.9rem}.citation-modal__text{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background:var(--primary-alpha-8);border-radius:var(--radius-md);cursor:pointer;max-height:320px;margin:0;padding:1rem;font-size:.82rem;transition:background .2s,box-shadow .2s;overflow:auto}.citation-modal__text:hover{background:var(--primary-alpha-12)}.citation-modal__text:focus-visible{outline-offset:4px;outline:2px solid #2563eb73}.citation-modal__text.copied{background:#10b98133;box-shadow:0 0 0 2px #10b98159}.citation-modal .copy-button{justify-self:start}.citation-modal .copy-button:focus-visible{outline-offset:3px;outline:2px solid #2563eb73}.citation-modal .copy-button:disabled{opacity:.6;cursor:not-allowed}.no-scroll{overflow:hidden}.footer{background:var(--footer-bg);color:var(--footer-text);text-align:center;padding:2.5rem 0}.footer p{margin:0}.footer-updated{color:var(--footer-text);opacity:.72;margin-top:.35rem;font-size:.85rem}.footer a{color:var(--footer-link)}html[data-theme=dark] a:hover,html[data-theme=dark] a:focus{color:#e0f2fe}html[data-theme=dark] .card,html[data-theme=dark] .publication-card{border-color:#ffffff14;box-shadow:0 12px 32px #000000b3}html[data-theme=dark] .publication-card{background:linear-gradient(135deg, #ffffff0f, #ffffff05) var(--surface)}html[data-theme=dark] .publication-card:before{background:radial-gradient(circle at 0 0,#ffffff14,#0000 55%)}html[data-theme=dark] .publication-card.spotlight-card:hover,html[data-theme=dark] .publication-card.spotlight-card:focus-within,html[data-theme=dark] .publication-card.oral-card:hover,html[data-theme=dark] .publication-card.oral-card:focus-within{border-color:#fbbf2470;box-shadow:0 18px 46px #0000009e,0 0 0 3px #fbbf241f}html[data-theme=dark] .spotlight-label,html[data-theme=dark] .oral-label{color:#f8d982;background:#fbbf241a;border-color:#fbbf2442;box-shadow:inset 0 1px #ffffff14}html[data-theme=dark] .publication-thumbnail{border-color:#ffffff1a}html[data-theme=dark] .publication-thumbnail--fallback{color:var(--text-muted)}html[data-theme=dark] .publication-thumbnail__venue-logo{opacity:.9}html[data-theme=dark] .publication-toolbar{background:#0d0d0dd9;border:1px solid #60a5fa47}html[data-theme=dark] .view-toggle-btn{color:#e2e8f0bf}html[data-theme=dark] .view-toggle-btn:hover,html[data-theme=dark] .view-toggle-btn:focus-visible{color:#e2e8f0f2;background:#60a5fa2e;border-color:#60a5fa59;box-shadow:inset 0 0 0 1px #60a5fa1f}html[data-theme=dark] .view-toggle-btn.is-active{color:#bfdbfef5;background:#60a5fa47;border-color:#bfdbfe80;box-shadow:inset 0 0 0 1px #bfdbfe33}html[data-theme=dark] .view-toggle-btn.is-active:hover,html[data-theme=dark] .view-toggle-btn.is-active:focus-visible{background:#60a5fa57}html[data-theme=dark] .author-self{color:#60a5faeb}html[data-theme=dark] .badge-soft{color:var(--text);background:#ffffff14}html[data-theme=dark] .action-chip{color:var(--text);background:#ffffff14;border-color:#ffffff2e}html[data-theme=dark] .copy-button{color:var(--text);background:#ffffff14}html[data-theme=dark] .citation-modal__text{background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff14}html[data-theme=dark] .citation-modal__text:hover{background:#ffffff14}html[data-theme=dark] .citation-modal__text:focus-visible{outline:2px solid #fff6}html[data-theme=dark] .citation-modal__text.copied{background:#22c55e2e;box-shadow:0 0 0 2px #22c55e47}html[data-theme=dark] .citation-modal .copy-button:focus-visible{outline:2px solid #ffffff59}@media (width<=880px){.site-nav{gap:1rem}.site-nav ul{flex-wrap:wrap;justify-content:flex-end}.theme-toggle{padding:.4rem .8rem}.qr-toggle{width:2.25rem;height:2.25rem}.masthead{padding-top:6rem}}@media (width<=768px){.card-stack[data-view=mini] [data-view-card]{grid-template-columns:1fr;align-items:start}.card-stack[data-view=mini] .publication-thumbnail-wrapper{width:100%;margin-bottom:.75rem}.card-stack[data-view=mini] .publication-thumbnail__venue-logo{width:50%;max-width:5.625rem}}@media (width<=640px){.header-inner{flex-direction:row;align-items:center;padding:.75rem 0}.mobile-menu-toggle{margin-left:auto;display:flex}.site-nav{background:var(--header-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);opacity:0;flex-direction:column;align-items:stretch;gap:0;width:100%;max-height:0;transition:max-height .3s,opacity .3s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.site-nav.is-open{opacity:1;overscroll-behavior:contain;max-height:min(400px,100dvh - 60px);padding:1rem 0;overflow-y:auto}.site-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%;padding:0 1.5rem}.site-nav li{width:100%}.site-nav a{border-bottom:1px solid var(--border);padding:.75rem 0;display:block}.site-nav li:last-child a{border-bottom:none}.nav-actions{grid-template-columns:2.75rem minmax(0,1fr);align-self:stretch;gap:.5rem;margin:.5rem 1.5rem 0;display:grid}.nav-actions .theme-toggle{justify-content:center;align-self:stretch;margin:0}.nav-actions .qr-toggle{width:100%;height:auto;min-height:2.55rem}.masthead{padding-top:4.25rem}.masthead-header{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:.75rem;display:grid}.masthead-header h1{overflow-wrap:anywhere;font-size:clamp(2.05rem,10vw,2.7rem)}.masthead-header .native-name{margin-top:.45rem;margin-left:0;display:block}.masthead-copy p{overflow-wrap:break-word;font-size:1rem;line-height:1.72}.action-buttons,.social-buttons{width:100%}.action-buttons .btn,.social-buttons .btn{flex:auto;min-width:0}.social-row{justify-content:center}.section-heading{flex-direction:column;align-items:flex-start;gap:1rem}.section-heading.publications-heading{flex-direction:column;align-items:flex-start}.publication-toolbar{justify-content:center;width:100%}.publication-card{gap:1rem;padding:1.25rem}.publication-thumbnail{border-radius:.625rem}.publication-thumbnail--fallback{font-size:1.75rem}.publication-thumbnail__venue-logo{width:50%;max-width:5rem}.publication-content{gap:.75rem}.publication-header{grid-template-columns:1fr;gap:.5rem}.publication-meta{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.4rem}.publication-heading h3{font-size:.95rem;line-height:1.4}.publication-authors{font-size:.82rem}.publication-venue{font-size:.8rem}.publication-abstract{padding:.75rem;font-size:.85rem;line-height:1.55}.publication-card .chip-list{gap:.35rem}.publication-card .chip-list li{padding:.3rem .55rem;font-size:.72rem}.publication-footer{padding-top:.5rem}.publication-actions{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:flex-start;gap:.35rem;overflow-x:auto}.publication-actions::-webkit-scrollbar{display:none}.action-chip{flex-shrink:0;padding:.4rem .6rem;font-size:.75rem}.spotlight-label,.oral-label{font-size:var(--font-size-min);border-radius:999px;padding:.22rem .5rem}.spotlight-label:before,.oral-label:before{width:.32rem;height:.32rem}.card-stack[data-view=mini]{gap:.5rem}.card-stack[data-view=mini] [data-view-card]{gap:.75rem;padding:.85rem 1rem}.card-stack[data-view=mini] .publication-thumbnail__venue-logo{width:40%;max-width:3.75rem}.card-stack[data-view=mini] .publication-header{grid-template-columns:1fr;gap:.35rem}.card-stack[data-view=mini] .publication-meta{flex-direction:row;justify-content:flex-start;gap:.35rem}.card-stack[data-view=mini] .publication-heading h3{font-size:.88rem}.card-stack[data-view=mini] .publication-authors{font-size:.78rem}.card-stack[data-view=mini] .publication-heading .publication-venue{font-size:.75rem}.card-stack[data-view=mini] .publication-actions{justify-content:flex-start}.card-stack[data-view=mini] .spotlight-label,.card-stack[data-view=mini] .oral-label{font-size:var(--font-size-min);padding:.18rem .4rem}}@media (width<=400px){.container{width:calc(100% - 1.25rem)}.publication-card{gap:.75rem;padding:1rem}.publication-thumbnail{border-radius:.5rem}.publication-thumbnail--fallback{font-size:1.4rem}.publication-heading h3{font-size:.9rem}.publication-meta{gap:.3rem}.spotlight-label,.oral-label{font-size:var(--font-size-min);padding:.18rem .4rem}.action-chip{padding:.3rem .6rem;font-size:.75rem}.card-stack[data-view=mini] [data-view-card]{gap:.5rem;padding:.65rem .75rem}.card-stack[data-view=mini] .publication-thumbnail-wrapper{margin-bottom:.5rem}.card-stack[data-view=mini] .publication-heading h3{font-size:.85rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.card-stack.view-transition [data-view-card],.card-stack.view-transition .publication-abstract,.card-stack.view-transition .chip-list,.site-nav{transition:none!important}body[data-page-transition] main{animation:none!important;transform:none!important}body[data-page-transition].page-is-leaving main{opacity:1;transform:none}.qr-dialog__scene:before,.qr-dialog__grid,.qr-dialog__ring,.qr-dialog__trace,.qr-dialog__pulse,.qr-dialog__code:after{animation:none!important}.qr-dialog__trace,.qr-dialog__pulse,.qr-dialog__code:after{opacity:0!important}}.card-stack{container:pub-stack/inline-size}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.btn:focus-visible,.action-chip:focus-visible,.cite-button:focus-visible,.theme-toggle:focus-visible,.qr-toggle:focus-visible,.qr-dialog__close:focus-visible{outline:3px solid var(--primary);outline-offset:2px;z-index:1}.skip-link:focus{z-index:9999;min-height:44px;padding:.75rem 1.25rem;font-weight:600;box-shadow:0 4px 12px #0000004d}
