@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');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@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');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/newsreader-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/newsreader-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--paper:#F6F3EC;--paper-2:#EEE9DF;--ink:#16150F;--ink-2:#5E5A50;--rule:rgba(22,21,15,.14);--accent:#C2410C;--accent-d:#9A3412;--up:#166534;--down:#991B1B;--flag:#92400E;--flag-bg:#FBF1DC;
--serif:"Newsreader",Georgia,serif;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;--w:1240px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);overflow-wrap:break-word}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}a:hover{text-decoration-color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
main{max-width:var(--w);margin:0 auto;padding:0 32px 32px}
h1{font:400 clamp(2.25rem,4.5vw,3.75rem)/1.04 var(--serif);letter-spacing:-.02em;margin:28px 0 20px;max-width:22ch}
h2{font:400 1.75rem/1.15 var(--serif);letter-spacing:-.01em;margin:48px 0 14px}
h3{font:500 15px/1.3 var(--sans);margin:20px 0 10px}
p,li{max-width:72ch}
.label,.meta,small,th,dt,.crumbs,.ax{font-family:var(--mono)}
.label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0}
.meta,small{font-size:12px;color:var(--ink-2)}
.muted{color:var(--ink-2)}
.num,.lb td b,.stats b,.price b,.bigfig{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:400}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* header */
.top{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--rule)}
.bar{max-width:var(--w);margin:0 auto;padding:0 32px;height:60px;display:flex;align-items:center;gap:40px}
.logo{font:500 22px/1 var(--serif);letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.top nav{display:flex;gap:28px;flex:1;font-size:14px}.top nav a{text-decoration:none}.top nav a:hover{text-decoration:underline}
.submit{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.crumbs{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:24px 0 0}.crumbs a{text-decoration:none}
/* buttons & links */
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:2px;padding:12px 20px;font:500 15px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--accent-d)}.btn.sec{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.btn.dis{opacity:.5;cursor:not-allowed}
.link,.corr{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.link:hover,.corr:hover{text-decoration:underline}
.cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:40px 0}
/* hero */
.hero{padding:56px 0 32px;border-bottom:1px solid var(--rule);margin-bottom:8px}.hero p{font-size:18px;color:var(--ink-2);max-width:40em}
.hero.home{position:relative;margin:0 -32px;padding:0;overflow:hidden}
.grain{position:absolute;inset:0;z-index:0}.grain canvas{display:block}
.hgrid{position:relative;z-index:1;display:grid;grid-template-columns:7fr 5fr;gap:64px;padding:13vh 32px 10vh}
.hero.home h1{font-size:clamp(2.75rem,6vw,5.5rem);line-height:1;margin:22px 0 26px;max-width:none}
.hero .sub{font-size:18px;max-width:34em;margin:0 0 32px}
.index{align-self:end;border-top:1px solid var(--ink)}.index dl{margin:0}
.index dl>div{display:grid;grid-template-columns:1fr auto;padding:15px 0;border-bottom:1px solid var(--rule)}
.index dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.index dd{margin:0;font-size:28px;grid-row:span 2;align-self:center;text-align:right}
.index .meta{letter-spacing:.02em}.accent{color:var(--accent)}
/* sections */
.sec{padding-top:96px}.sh{border-top:1px solid var(--ink);padding-top:14px;margin-bottom:28px}.sh h2{margin:10px 0 0}
.split{display:grid;grid-template-columns:1fr 1fr}.split>div:first-child{padding-right:40px;border-right:1px solid var(--rule)}.split>div:last-child{padding-left:40px}
.split h3{display:flex;justify-content:space-between;align-items:baseline;margin-top:0}
.note2{font-size:13px;color:var(--ink-2);margin:16px 0 0}
.two{display:grid;gap:0 64px}@media(min-width:900px){.two{grid-template-columns:1fr 1fr}}
.card{background:transparent;border:0;border-top:1px solid var(--rule);border-radius:0;padding:20px 0;margin:24px 0}
.card>h2:first-child,.card>h3:first-child{margin-top:0}
.two>.card{margin-top:0}
/* tables */
.tw{overflow-x:auto}
table{border-collapse:collapse}
.lb{width:100%;font-size:14px}
.lb th{font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--ink);white-space:nowrap}
.lb td{padding:11px 10px 11px 0;border-bottom:1px solid var(--rule);vertical-align:baseline;text-align:left}
.lb td a{font-weight:500;text-decoration:none}.lb td a:hover{text-decoration:underline}
.lb small,.lb .meta{display:block;font-size:10.5px;letter-spacing:.04em;margin-top:2px;color:var(--ink-2)}
.lb .n,.lb td:first-child{font-family:var(--mono);font-size:12px;color:var(--ink-2);width:44px}
.lb .r,.r{text-align:right}.lb th.r{text-align:right}.lb th:last-child,.lb td:last-child{padding-right:0}
.lb th.s{cursor:pointer;color:var(--ink)}.lb tr.grp td{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:var(--paper-2);padding:8px 10px}
.lb td b{font-size:14px}
.lbm td:nth-child(3),.lbm td:nth-child(4){text-align:right;white-space:nowrap}
.lbm td:nth-child(5) .badge{white-space:normal}
.lb td.num{white-space:nowrap}
.rank td:nth-child(4) .badge{font-size:10px}
.cmp th{text-align:left;color:var(--ink-2);font-weight:400;font-size:12px}.cmp td{white-space:normal}
/* source tags instead of pills */
.badge{display:inline-block;font:400 11px/1.4 var(--mono);letter-spacing:.04em;color:var(--ink-2);text-decoration:none;padding:0;background:none;border-radius:0}
.badge::before{content:"";display:inline-block;width:6px;height:6px;background:var(--ink);margin-right:6px;vertical-align:1px}
.badge.pu::before{background:transparent;box-shadow:inset 0 0 0 1px var(--ink)}.badge.est::before{background:var(--ink-2)}
.pill{display:inline;font:400 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;margin-left:6px;padding:0;background:none}
.pill::before{content:"· "}a.pill:hover{color:var(--ink)}
.up{color:var(--up)}.down{color:var(--down)}
/* lists */
.prev{list-style:none;padding:0;margin:0}
.prev li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:baseline;max-width:none;font-size:15px}
.prev li:first-child{border-top:1px solid var(--rule)}
.prev .rk{font:400 12px var(--mono);color:var(--ink-2)}.prev a{font-weight:500;text-decoration:none}.prev b{font:400 14px var(--mono);text-align:right;font-variant-numeric:tabular-nums}
.prev .badge,.prev small{grid-column:2}
.recent li{grid-template-columns:96px minmax(0,1fr) auto}
.tdl li{grid-template-columns:44px minmax(0,1fr) minmax(0,1.2fr)}.tdl li a{font:400 22px/1.2 var(--serif)}.tdl .dek{color:var(--ink-2);font-size:14px}
.cols{columns:1;padding-left:18px}@media(min-width:800px){.cols{columns:2}}
/* sponsor = classified */
.spons{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 0;margin:72px 0 0}
.spons p{margin:0;font:400 18px/1.35 var(--serif);max-width:none}.spons p a{text-decoration:none}.spons small{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.strip2{display:grid;gap:0}
/* stat strips */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:24px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.stats div{padding:14px 16px 14px 0;border-right:1px solid var(--rule);margin-right:16px}.stats div:last-child{border-right:0}
.stats b{display:block;font-size:24px;line-height:1.2}.stats span{font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
/* detail */
.dhead{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;align-items:end;padding:8px 0 24px}
.dh{display:flex;gap:16px;align-items:center}.dh h1{margin:8px 0 6px}.dh .meta{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.ic{width:52px;height:52px;border-radius:10px;flex:none;object-fit:cover;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule)}
.ini{display:inline-flex;align-items:center;justify-content:center;font:500 16px var(--mono);color:var(--ink-2)}
.dfig{text-align:right;border-top:1px solid var(--ink);padding-top:12px}
.bigfig{font-size:clamp(2.5rem,5vw,4rem);line-height:1;margin:0 0 8px;letter-spacing:-.02em}
.srctag{margin:10px 0 0}
.asof{font:400 12px var(--mono);color:var(--ink-2);margin:12px 0 0}
.dgrid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:56px;align-items:start}
.dside{position:sticky;top:84px;display:grid;gap:28px}
.srcbox{border-top:1px solid var(--ink);padding-top:14px;font-size:14px}.srcbox .label{margin-top:16px}.srcbox .label:first-child{margin-top:0}.srcbox p{margin:6px 0}
.vby{font:400 20px/1.3 var(--serif);margin:8px 0 10px!important}
.simbox{border-top:1px solid var(--ink);padding-top:14px}.simbox .prev li{grid-template-columns:32px minmax(0,1fr);font-size:14px}.simbox .prev b{grid-column:2;text-align:left;font-size:12px;color:var(--ink-2)}
.dmain>h2:first-child{margin-top:16px}
.facts{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--rule)}@media(min-width:800px){.facts{grid-template-columns:repeat(3,1fr)}}
.facts div{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule)}.facts dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.facts dd{margin:2px 0 0}
.case{border-left:2px solid var(--ink);padding:2px 0 2px 20px;margin:28px 0}.case h2{margin-top:8px}.case li{margin:6px 0}
.chartf{margin:8px 0 20px}.chart{width:100%;height:auto;display:block}
.chart .gl{stroke:var(--rule);stroke-width:1}.chart .bl{stroke:var(--ink);stroke-width:1}.chart .ax{font-size:11px;fill:var(--ink-2)}.chart circle{cursor:pointer}
.chartf figcaption{font-size:13px;margin-top:8px}.lg{display:inline-flex;align-items:center;gap:6px;margin-right:14px;font:400 11px var(--mono)}.lg i{width:14px;height:2px;display:inline-block}
.code{width:100%;background:var(--paper-2);color:var(--ink);border:1px solid var(--rule);border-radius:0;padding:10px;font:12px/1.5 var(--mono);margin-top:8px}
.pp summary{cursor:pointer;font:400 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.calc{border-bottom:1px dotted var(--ink-2);cursor:help}
/* notices */
.stale,.acq{color:var(--flag)}p.stale,p.acq{background:var(--flag-bg);border-left:2px solid var(--flag);padding:8px 12px;font-size:14px}
.stalem{font:400 10.5px var(--mono);letter-spacing:.04em;color:var(--flag);margin-left:6px;white-space:nowrap}
.note{border-left:2px solid var(--ink-2);background:var(--paper-2);padding:8px 12px;font-size:14px;color:var(--ink)}
.unr{border-top:1px solid var(--flag)}.unr h2{font-size:1.4rem}
.sale{color:var(--accent)}
.todo{display:block;margin-top:6px;color:var(--flag);font-size:11px}
/* forms */
.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:24px 0 8px}.filters #q{grid-column:1/-1}
@media(min-width:900px){.filters{grid-template-columns:2fr repeat(4,1fr)}.filters #q{grid-column:auto}}
input,select,textarea{width:100%;padding:10px 12px;border-radius:0;border:1px solid var(--rule);border-bottom-color:var(--ink);background:#FBF9F4;color:var(--ink);font:400 14px var(--sans)}
select{font-family:var(--mono);font-size:12px}
label{display:block;margin:12px 0;font-size:14px}fieldset{border:1px solid var(--rule);border-radius:0;padding:12px}legend{font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.r input{width:auto}label.r{display:inline-block;margin-right:16px}
/* advertise */
.tiers{display:grid;gap:0 40px}@media(min-width:900px){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{border-top:1px solid var(--ink);margin:24px 0 0}.tier h3{font:400 22px var(--serif);margin:0 0 4px}.price b{font-size:30px}.tier details{margin-top:8px;font-size:14px}
.counter{font:400 15px var(--mono)!important;color:var(--ink)!important}
.toggle{display:inline-flex;border:1px solid var(--ink);margin:8px 0}.toggle button{background:none;border:0;color:var(--ink);padding:8px 14px;font:400 12px var(--mono);cursor:pointer}.toggle .on{background:var(--ink);color:var(--paper)}
.cal{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}@media(min-width:800px){.cal{grid-template-columns:repeat(4,1fr)}}
.wk{padding:10px 0;border-bottom:1px solid var(--rule)}.wk b{display:block;font:400 13px var(--mono)}.wk span{font-size:13px}.wk.av span{color:var(--up)}.wk.bk span{color:var(--down)}
.dot{display:inline-block;width:8px;height:8px;margin:0 4px 0 10px}.dot.av{background:var(--up)}.dot.bk{background:var(--down)}
.pick select{width:100%;max-width:100%}
/* hubs, glossary, teardowns, report */
.cats{display:grid;grid-template-columns:1fr;gap:0 32px}@media(min-width:700px){.cats{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.cats{grid-template-columns:repeat(3,1fr)}}
.catc{display:block;margin:0;padding:14px 0;border-top:0;border-bottom:1px solid var(--rule);text-decoration:none}.catc b{display:block;font:400 20px var(--serif)}.catc span{font-size:13px;color:var(--ink-2)}
.gl dt{font:400 20px var(--serif);margin-top:20px;letter-spacing:0;text-transform:none;color:var(--ink)}.gl dd{margin:4px 0 0;max-width:72ch}
.td{max-width:760px}.td h1{max-width:none}.td h2{margin-top:2.2rem}.td table{font-size:.9rem}.td li,.td p{line-height:1.7}
.rp img{max-width:100%;height:auto;border:1px solid var(--rule)}.toc li{margin:.3rem 0}
.badges{display:flex;flex-wrap:wrap;gap:12px}.badges figure{margin:0}.badges img{max-width:100%;height:auto}
.lead{font-size:18px;color:var(--ink-2)}
/* footer */
.foot{max-width:var(--w);margin:112px auto 0;padding:28px 32px 48px;border-top:1px solid var(--ink)}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:24px}
.fgrid div>a:not(.logo){display:block;font-size:13px;color:var(--ink-2);text-decoration:none;padding:3px 0}.fgrid a:hover{color:var(--ink)}
.fgrid .label{margin-bottom:8px}.flinks{margin:32px 0 0;font-size:12px}
/* responsive */
@media(max-width:900px){.hgrid,.split,.dhead,.dgrid{grid-template-columns:minmax(0,1fr);gap:40px}.split>div:first-child{padding:0;border:0}.split>div:last-child{padding:0}.dfig{text-align:left}.dside{position:static}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 main{padding:0 20px 24px}.bar{padding:0 20px;gap:16px}.top nav{display:none}.bar .logo{flex:1}
 .hero.home{margin:0 -20px}.hgrid{padding:48px 20px}.hero .sub{font-size:16px}.sec{padding-top:72px}
 .hm{display:none}
 .spons{grid-template-columns:1fr;gap:6px;margin-top:56px}
 .recent li{grid-template-columns:minmax(0,1fr) auto}.recent .rk{grid-column:1/-1}
 .tdl li{grid-template-columns:32px minmax(0,1fr)}.tdl .dek{grid-column:2}
 .prev li{grid-template-columns:32px minmax(0,1fr) auto}
 /* leaderboard becomes a ranked list */
 .lbm thead{display:none}.lbm,.lbm tbody{display:block}
 .lbm tr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"n p v" "n p g";column-gap:10px;padding:12px 0;border-bottom:1px solid var(--rule)}
 .lbm td{border:0;padding:0}.lbm td:nth-child(1){grid-area:n}.lbm td:nth-child(2){grid-area:p}.lbm td:nth-child(3){grid-area:v}.lbm td:nth-child(4){grid-area:g;font-size:12px}
 .lbm tr.grp{display:block;padding:0}.lbm tr.grp td{display:block}
 .lb td,.lb th{padding-right:8px}
 .stats{grid-template-columns:1fr 1fr}.stats div{border-right:0;border-bottom:1px solid var(--rule);margin-right:0}
 .fgrid{grid-template-columns:1fr 1fr}.foot{padding:24px 20px 40px}
}
@media (prefers-reduced-motion:no-preference){.hero.home .lede{animation:rise .6s cubic-bezier(.22,1,.36,1) both}@keyframes rise{from{opacity:0;transform:translateY(8px)}}}
.dside{grid-template-columns:minmax(0,1fr)}.srcs li,.srcbox p{overflow-wrap:anywhere}
