@font-face{font-family:Linux Libertine Display;src:url(/fonts/LinLibertine_DR.otf) format("opentype");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:Linux Libertine;src:url(/fonts/LinLibertine_R.otf) format("opentype");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:Linux Libertine;src:url(/fonts/LinLibertine_RB.otf) format("opentype");font-weight:700;font-style:normal;font-display:optional}@font-face{font-family:Linux Libertine;src:url(/fonts/LinLibertine_RI.otf) format("opentype");font-weight:400;font-style:italic;font-display:optional}@font-face{font-family:Linux Libertine;src:url(/fonts/LinLibertine_RBI.otf) format("opentype");font-weight:700;font-style:italic;font-display:optional}@font-face{font-family:Linux Biolinum;src:url(/fonts/LinBiolinum_R.otf) format("opentype");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:Linux Biolinum;src:url(/fonts/LinBiolinum_RB.otf) format("opentype");font-weight:700;font-style:normal;font-display:optional}@font-face{font-family:Linux Biolinum;src:url(/fonts/LinBiolinum_RI.otf) format("opentype");font-weight:400;font-style:italic;font-display:optional}@plugin "@tailwindcss/typography";:root,[data-theme=light]{--ink:#18181b;--paper:#f5f5f2;--gray:#8a8a8a;--gold:#7a5e18;--bg:var(--paper);--bg-surface:#faf9f5;--card-border:#e6e6e2;--rule:#d9d8d2;--bg-nav:var(--ink);--text:var(--ink);--text-nav:var(--paper);--text-muted:var(--gray);--border:var(--gray);--accent:var(--gray);--accent-hover:var(--gray);--accent-award:var(--gold);--shadow:rgba(0,0,0,0.05);--grid-ink:transparent;--overlay:var(--paper);--on-dark:#e8e6df;--on-dark-muted:var(--gray);--on-dark-faint:var(--gray);--on-dark-border:var(--gray);--on-dark-hairline:var(--gray)}[data-theme=dark]{--ink:#18181b;--paper:#e8e6df;--gray:#8a8a8a;--gold:#7a5e18;--bg:var(--ink);--bg-surface:#1f1f21;--card-border:#27272a;--rule:#3a3a3d;--bg-nav:var(--ink);--text:var(--paper);--text-nav:var(--paper);--text-muted:var(--gray);--border:var(--gray);--accent:var(--gray);--accent-hover:var(--gray);--accent-award:var(--gold);--shadow:rgba(0,0,0,0.4);--grid-ink:transparent;--overlay:var(--ink);--on-dark:#e8e6df;--on-dark-muted:var(--gray);--on-dark-faint:var(--gray);--on-dark-border:var(--gray);--on-dark-hairline:var(--gray)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}*{hyphens:none!important;-webkit-hyphens:none!important;-ms-hyphens:none!important;-webkit-tap-highlight-color:transparent}button{-webkit-appearance:none;-moz-appearance:none;appearance:none}html{min-height:100%;scroll-behavior:smooth;transition:background-color .3s ease,color .3s ease}body{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg);color:var(--text);font-family:Linux Libertine,Georgia,Times New Roman,serif;font-size:1.0625rem;line-height:1.5;text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{flex:1 0 auto;display:block;touch-action:pan-y}h1,h2,h3,h4,h5,h6{font-family:Linux Libertine Display,Linux Libertine,Georgia,serif;line-height:1.2;color:var(--text);text-align:left}li,p{text-align:left}.abstract-text{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.ui-label,button{font-family:Linux Biolinum,system-ui,sans-serif}.hero-inner{display:flex;flex-direction:column;align-items:center;gap:1.75rem}.hero-portrait{flex-shrink:0}.hero-portrait-img{width:200px;height:240px;border-radius:0;object-fit:cover;object-position:center top;background-color:#f5f5f2;border:1px solid var(--on-dark-hairline);box-shadow:0 2px 14px rgba(0,0,0,.45);display:block}@media (max-width:639px){.hero-portrait-img{width:150px;height:180px}}@media (min-width:640px){.hero-inner{flex-direction:row;align-items:center;gap:3.2rem}.hero-portrait{align-self:center}}.mono{font-family:IBM Plex Mono,Courier New,monospace;font-size:.8125rem;letter-spacing:.03em}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{text-decoration:underline}.section-primary{background-color:var(--bg)}.section-surface{background-color:var(--bg-surface)}.section-nav{background-color:var(--bg-nav);color:var(--text-nav)}section{width:100%}.section-header-rule{display:flex;align-items:center;gap:1rem;margin-bottom:.7rem}.section-header-rule h2{font-family:Linux Libertine Display,Linux Libertine,serif;font-size:clamp(1.35rem,3vw,1.85rem);letter-spacing:-.01em;white-space:nowrap;color:var(--text)}.section-header-rule:after{content:"";display:block;flex:1 1;height:1px;background-color:var(--rule)}html.theme-anim-off,html.theme-anim-off *,html.theme-anim-off :after,html.theme-anim-off :before{transition:none!important}.abstract-body{overflow:hidden;max-height:0;transition:max-height .4s ease}.abstract-body.open{max-height:600px}.lightbox-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out}.lightbox-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}.paper-figures{display:grid;grid-template-columns:1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:.75rem}@media (min-width:600px){.paper-figures{grid-template-columns:repeat(2,1fr)}}[data-theme=dark]{scrollbar-color:var(--border) transparent}.prose-blog p{margin-bottom:1.25rem;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.prose-blog h2{font-size:1.35rem;margin-top:2rem;margin-bottom:.75rem}.prose-blog h2,.prose-blog h3{font-family:Linux Libertine Display,Linux Libertine,serif;color:var(--text)}.prose-blog h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem}.prose-blog a{color:var(--accent);text-decoration:underline}.prose-blog ol,.prose-blog ul{padding-left:1.5rem;margin-bottom:1.25rem}.prose-blog li{margin-bottom:.3rem}.prose-blog blockquote{border-left:3px solid var(--border);padding-left:1rem;font-style:italic;color:var(--text-muted);margin:1.5rem 0}.prose-blog code{font-family:IBM Plex Mono,monospace;font-size:.875em;background:var(--bg-surface);border:1px solid var(--border);border-radius:3px;padding:1px 5px}.container-wide{max-width:1120px;margin:0 auto;padding:0 1.75rem}.container-narrow{max-width:780px;margin:0 auto;padding:0 1.75rem}@keyframes swipe-slide-in-right{0%{transform:translateX(40px);opacity:0}}@keyframes swipe-slide-in-left{0%{transform:translateX(-40px);opacity:0}}@keyframes swipe-slide-out-left{to{transform:translateX(-40px);opacity:0}}@keyframes swipe-slide-out-right{to{transform:translateX(40px);opacity:0}}[data-swipe-dir=left]::view-transition-old(root){animation:swipe-slide-out-left .28s ease}[data-swipe-dir=left]::view-transition-new(root){animation:swipe-slide-in-right .28s ease}[data-swipe-dir=right]::view-transition-old(root){animation:swipe-slide-out-right .28s ease}[data-swipe-dir=right]::view-transition-new(root){animation:swipe-slide-in-left .28s ease}.hero-container{padding:2.5rem 4.25rem}@media (max-width:640px){.hero-container{padding:1.75rem 1.25rem}}.pres-cols{column-count:2;column-gap:2.5rem}@media (max-width:640px){.pres-cols{column-count:1}}.paper-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr))}.paper-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:900px){.paper-grid,.paper-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.paper-grid,.paper-grid-2{grid-template-columns:1fr}}.paper-tile{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease}a.paper-tile:focus-visible,a.paper-tile:hover{transform:translateY(-2px);border-color:var(--text-muted);text-decoration:none;outline:none}.paper-tile-visual{aspect-ratio:16/10;background:var(--bg-surface);display:grid;place-items:center;overflow:hidden}.paper-tile-visual img{width:100%;height:100%;object-fit:contain;padding:6px}.paper-tile-visual img.tile-fill{object-fit:cover;padding:0}.paper-tile-number{text-align:center;color:var(--text);padding:0 1rem}.paper-tile-number .mono{display:block;font-size:2.2rem;line-height:1}.paper-tile-number small{display:block;margin-top:.35rem;font-family:Linux Biolinum,system-ui,sans-serif;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.paper-tile-blank{width:100%;height:100%;background:var(--bg)}.paper-tile-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.paper-tile-eyebrow{font-size:.9rem;color:var(--text-muted)}.paper-tile-eyebrow,.paper-tile-title{font-family:Linux Libertine,Georgia,serif}.paper-tile-title{font-weight:700;font-size:1.05rem;line-height:1.32;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.paper-tile-coauthors{font-size:.88rem;color:var(--text-muted);white-space:normal;overflow-wrap:break-word}.paper-tile-award,.paper-tile-coauthors{font-family:Linux Libertine,serif;font-style:italic}.paper-tile-award{font-size:.83rem;color:var(--accent-award)}.paper-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:5vh 5vw;border:none;background:var(--overlay);color:var(--text);overflow-y:auto}.paper-dialog::-webkit-backdrop{background:var(--overlay)}.paper-dialog::backdrop{background:var(--overlay)}.paper-dialog[open]{animation:dialog-in .15s ease-out}@keyframes dialog-in{0%{opacity:0}to{opacity:1}}.paper-dialog-panel{max-width:820px;width:100%;margin:0 auto;background:var(--bg-surface);border:1px solid var(--border);padding:1.4rem 1.6rem 1.6rem}.paper-dialog-panel .paper-card{border:none;padding:0;background:transparent}.paper-dialog-close{top:20px;right:calc(20px + var(--dialog-sbw, 0px));font:1.4rem/1 Linux Biolinum,system-ui,sans-serif;background:none;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.paper-dialog-close,.theme-toggle{position:fixed;z-index:10000;color:var(--text-muted);cursor:pointer}.theme-toggle{right:16px;bottom:16px;width:36px;height:36px;border:1px solid var(--border);background:var(--bg-surface);display:grid;place-items:center;font-size:1rem;line-height:1;box-shadow:0 2px 10px var(--shadow);outline:none}@media (max-width:600px){.paper-dialog{padding:5vh 4vw}}@media (prefers-reduced-motion:reduce){.paper-dialog[open]{animation:none}.paper-tile{transition:none}}.paper-tile-compact .paper-tile-body{padding:.9rem 1rem;gap:.3rem}.paper-tile-compact .paper-tile-title{-webkit-line-clamp:2;font-size:.9rem}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px);background-size:40px 40px;animation:grid-drift 40s linear infinite}@keyframes grid-drift{to{background-position:-40px 0}}@media (prefers-reduced-motion:reduce){body:before{animation:none}}.chart-panel,.paper-card,.paper-dialog,.paper-tile,a[style*=border-radius],article,button{border-radius:0!important}.chart-panel,.paper-card,article{border-left-width:1px!important}.chart-panel,.paper-tile,article:not(.paper-card){background:var(--bg-surface)!important;border:1px solid var(--card-border)!important;box-shadow:0 1px 3px var(--shadow)}.paper-dialog .paper-card{border:none!important}a.paper-tile{position:relative}a.paper-tile:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);opacity:0;transition:opacity .15s ease;z-index:3;pointer-events:none}a.paper-tile:focus-visible:after,a.paper-tile:hover:after{opacity:1}.sc{font-family:Linux Libertine,serif;font-feature-settings:"smcp","onum";text-transform:lowercase;letter-spacing:.08em}.smallcaps{font-family:Linux Libertine,Georgia,serif;font-variant-caps:small-caps;font-feature-settings:"smcp","onum","smcp";letter-spacing:.03em}.venue-year{font-variant-caps:normal;font-feature-settings:normal;letter-spacing:0}.mono,.year-tag,time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.section-numeral{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;color:var(--text-muted);margin-right:.6rem}.lightbox-overlay,.paper-dialog{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.lightbox-overlay::-webkit-scrollbar,.paper-dialog::-webkit-scrollbar{width:8px}.lightbox-overlay::-webkit-scrollbar-thumb,.paper-dialog::-webkit-scrollbar-thumb{background:var(--border)}.lightbox-overlay::-webkit-scrollbar-track,.paper-dialog::-webkit-scrollbar-track{background:transparent}