@font-face{font-family:ibm plex sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/ibm-plex-sans-var.woff2)format('woff2')}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400.woff2)format('woff2')}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2)format('woff2')}:root{--bg:#ffffff;--ink:#14181a;--muted:#5e676c;--accent:#004659;--accent-soft:#e4edf0;--rule:#d9dde0}*{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:ibm plex sans,helvetica neue,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:ibm plex mono,monospace}.frame{max-width:1080px;margin:0 auto;padding:0 2rem}.site-header{border-bottom:1px solid var(--ink)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;flex-wrap:wrap;gap:.6rem}.topbar .name{font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--ink)}.topbar .name:hover{text-decoration:none}.topbar .name span{color:var(--accent)}.topbar nav{font-size:.8rem;font-weight:500}.topbar nav a{color:var(--ink);margin-left:1.6rem}.topbar nav a:first-child{margin-left:0}.topbar nav a:hover,.topbar nav a.active{color:var(--accent);text-decoration:none}.topbar nav .langs{margin-left:1.6rem;padding-left:1.2rem;border-left:1px solid var(--rule)}.topbar nav .lang{font-family:ibm plex mono,monospace;font-size:.7rem;color:var(--muted);margin-left:.7rem}.topbar nav .lang:first-child{margin-left:0}.topbar nav .lang.active{color:var(--accent)}.hero{padding:4rem 0 3.2rem;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3.5rem;align-items:start}.hero .eyebrow{font-family:ibm plex mono,monospace;font-size:.68rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.hero h1{font-size:2.3rem;font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:.7rem 0 .2rem}.hero .role{font-size:1.2rem;font-weight:500;color:var(--muted);line-height:1.3;letter-spacing:-.01em}.hero .sub{margin-top:1.4rem;color:var(--ink);font-size:1.05rem;max-width:56ch}.hero .sub strong{font-weight:600}.hero-side{font-size:.8rem;border-top:3px solid var(--accent);padding-top:1.1rem}.hero-side .k{font-family:ibm plex mono,monospace;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:.2rem}.hero-side .block{margin-bottom:1.1rem}.areas{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}.areas a,.areas span{font-family:ibm plex mono,monospace;font-size:.68rem;border:1px solid var(--rule);padding:.25rem .55rem;color:var(--muted)}.areas a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none;background:var(--accent-soft)}section{padding:3rem 0;border-bottom:1px solid var(--rule)}.sechead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem}.sechead h2{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.sechead h2 .idx{font-family:ibm plex mono,monospace;color:var(--accent);margin-right:.8rem;font-weight:400}.sechead a{font-size:.78rem;font-family:ibm plex mono,monospace}.questions{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}.q{background:var(--bg);display:grid;grid-template-columns:4.5rem 1fr;gap:1.2rem;padding:1.4rem;align-items:baseline}.q .qn{font-family:ibm plex mono,monospace;font-size:1.6rem;color:var(--accent);font-weight:400;line-height:1}.q .qt{font-size:1.02rem;font-weight:500;line-height:1.35}.q .qd{font-size:.86rem;color:var(--muted);margin-top:.35rem;max-width:64ch}.compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:.5rem}.compare .col{background:var(--bg);padding:1.4rem}.compare .col.accent{background:var(--accent-soft)}.compare .col h3{font-size:.72rem;font-family:ibm plex mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.6rem}.compare .col p{font-size:.9rem;color:#3a4145}.concept-def{font-size:1rem;color:#3a4145;max-width:68ch}.concept-def strong{font-weight:600;color:var(--ink)}.keybox{border:1px solid var(--rule);border-top:3px solid var(--accent);background:var(--accent-soft);padding:1.3rem 1.6rem;margin-top:1.4rem;max-width:720px}.keybox .keytitle{font-family:ibm plex mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);display:block;margin-bottom:.7rem}.keybox ul{list-style:none}.keybox li{font-size:.92rem;color:#3a4145;padding:.3rem 0 .3rem 1.2rem;position:relative}.keybox li::before{content:"—";position:absolute;left:0;color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.grid.two{grid-template-columns:repeat(2,1fr)}.cell{background:var(--bg);padding:1.4rem 1.4rem 1.6rem;color:var(--ink);display:block}a.cell:hover{background:var(--accent-soft);text-decoration:none}.cell .tag{font-family:ibm plex mono,monospace;font-size:.65rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.cell h3{font-size:1.02rem;font-weight:600;margin:.55rem 0 .5rem;line-height:1.3}.cell p{font-size:.84rem;color:var(--muted);line-height:1.5}.cell .with{margin-top:.8rem;font-size:.72rem;color:var(--muted)}.wp{display:grid;grid-template-columns:1fr 3fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--rule)}.wp:last-of-type{border-bottom:none}.wp-meta .tag{font-family:ibm plex mono,monospace;font-size:.68rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;display:block}.wp-meta .status{font-family:ibm plex mono,monospace;font-size:.68rem;color:var(--muted);display:block;margin-top:.4rem}.wp-body h2{font-size:1.15rem;font-weight:600;margin-bottom:.6rem}.wp-body p{font-size:.92rem;color:#3a4145;max-width:64ch}.wp-body .relk{font-family:ibm plex mono,monospace;font-size:.65rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;display:block;margin:.9rem 0 .25rem}.wp-body ul{list-style:none}.wp-body li{padding:.2rem 0;color:#3a4145;font-size:.88rem;max-width:64ch}.wp-body li .lab{font-family:ibm plex mono,monospace;font-size:.72rem;color:var(--muted)}.people{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.person{background:var(--bg);padding:1.3rem 1.4rem}.person.pi{border-top:3px solid var(--accent)}.person .pname{font-size:1.02rem;font-weight:600}.person .prole{font-size:.82rem;color:var(--muted);margin-top:.2rem}.person .paff{font-family:ibm plex mono,monospace;font-size:.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-top:.5rem}.person .plink{font-family:ibm plex mono,monospace;font-size:.72rem;margin-top:.5rem;display:block}.people-group{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin:2.4rem 0 1.1rem;color:var(--accent)}table.pubs{width:100%;border-collapse:collapse;font-size:.9rem}table.pubs td{padding:.85rem 0;border-bottom:1px solid var(--rule);vertical-align:baseline}td.yr{width:5.5rem;font-family:ibm plex mono,monospace;font-size:.76rem;color:var(--accent)}td.cite .t{font-weight:600}td.cite .v{color:var(--muted);font-size:.84rem;display:block;margin-top:.15rem}td.cite .psum{color:#3a4145;font-size:.84rem;display:block;margin-top:.4rem;max-width:64ch}td.links{width:7rem;text-align:right;font-family:ibm plex mono,monospace;font-size:.72rem}.placeholder{color:var(--muted);font-size:.9rem;padding:1.2rem 0;border-bottom:1px solid var(--rule);max-width:64ch}.placeholder .mono{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);display:block;margin-bottom:.3rem}.dataset{display:grid;grid-template-columns:1fr 3fr;gap:2rem;padding:1.8rem 0;border-bottom:1px solid var(--rule)}.dataset .ds-meta .tag{font-family:ibm plex mono,monospace;font-size:.68rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;display:block}.dataset .ds-meta .status{font-family:ibm plex mono,monospace;font-size:.68rem;color:var(--muted);display:block;margin-top:.4rem}.dataset h2{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.dataset p{font-size:.9rem;color:#3a4145;max-width:64ch}.dataset .ds-links{margin-top:.6rem;font-family:ibm plex mono,monospace;font-size:.72rem}.dataset .ds-links a{margin-right:1rem}.news-item{padding:1.8rem 0;border-bottom:1px solid var(--rule)}.news-item .nd{font-family:ibm plex mono,monospace;font-size:.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.news-item h2{font-size:1.15rem;font-weight:600;margin:.4rem 0 .6rem}.news-item .nbody{font-size:.92rem;color:#3a4145;max-width:66ch}.news-item .nbody p+p{margin-top:.7rem}.pagehead{padding:3.2rem 0 0}.pagehead h1{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;border-bottom:1px solid var(--ink);padding-bottom:1.2rem}.pagelede{margin-top:1.2rem;color:var(--muted);max-width:66ch}.pubgroup{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin:2.8rem 0 1.2rem;color:var(--accent)}.prose{padding:1.5rem 0 3rem;max-width:70ch;font-size:.95rem}.prose p+p,.prose h2,.prose h3,.prose ul{margin-top:1rem}.prose h2{font-size:1.1rem}.prose ul{padding-left:1.2rem}.site-footer{padding:2.5rem 0 3.5rem;font-size:.8rem;color:var(--muted)}.footrow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.site-footer .mono{font-size:.72rem}.site-footer .mono a{font-weight:500;margin-left:.9rem}.site-footer .mono a:first-child{margin-left:0}@media(max-width:880px){.hero{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem}.hero h1{font-size:1.9rem}.hero-side{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;align-items:start;border-top:none;padding-top:0}.grid,.grid.two{grid-template-columns:1fr}.compare{grid-template-columns:1fr}.people{grid-template-columns:1fr}.wp,.dataset{grid-template-columns:1fr;gap:.8rem}.q{grid-template-columns:3rem 1fr;gap:.8rem}.frame{padding:0 1.2rem}}@media(max-width:560px){.hero-side{grid-template-columns:1fr}td.links{display:none}}